Index: EcnlProtoTool/trunk/webapp/webmrbc/mrbc.js
===================================================================
--- EcnlProtoTool/trunk/webapp/webmrbc/mrbc.js	(revision 321)
+++ EcnlProtoTool/trunk/webapp/webmrbc/mrbc.js	(revision 439)
@@ -1,2 +1,23 @@
+
+
+// The Module object: Our interface to the outside world. We import
+// and export values on it. There are various ways Module can be used:
+// 1. Not defined. We create it here
+// 2. A function parameter, function(Module) { ..generated code.. }
+// 3. pre-run appended it, var Module = {}; ..generated code..
+// 4. External script tag defines var Module.
+// We need to check if Module already exists (e.g. case 3 above).
+// Substitution will be replaced with actual code on later stage of the build,
+// this way Closure Compiler will not mangle it (e.g. case 4. above).
+// Note that if you want to run closure, and also to use Module
+// after the generated code, you will need to define   var Module = {};
+// before the code. Then that object will be used in the code, and you
+// can continue to use Module afterwards as well.
+var Module = typeof Module !== 'undefined' ? Module : {};
+
+
+
+// --pre-jses are emitted after the Module integration code, so that they can
+// refer to Module (if they choose; they can also define Module)
 var mrbc = function(Module) {
   Module['preRun'].push(function () {
@@ -4,21 +25,5 @@
   });
 
-// The Module object: Our interface to the outside world. We import
-// and export values on it, and do the work to get that through
-// closure compiler if necessary. There are various ways Module can be used:
-// 1. Not defined. We create it here
-// 2. A function parameter, function(Module) { ..generated code.. }
-// 3. pre-run appended it, var Module = {}; ..generated code..
-// 4. External script tag defines var Module.
-// We need to do an eval in order to handle the closure compiler
-// case, where this code here is minified but Module was defined
-// elsewhere (e.g. case 4 above). We also need to check if Module
-// already exists (e.g. case 3 above).
-// Note that if you want to run closure, and also to use Module
-// after the generated code, you will need to define   var Module = {};
-// before the code. Then that object will be used in the code, and you
-// can continue to use Module afterwards as well.
-var Module;
-if (!Module) Module = (typeof Module !== 'undefined' ? Module : null) || {};
+
 
 // Sometimes an existing Module object exists with properties
@@ -28,5 +33,6 @@
 // defensive during initialization.
 var moduleOverrides = {};
-for (var key in Module) {
+var key;
+for (key in Module) {
   if (Module.hasOwnProperty(key)) {
     moduleOverrides[key] = Module[key];
@@ -34,55 +40,67 @@
 }
 
-// The environment setup code below is customized to use Module.
-// *** Environment setup code ***
+var arguments_ = [];
+var thisProgram = './this.program';
+var quit_ = function(status, toThrow) {
+  throw toThrow;
+};
+
+// Determine the runtime environment we are in. You can customize this by
+// setting the ENVIRONMENT setting at compile time (see settings.js).
+
 var ENVIRONMENT_IS_WEB = false;
 var ENVIRONMENT_IS_WORKER = false;
 var ENVIRONMENT_IS_NODE = false;
 var ENVIRONMENT_IS_SHELL = false;
-
-// Three configurations we can be running in:
-// 1) We could be the application main() thread running in the main JS UI thread. (ENVIRONMENT_IS_WORKER == false and ENVIRONMENT_IS_PTHREAD == false)
-// 2) We could be the application main() thread proxied to worker. (with Emscripten -s PROXY_TO_WORKER=1) (ENVIRONMENT_IS_WORKER == true, ENVIRONMENT_IS_PTHREAD == false)
-// 3) We could be an application pthread running in a worker. (ENVIRONMENT_IS_WORKER == true and ENVIRONMENT_IS_PTHREAD == true)
+ENVIRONMENT_IS_WEB = typeof window === 'object';
+ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
+// N.b. Electron.js environment is simultaneously a NODE-environment, but
+// also a web environment.
+ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string';
+ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
 
 if (Module['ENVIRONMENT']) {
-  if (Module['ENVIRONMENT'] === 'WEB') {
-    ENVIRONMENT_IS_WEB = true;
-  } else if (Module['ENVIRONMENT'] === 'WORKER') {
-    ENVIRONMENT_IS_WORKER = true;
-  } else if (Module['ENVIRONMENT'] === 'NODE') {
-    ENVIRONMENT_IS_NODE = true;
-  } else if (Module['ENVIRONMENT'] === 'SHELL') {
-    ENVIRONMENT_IS_SHELL = true;
+  throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)');
+}
+
+
+
+// `/` should be present at the end if `scriptDirectory` is not empty
+var scriptDirectory = '';
+function locateFile(path) {
+  if (Module['locateFile']) {
+    return Module['locateFile'](path, scriptDirectory);
+  }
+  return scriptDirectory + path;
+}
+
+// Hooks that are implemented differently in different runtime environments.
+var read_,
+    readAsync,
+    readBinary,
+    setWindowTitle;
+
+var nodeFS;
+var nodePath;
+
+if (ENVIRONMENT_IS_NODE) {
+  if (ENVIRONMENT_IS_WORKER) {
+    scriptDirectory = require('path').dirname(scriptDirectory) + '/';
   } else {
-    throw new Error('The provided Module[\'ENVIRONMENT\'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.');
-  }
-} else {
-  ENVIRONMENT_IS_WEB = typeof window === 'object';
-  ENVIRONMENT_IS_WORKER = typeof importScripts === 'function';
-  ENVIRONMENT_IS_NODE = typeof process === 'object' && typeof require === 'function' && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
-  ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
-}
-
-
-if (ENVIRONMENT_IS_NODE) {
-  // Expose functionality in the same simple way that the shells work
-  // Note that we pollute the global namespace here, otherwise we break in node
-  if (!Module['print']) Module['print'] = console.log;
-  if (!Module['printErr']) Module['printErr'] = console.warn;
-
-  var nodeFS;
-  var nodePath;
-
-  Module['read'] = function read(filename, binary) {
+    scriptDirectory = __dirname + '/';
+  }
+
+
+
+
+  read_ = function shell_read(filename, binary) {
     if (!nodeFS) nodeFS = require('fs');
     if (!nodePath) nodePath = require('path');
     filename = nodePath['normalize'](filename);
-    var ret = nodeFS['readFileSync'](filename);
-    return binary ? ret : ret.toString();
+    return nodeFS['readFileSync'](filename, binary ? null : 'utf8');
   };
 
-  Module['readBinary'] = function readBinary(filename) {
-    var ret = Module['read'](filename, true);
+  readBinary = function readBinary(filename) {
+    var ret = read_(filename, true);
     if (!ret.buffer) {
       ret = new Uint8Array(ret);
@@ -92,17 +110,12 @@
   };
 
-  Module['load'] = function load(f) {
-    globalEval(read(f));
-  };
-
-  if (!Module['thisProgram']) {
-    if (process['argv'].length > 1) {
-      Module['thisProgram'] = process['argv'][1].replace(/\\/g, '/');
-    } else {
-      Module['thisProgram'] = 'unknown-program';
-    }
-  }
-
-  Module['arguments'] = process['argv'].slice(2);
+
+
+
+  if (process['argv'].length > 1) {
+    thisProgram = process['argv'][1].replace(/\\/g, '/');
+  }
+
+  arguments_ = process['argv'].slice(2);
 
   if (typeof module !== 'undefined') {
@@ -117,21 +130,30 @@
   });
 
+  process['on']('unhandledRejection', abort);
+
+  quit_ = function(status) {
+    process['exit'](status);
+  };
+
   Module['inspect'] = function () { return '[Emscripten Module object]'; };
-}
-else if (ENVIRONMENT_IS_SHELL) {
-  if (!Module['print']) Module['print'] = print;
-  if (typeof printErr != 'undefined') Module['printErr'] = printErr; // not present in v8 or older sm
+
+
+
+} else
+if (ENVIRONMENT_IS_SHELL) {
+
 
   if (typeof read != 'undefined') {
-    Module['read'] = read;
-  } else {
-    Module['read'] = function read() { throw 'no read() available' };
-  }
-
-  Module['readBinary'] = function readBinary(f) {
+    read_ = function shell_read(f) {
+      return read(f);
+    };
+  }
+
+  readBinary = function readBinary(f) {
+    var data;
     if (typeof readbuffer === 'function') {
       return new Uint8Array(readbuffer(f));
     }
-    var data = read(f, 'binary');
+    data = read(f, 'binary');
     assert(typeof data === 'object');
     return data;
@@ -139,35 +161,70 @@
 
   if (typeof scriptArgs != 'undefined') {
-    Module['arguments'] = scriptArgs;
+    arguments_ = scriptArgs;
   } else if (typeof arguments != 'undefined') {
-    Module['arguments'] = arguments;
+    arguments_ = arguments;
   }
 
   if (typeof quit === 'function') {
-    Module['quit'] = function(status, toThrow) {
+    quit_ = function(status) {
       quit(status);
-    }
-  }
-
-}
-else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
-  Module['read'] = function read(url) {
-    var xhr = new XMLHttpRequest();
-    xhr.open('GET', url, false);
-    xhr.send(null);
-    return xhr.responseText;
-  };
-
-  if (ENVIRONMENT_IS_WORKER) {
-    Module['readBinary'] = function read(url) {
+    };
+  }
+
+  if (typeof print !== 'undefined') {
+    // Prefer to use print/printErr where they exist, as they usually work better.
+    if (typeof console === 'undefined') console = /** @type{!Console} */({});
+    console.log = /** @type{!function(this:Console, ...*): undefined} */ (print);
+    console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr !== 'undefined' ? printErr : print);
+  }
+
+
+} else
+
+// Note that this includes Node.js workers when relevant (pthreads is enabled).
+// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and
+// ENVIRONMENT_IS_NODE.
+if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
+  if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled
+    scriptDirectory = self.location.href;
+  } else if (document.currentScript) { // web
+    scriptDirectory = document.currentScript.src;
+  }
+  // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
+  // otherwise, slice off the final part of the url to find the script directory.
+  // if scriptDirectory does not contain a slash, lastIndexOf will return -1,
+  // and scriptDirectory will correctly be replaced with an empty string.
+  if (scriptDirectory.indexOf('blob:') !== 0) {
+    scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1);
+  } else {
+    scriptDirectory = '';
+  }
+
+
+  // Differentiate the Web Worker from the Node Worker case, as reading must
+  // be done differently.
+  {
+
+
+
+
+  read_ = function shell_read(url) {
       var xhr = new XMLHttpRequest();
       xhr.open('GET', url, false);
-      xhr.responseType = 'arraybuffer';
       xhr.send(null);
-      return xhr.response;
+      return xhr.responseText;
+  };
+
+  if (ENVIRONMENT_IS_WORKER) {
+    readBinary = function readBinary(url) {
+        var xhr = new XMLHttpRequest();
+        xhr.open('GET', url, false);
+        xhr.responseType = 'arraybuffer';
+        xhr.send(null);
+        return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response));
     };
   }
 
-  Module['readAsync'] = function readAsync(url, onload, onerror) {
+  readAsync = function readAsync(url, onload, onerror) {
     var xhr = new XMLHttpRequest();
     xhr.open('GET', url, true);
@@ -176,7 +233,7 @@
       if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0
         onload(xhr.response);
-      } else {
-        onerror();
+        return;
       }
+      onerror();
     };
     xhr.onerror = onerror;
@@ -184,76 +241,23 @@
   };
 
-  if (typeof arguments != 'undefined') {
-    Module['arguments'] = arguments;
-  }
-
-  if (typeof console !== 'undefined') {
-    if (!Module['print']) Module['print'] = function print(x) {
-      console.log(x);
-    };
-    if (!Module['printErr']) Module['printErr'] = function printErr(x) {
-      console.warn(x);
-    };
-  } else {
-    // Probably a worker, and without console.log. We can do very little here...
-    var TRY_USE_DUMP = false;
-    if (!Module['print']) Module['print'] = (TRY_USE_DUMP && (typeof(dump) !== "undefined") ? (function(x) {
-      dump(x);
-    }) : (function(x) {
-      // self.postMessage(x); // enable this if you want stdout to be sent as messages
-    }));
-  }
-
-  if (ENVIRONMENT_IS_WORKER) {
-    Module['load'] = importScripts;
-  }
-
-  if (typeof Module['setWindowTitle'] === 'undefined') {
-    Module['setWindowTitle'] = function(title) { document.title = title };
-  }
-}
-else {
-  // Unreachable because SHELL is dependant on the others
-  throw 'Unknown runtime environment. Where are we?';
-}
-
-function globalEval(x) {
-  eval.call(null, x);
-}
-if (!Module['load'] && Module['read']) {
-  Module['load'] = function load(f) {
-    globalEval(Module['read'](f));
-  };
-}
-if (!Module['print']) {
-  Module['print'] = function(){};
-}
-if (!Module['printErr']) {
-  Module['printErr'] = Module['print'];
-}
-if (!Module['arguments']) {
-  Module['arguments'] = [];
-}
-if (!Module['thisProgram']) {
-  Module['thisProgram'] = './this.program';
-}
-if (!Module['quit']) {
-  Module['quit'] = function(status, toThrow) {
-    throw toThrow;
-  }
-}
-
-// *** Environment setup code ***
-
-// Closure helpers
-Module.print = Module['print'];
-Module.printErr = Module['printErr'];
-
-// Callbacks
-Module['preRun'] = [];
-Module['postRun'] = [];
+
+
+
+  }
+
+  setWindowTitle = function(title) { document.title = title };
+} else
+{
+  throw new Error('environment detection error');
+}
+
+
+// Set up the out() and err() hooks, which are how we can print to stdout or
+// stderr, respectively.
+var out = Module['print'] || console.log.bind(console);
+var err = Module['printErr'] || console.warn.bind(console);
 
 // Merge back in the overrides
-for (var key in moduleOverrides) {
+for (key in moduleOverrides) {
   if (moduleOverrides.hasOwnProperty(key)) {
     Module[key] = moduleOverrides[key];
@@ -262,9 +266,336 @@
 // Free the object hierarchy contained in the overrides, this lets the GC
 // reclaim data used e.g. in memoryInitializerRequest, which is a large typed array.
-moduleOverrides = undefined;
+moduleOverrides = null;
+
+// Emit code to handle expected values on the Module object. This applies Module.x
+// to the proper local x. This has two benefits: first, we only emit it if it is
+// expected to arrive, and second, by using a local everywhere else that can be
+// minified.
+if (Module['arguments']) arguments_ = Module['arguments'];if (!Object.getOwnPropertyDescriptor(Module, 'arguments')) Object.defineProperty(Module, 'arguments', { configurable: true, get: function() { abort('Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
+if (Module['thisProgram']) thisProgram = Module['thisProgram'];if (!Object.getOwnPropertyDescriptor(Module, 'thisProgram')) Object.defineProperty(Module, 'thisProgram', { configurable: true, get: function() { abort('Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
+if (Module['quit']) quit_ = Module['quit'];if (!Object.getOwnPropertyDescriptor(Module, 'quit')) Object.defineProperty(Module, 'quit', { configurable: true, get: function() { abort('Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
+
+// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
+// Assertions on removed incoming Module JS APIs.
+assert(typeof Module['memoryInitializerPrefixURL'] === 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead');
+assert(typeof Module['pthreadMainPrefixURL'] === 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead');
+assert(typeof Module['cdInitializerPrefixURL'] === 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead');
+assert(typeof Module['filePackagePrefixURL'] === 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead');
+assert(typeof Module['read'] === 'undefined', 'Module.read option was removed (modify read_ in JS)');
+assert(typeof Module['readAsync'] === 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)');
+assert(typeof Module['readBinary'] === 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)');
+assert(typeof Module['setWindowTitle'] === 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)');
+assert(typeof Module['TOTAL_MEMORY'] === 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY');
+if (!Object.getOwnPropertyDescriptor(Module, 'read')) Object.defineProperty(Module, 'read', { configurable: true, get: function() { abort('Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
+if (!Object.getOwnPropertyDescriptor(Module, 'readAsync')) Object.defineProperty(Module, 'readAsync', { configurable: true, get: function() { abort('Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
+if (!Object.getOwnPropertyDescriptor(Module, 'readBinary')) Object.defineProperty(Module, 'readBinary', { configurable: true, get: function() { abort('Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
+if (!Object.getOwnPropertyDescriptor(Module, 'setWindowTitle')) Object.defineProperty(Module, 'setWindowTitle', { configurable: true, get: function() { abort('Module.setWindowTitle has been replaced with plain setWindowTitle (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
+var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js';
+var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js';
+var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js';
+var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js';
+
+
+
 
 
 
 // {{PREAMBLE_ADDITIONS}}
+
+var STACK_ALIGN = 16;
+
+function dynamicAlloc(size) {
+  assert(DYNAMICTOP_PTR);
+  var ret = HEAP32[DYNAMICTOP_PTR>>2];
+  var end = (ret + size + 15) & -16;
+  assert(end <= HEAP8.length, 'failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly');
+  HEAP32[DYNAMICTOP_PTR>>2] = end;
+  return ret;
+}
+
+function alignMemory(size, factor) {
+  if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default
+  return Math.ceil(size / factor) * factor;
+}
+
+function getNativeTypeSize(type) {
+  switch (type) {
+    case 'i1': case 'i8': return 1;
+    case 'i16': return 2;
+    case 'i32': return 4;
+    case 'i64': return 8;
+    case 'float': return 4;
+    case 'double': return 8;
+    default: {
+      if (type[type.length-1] === '*') {
+        return 4; // A pointer
+      } else if (type[0] === 'i') {
+        var bits = Number(type.substr(1));
+        assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type);
+        return bits / 8;
+      } else {
+        return 0;
+      }
+    }
+  }
+}
+
+function warnOnce(text) {
+  if (!warnOnce.shown) warnOnce.shown = {};
+  if (!warnOnce.shown[text]) {
+    warnOnce.shown[text] = 1;
+    err(text);
+  }
+}
+
+
+
+
+
+
+
+
+// Wraps a JS function as a wasm function with a given signature.
+function convertJsFunctionToWasm(func, sig) {
+
+  // If the type reflection proposal is available, use the new
+  // "WebAssembly.Function" constructor.
+  // Otherwise, construct a minimal wasm module importing the JS function and
+  // re-exporting it.
+  if (typeof WebAssembly.Function === "function") {
+    var typeNames = {
+      'i': 'i32',
+      'j': 'i64',
+      'f': 'f32',
+      'd': 'f64'
+    };
+    var type = {
+      parameters: [],
+      results: sig[0] == 'v' ? [] : [typeNames[sig[0]]]
+    };
+    for (var i = 1; i < sig.length; ++i) {
+      type.parameters.push(typeNames[sig[i]]);
+    }
+    return new WebAssembly.Function(type, func);
+  }
+
+  // The module is static, with the exception of the type section, which is
+  // generated based on the signature passed in.
+  var typeSection = [
+    0x01, // id: section,
+    0x00, // length: 0 (placeholder)
+    0x01, // count: 1
+    0x60, // form: func
+  ];
+  var sigRet = sig.slice(0, 1);
+  var sigParam = sig.slice(1);
+  var typeCodes = {
+    'i': 0x7f, // i32
+    'j': 0x7e, // i64
+    'f': 0x7d, // f32
+    'd': 0x7c, // f64
+  };
+
+  // Parameters, length + signatures
+  typeSection.push(sigParam.length);
+  for (var i = 0; i < sigParam.length; ++i) {
+    typeSection.push(typeCodes[sigParam[i]]);
+  }
+
+  // Return values, length + signatures
+  // With no multi-return in MVP, either 0 (void) or 1 (anything else)
+  if (sigRet == 'v') {
+    typeSection.push(0x00);
+  } else {
+    typeSection = typeSection.concat([0x01, typeCodes[sigRet]]);
+  }
+
+  // Write the overall length of the type section back into the section header
+  // (excepting the 2 bytes for the section id and length)
+  typeSection[1] = typeSection.length - 2;
+
+  // Rest of the module is static
+  var bytes = new Uint8Array([
+    0x00, 0x61, 0x73, 0x6d, // magic ("\0asm")
+    0x01, 0x00, 0x00, 0x00, // version: 1
+  ].concat(typeSection, [
+    0x02, 0x07, // import section
+      // (import "e" "f" (func 0 (type 0)))
+      0x01, 0x01, 0x65, 0x01, 0x66, 0x00, 0x00,
+    0x07, 0x05, // export section
+      // (export "f" (func 0 (type 0)))
+      0x01, 0x01, 0x66, 0x00, 0x00,
+  ]));
+
+   // We can compile this wasm module synchronously because it is very small.
+  // This accepts an import (at "e.f"), that it reroutes to an export (at "f")
+  var module = new WebAssembly.Module(bytes);
+  var instance = new WebAssembly.Instance(module, {
+    'e': {
+      'f': func
+    }
+  });
+  var wrappedFunc = instance.exports['f'];
+  return wrappedFunc;
+}
+
+var freeTableIndexes = [];
+
+// Weak map of functions in the table to their indexes, created on first use.
+var functionsInTableMap;
+
+// Add a wasm function to the table.
+function addFunctionWasm(func, sig) {
+  var table = wasmTable;
+
+  // Check if the function is already in the table, to ensure each function
+  // gets a unique index. First, create the map if this is the first use.
+  if (!functionsInTableMap) {
+    functionsInTableMap = new WeakMap();
+    for (var i = 0; i < table.length; i++) {
+      var item = table.get(i);
+      // Ignore null values.
+      if (item) {
+        functionsInTableMap.set(item, i);
+      }
+    }
+  }
+  if (functionsInTableMap.has(func)) {
+    return functionsInTableMap.get(func);
+  }
+
+  // It's not in the table, add it now.
+
+
+  var ret;
+  // Reuse a free index if there is one, otherwise grow.
+  if (freeTableIndexes.length) {
+    ret = freeTableIndexes.pop();
+  } else {
+    ret = table.length;
+    // Grow the table
+    try {
+      table.grow(1);
+    } catch (err) {
+      if (!(err instanceof RangeError)) {
+        throw err;
+      }
+      throw 'Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.';
+    }
+  }
+
+  // Set the new value.
+  try {
+    // Attempting to call this with JS function will cause of table.set() to fail
+    table.set(ret, func);
+  } catch (err) {
+    if (!(err instanceof TypeError)) {
+      throw err;
+    }
+    assert(typeof sig !== 'undefined', 'Missing signature argument to addFunction');
+    var wrapped = convertJsFunctionToWasm(func, sig);
+    table.set(ret, wrapped);
+  }
+
+  functionsInTableMap.set(func, ret);
+
+  return ret;
+}
+
+function removeFunctionWasm(index) {
+  functionsInTableMap.delete(wasmTable.get(index));
+  freeTableIndexes.push(index);
+}
+
+// 'sig' parameter is required for the llvm backend but only when func is not
+// already a WebAssembly function.
+function addFunction(func, sig) {
+  assert(typeof func !== 'undefined');
+
+  return addFunctionWasm(func, sig);
+}
+
+function removeFunction(index) {
+  removeFunctionWasm(index);
+}
+
+
+
+var funcWrappers = {};
+
+function getFuncWrapper(func, sig) {
+  if (!func) return; // on null pointer, return undefined
+  assert(sig);
+  if (!funcWrappers[sig]) {
+    funcWrappers[sig] = {};
+  }
+  var sigCache = funcWrappers[sig];
+  if (!sigCache[func]) {
+    // optimize away arguments usage in common cases
+    if (sig.length === 1) {
+      sigCache[func] = function dynCall_wrapper() {
+        return dynCall(sig, func);
+      };
+    } else if (sig.length === 2) {
+      sigCache[func] = function dynCall_wrapper(arg) {
+        return dynCall(sig, func, [arg]);
+      };
+    } else {
+      // general case
+      sigCache[func] = function dynCall_wrapper() {
+        return dynCall(sig, func, Array.prototype.slice.call(arguments));
+      };
+    }
+  }
+  return sigCache[func];
+}
+
+
+
+
+
+
+
+function makeBigInt(low, high, unsigned) {
+  return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0));
+}
+
+/** @param {Array=} args */
+function dynCall(sig, ptr, args) {
+  if (args && args.length) {
+    // j (64-bit integer) must be passed in as two numbers [low 32, high 32].
+    assert(args.length === sig.substring(1).replace(/j/g, '--').length);
+    assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
+    return Module['dynCall_' + sig].apply(null, [ptr].concat(args));
+  } else {
+    assert(sig.length == 1);
+    assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
+    return Module['dynCall_' + sig].call(null, ptr);
+  }
+}
+
+var tempRet0 = 0;
+
+var setTempRet0 = function(value) {
+  tempRet0 = value;
+};
+
+var getTempRet0 = function() {
+  return tempRet0;
+};
+
+function getCompilerSetting(name) {
+  throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for getCompilerSetting or emscripten_get_compiler_setting to work';
+}
+
+// The address globals begin at. Very low in memory, for code size and optimization opportunities.
+// Above 0 is static memory, starting with globals.
+// Then the stack.
+// Then 'dynamic' memory for sbrk.
+var GLOBAL_BASE = 1024;
+
+
+
+
 
 // === Preamble library stuff ===
@@ -278,306 +609,23 @@
 //    is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
 
-//========================================
-// Runtime code shared with compiler
-//========================================
-
-var Runtime = {
-  setTempRet0: function (value) {
-    tempRet0 = value;
-    return value;
-  },
-  getTempRet0: function () {
-    return tempRet0;
-  },
-  stackSave: function () {
-    return STACKTOP;
-  },
-  stackRestore: function (stackTop) {
-    STACKTOP = stackTop;
-  },
-  getNativeTypeSize: function (type) {
-    switch (type) {
-      case 'i1': case 'i8': return 1;
-      case 'i16': return 2;
-      case 'i32': return 4;
-      case 'i64': return 8;
-      case 'float': return 4;
-      case 'double': return 8;
-      default: {
-        if (type[type.length-1] === '*') {
-          return Runtime.QUANTUM_SIZE; // A pointer
-        } else if (type[0] === 'i') {
-          var bits = parseInt(type.substr(1));
-          assert(bits % 8 === 0);
-          return bits/8;
-        } else {
-          return 0;
-        }
-      }
-    }
-  },
-  getNativeFieldSize: function (type) {
-    return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE);
-  },
-  STACK_ALIGN: 16,
-  prepVararg: function (ptr, type) {
-    if (type === 'double' || type === 'i64') {
-      // move so the load is aligned
-      if (ptr & 7) {
-        assert((ptr & 7) === 4);
-        ptr += 4;
-      }
-    } else {
-      assert((ptr & 3) === 0);
-    }
-    return ptr;
-  },
-  getAlignSize: function (type, size, vararg) {
-    // we align i64s and doubles on 64-bit boundaries, unlike x86
-    if (!vararg && (type == 'i64' || type == 'double')) return 8;
-    if (!type) return Math.min(size, 8); // align structures internally to 64 bits
-    return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE);
-  },
-  dynCall: function (sig, ptr, args) {
-    if (args && args.length) {
-      assert(args.length == sig.length-1);
-      assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
-      return Module['dynCall_' + sig].apply(null, [ptr].concat(args));
-    } else {
-      assert(sig.length == 1);
-      assert(('dynCall_' + sig) in Module, 'bad function pointer type - no table for sig \'' + sig + '\'');
-      return Module['dynCall_' + sig].call(null, ptr);
-    }
-  },
-  functionPointers: [],
-  addFunction: function (func) {
-    for (var i = 0; i < Runtime.functionPointers.length; i++) {
-      if (!Runtime.functionPointers[i]) {
-        Runtime.functionPointers[i] = func;
-        return 2*(1 + i);
-      }
-    }
-    throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.';
-  },
-  removeFunction: function (index) {
-    Runtime.functionPointers[(index-2)/2] = null;
-  },
-  warnOnce: function (text) {
-    if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};
-    if (!Runtime.warnOnce.shown[text]) {
-      Runtime.warnOnce.shown[text] = 1;
-      Module.printErr(text);
-    }
-  },
-  funcWrappers: {},
-  getFuncWrapper: function (func, sig) {
-    assert(sig);
-    if (!Runtime.funcWrappers[sig]) {
-      Runtime.funcWrappers[sig] = {};
-    }
-    var sigCache = Runtime.funcWrappers[sig];
-    if (!sigCache[func]) {
-      // optimize away arguments usage in common cases
-      if (sig.length === 1) {
-        sigCache[func] = function dynCall_wrapper() {
-          return Runtime.dynCall(sig, func);
-        };
-      } else if (sig.length === 2) {
-        sigCache[func] = function dynCall_wrapper(arg) {
-          return Runtime.dynCall(sig, func, [arg]);
-        };
-      } else {
-        // general case
-        sigCache[func] = function dynCall_wrapper() {
-          return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments));
-        };
-      }
-    }
-    return sigCache[func];
-  },
-  getCompilerSetting: function (name) {
-    throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work';
-  },
-  stackAlloc: function (size) { var ret = STACKTOP;STACKTOP = (STACKTOP + size)|0;STACKTOP = (((STACKTOP)+15)&-16);(assert((((STACKTOP|0) < (STACK_MAX|0))|0))|0); return ret; },
-  staticAlloc: function (size) { var ret = STATICTOP;STATICTOP = (STATICTOP + (assert(!staticSealed),size))|0;STATICTOP = (((STATICTOP)+15)&-16); return ret; },
-  dynamicAlloc: function (size) { assert(DYNAMICTOP_PTR);var ret = HEAP32[DYNAMICTOP_PTR>>2];var end = (((ret + size + 15)|0) & -16);HEAP32[DYNAMICTOP_PTR>>2] = end;if (end >= TOTAL_MEMORY) {var success = enlargeMemory();if (!success) {HEAP32[DYNAMICTOP_PTR>>2] = ret;return 0;}}return ret;},
-  alignMemory: function (size,quantum) { var ret = size = Math.ceil((size)/(quantum ? quantum : 16))*(quantum ? quantum : 16); return ret; },
-  makeBigInt: function (low,high,unsigned) { var ret = (unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0))); return ret; },
-  GLOBAL_BASE: 8,
-  QUANTUM_SIZE: 4,
-  __dummy__: 0
-}
-
-
-
-Module["Runtime"] = Runtime;
-
-
-
-//========================================
-// Runtime essentials
-//========================================
-
-var ABORT = 0; // whether we are quitting the application. no code should run after this. set in exit() and abort()
-var EXITSTATUS = 0;
-
-function assert(condition, text) {
-  if (!condition) {
-    abort('Assertion failed: ' + text);
-  }
-}
-
-var globalScope = this;
-
-// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
-function getCFunc(ident) {
-  var func = Module['_' + ident]; // closure exported function
-  if (!func) {
-    try { func = eval('_' + ident); } catch(e) {}
-  }
-  assert(func, 'Cannot call unknown function ' + ident + ' (perhaps LLVM optimizations or closure removed it?)');
-  return func;
-}
-
-var cwrap, ccall;
-(function(){
-  var JSfuncs = {
-    // Helpers for cwrap -- it can't refer to Runtime directly because it might
-    // be renamed by closure, instead it calls JSfuncs['stackSave'].body to find
-    // out what the minified function name is.
-    'stackSave': function() {
-      Runtime.stackSave()
-    },
-    'stackRestore': function() {
-      Runtime.stackRestore()
-    },
-    // type conversion from js to c
-    'arrayToC' : function(arr) {
-      var ret = Runtime.stackAlloc(arr.length);
-      writeArrayToMemory(arr, ret);
-      return ret;
-    },
-    'stringToC' : function(str) {
-      var ret = 0;
-      if (str !== null && str !== undefined && str !== 0) { // null string
-        // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
-        var len = (str.length << 2) + 1;
-        ret = Runtime.stackAlloc(len);
-        stringToUTF8(str, ret, len);
-      }
-      return ret;
-    }
-  };
-  // For fast lookup of conversion functions
-  var toC = {'string' : JSfuncs['stringToC'], 'array' : JSfuncs['arrayToC']};
-
-  // C calling interface.
-  ccall = function ccallFunc(ident, returnType, argTypes, args, opts) {
-    var func = getCFunc(ident);
-    var cArgs = [];
-    var stack = 0;
-    assert(returnType !== 'array', 'Return type should not be "array".');
-    if (args) {
-      for (var i = 0; i < args.length; i++) {
-        var converter = toC[argTypes[i]];
-        if (converter) {
-          if (stack === 0) stack = Runtime.stackSave();
-          cArgs[i] = converter(args[i]);
-        } else {
-          cArgs[i] = args[i];
-        }
-      }
-    }
-    var ret = func.apply(null, cArgs);
-    if ((!opts || !opts.async) && typeof EmterpreterAsync === 'object') {
-      assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling ccall');
-    }
-    if (opts && opts.async) assert(!returnType, 'async ccalls cannot return values');
-    if (returnType === 'string') ret = Pointer_stringify(ret);
-    if (stack !== 0) {
-      if (opts && opts.async) {
-        EmterpreterAsync.asyncFinalizers.push(function() {
-          Runtime.stackRestore(stack);
-        });
-        return;
-      }
-      Runtime.stackRestore(stack);
-    }
-    return ret;
-  }
-
-  var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;
-  function parseJSFunc(jsfunc) {
-    // Match the body and the return value of a javascript function source
-    var parsed = jsfunc.toString().match(sourceRegex).slice(1);
-    return {arguments : parsed[0], body : parsed[1], returnValue: parsed[2]}
-  }
-
-  // sources of useful functions. we create this lazily as it can trigger a source decompression on this entire file
-  var JSsource = null;
-  function ensureJSsource() {
-    if (!JSsource) {
-      JSsource = {};
-      for (var fun in JSfuncs) {
-        if (JSfuncs.hasOwnProperty(fun)) {
-          // Elements of toCsource are arrays of three items:
-          // the code, and the return value
-          JSsource[fun] = parseJSFunc(JSfuncs[fun]);
-        }
-      }
-    }
-  }
-
-  cwrap = function cwrap(ident, returnType, argTypes) {
-    argTypes = argTypes || [];
-    var cfunc = getCFunc(ident);
-    // When the function takes numbers and returns a number, we can just return
-    // the original function
-    var numericArgs = argTypes.every(function(type){ return type === 'number'});
-    var numericRet = (returnType !== 'string');
-    if ( numericRet && numericArgs) {
-      return cfunc;
-    }
-    // Creation of the arguments list (["$1","$2",...,"$nargs"])
-    var argNames = argTypes.map(function(x,i){return '$'+i});
-    var funcstr = "(function(" + argNames.join(',') + ") {";
-    var nargs = argTypes.length;
-    if (!numericArgs) {
-      // Generate the code needed to convert the arguments from javascript
-      // values to pointers
-      ensureJSsource();
-      funcstr += 'var stack = ' + JSsource['stackSave'].body + ';';
-      for (var i = 0; i < nargs; i++) {
-        var arg = argNames[i], type = argTypes[i];
-        if (type === 'number') continue;
-        var convertCode = JSsource[type + 'ToC']; // [code, return]
-        funcstr += 'var ' + convertCode.arguments + ' = ' + arg + ';';
-        funcstr += convertCode.body + ';';
-        funcstr += arg + '=(' + convertCode.returnValue + ');';
-      }
-    }
-
-    // When the code is compressed, the name of cfunc is not literally 'cfunc' anymore
-    var cfuncname = parseJSFunc(function(){return cfunc}).returnValue;
-    // Call the function
-    funcstr += 'var ret = ' + cfuncname + '(' + argNames.join(',') + ');';
-    if (!numericRet) { // Return type can only by 'string' or 'number'
-      // Convert the result to a string
-      var strgfy = parseJSFunc(function(){return Pointer_stringify}).returnValue;
-      funcstr += 'ret = ' + strgfy + '(ret);';
-    }
-    funcstr += "if (typeof EmterpreterAsync === 'object') { assert(!EmterpreterAsync.state, 'cannot start async op with normal JS calling cwrap') }";
-    if (!numericArgs) {
-      // If we had a stack, restore it
-      ensureJSsource();
-      funcstr += JSsource['stackRestore'].body.replace('()', '(stack)') + ';';
-    }
-    funcstr += 'return ret})';
-    return eval(funcstr);
-  };
-})();
-Module["ccall"] = ccall;
-Module["cwrap"] = cwrap;
-
+
+var wasmBinary;if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];if (!Object.getOwnPropertyDescriptor(Module, 'wasmBinary')) Object.defineProperty(Module, 'wasmBinary', { configurable: true, get: function() { abort('Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
+var noExitRuntime;if (Module['noExitRuntime']) noExitRuntime = Module['noExitRuntime'];if (!Object.getOwnPropertyDescriptor(Module, 'noExitRuntime')) Object.defineProperty(Module, 'noExitRuntime', { configurable: true, get: function() { abort('Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
+
+
+if (typeof WebAssembly !== 'object') {
+  abort('no native wasm support detected');
+}
+
+
+
+
+// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking.
+// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties)
+
+/** @param {number} ptr
+    @param {number} value
+    @param {string} type
+    @param {number|boolean=} noSafe */
 function setValue(ptr, value, type, noSafe) {
   type = type || 'i8';
@@ -594,7 +642,8 @@
     }
 }
-Module["setValue"] = setValue;
-
-
+
+/** @param {number} ptr
+    @param {string} type
+    @param {number|boolean=} noSafe */
 function getValue(ptr, type, noSafe) {
   type = type || 'i8';
@@ -608,20 +657,121 @@
       case 'float': return HEAPF32[((ptr)>>2)];
       case 'double': return HEAPF64[((ptr)>>3)];
-      default: abort('invalid type for setValue: ' + type);
+      default: abort('invalid type for getValue: ' + type);
     }
   return null;
 }
-Module["getValue"] = getValue;
+
+
+
+
+
+
+// Wasm globals
+
+var wasmMemory;
+
+// In fastcomp asm.js, we don't need a wasm Table at all.
+// In the wasm backend, we polyfill the WebAssembly object,
+// so this creates a (non-native-wasm) table for us.
+var wasmTable = new WebAssembly.Table({
+  'initial': 336,
+  'maximum': 336 + 0,
+  'element': 'anyfunc'
+});
+
+
+//========================================
+// Runtime essentials
+//========================================
+
+// whether we are quitting the application. no code should run after this.
+// set in exit() and abort()
+var ABORT = false;
+
+// set by exit() and abort().  Passed to 'onExit' handler.
+// NOTE: This is also used as the process return code code in shell environments
+// but only when noExitRuntime is false.
+var EXITSTATUS = 0;
+
+/** @type {function(*, string=)} */
+function assert(condition, text) {
+  if (!condition) {
+    abort('Assertion failed: ' + text);
+  }
+}
+
+// Returns the C function with a specified identifier (for C++, you need to do manual name mangling)
+function getCFunc(ident) {
+  var func = Module['_' + ident]; // closure exported function
+  assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported');
+  return func;
+}
+
+// C calling interface.
+/** @param {string|null=} returnType
+    @param {Array=} argTypes
+    @param {Arguments|Array=} args
+    @param {Object=} opts */
+function ccall(ident, returnType, argTypes, args, opts) {
+  // For fast lookup of conversion functions
+  var toC = {
+    'string': function(str) {
+      var ret = 0;
+      if (str !== null && str !== undefined && str !== 0) { // null string
+        // at most 4 bytes per UTF-8 code point, +1 for the trailing '\0'
+        var len = (str.length << 2) + 1;
+        ret = stackAlloc(len);
+        stringToUTF8(str, ret, len);
+      }
+      return ret;
+    },
+    'array': function(arr) {
+      var ret = stackAlloc(arr.length);
+      writeArrayToMemory(arr, ret);
+      return ret;
+    }
+  };
+
+  function convertReturnValue(ret) {
+    if (returnType === 'string') return UTF8ToString(ret);
+    if (returnType === 'boolean') return Boolean(ret);
+    return ret;
+  }
+
+  var func = getCFunc(ident);
+  var cArgs = [];
+  var stack = 0;
+  assert(returnType !== 'array', 'Return type should not be "array".');
+  if (args) {
+    for (var i = 0; i < args.length; i++) {
+      var converter = toC[argTypes[i]];
+      if (converter) {
+        if (stack === 0) stack = stackSave();
+        cArgs[i] = converter(args[i]);
+      } else {
+        cArgs[i] = args[i];
+      }
+    }
+  }
+  var ret = func.apply(null, cArgs);
+
+  ret = convertReturnValue(ret);
+  if (stack !== 0) stackRestore(stack);
+  return ret;
+}
+
+/** @param {string=} returnType
+    @param {Array=} argTypes
+    @param {Object=} opts */
+function cwrap(ident, returnType, argTypes, opts) {
+  return function() {
+    return ccall(ident, returnType, argTypes, arguments, opts);
+  }
+}
 
 var ALLOC_NORMAL = 0; // Tries to use _malloc()
 var ALLOC_STACK = 1; // Lives for the duration of the current function call
-var ALLOC_STATIC = 2; // Cannot be freed
-var ALLOC_DYNAMIC = 3; // Cannot be freed except through sbrk
-var ALLOC_NONE = 4; // Do not allocate
-Module["ALLOC_NORMAL"] = ALLOC_NORMAL;
-Module["ALLOC_STACK"] = ALLOC_STACK;
-Module["ALLOC_STATIC"] = ALLOC_STATIC;
-Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC;
-Module["ALLOC_NONE"] = ALLOC_NONE;
+var ALLOC_DYNAMIC = 2; // Cannot be freed except through sbrk
+var ALLOC_NONE = 3; // Do not allocate
 
 // allocate(): This is for internal use. You can use it yourself as well, but the interface
@@ -638,4 +788,5 @@
 //         ignored.
 // @allocator: How to allocate memory, see ALLOC_*
+/** @type {function((TypedArray|Array<number>|number), string, number, number=)} */
 function allocate(slab, types, allocator, ptr) {
   var zeroinit, size;
@@ -654,9 +805,12 @@
     ret = ptr;
   } else {
-    ret = [typeof _malloc === 'function' ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length));
+    ret = [_malloc,
+    stackAlloc,
+    dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length));
   }
 
   if (zeroinit) {
-    var ptr = ret, stop;
+    var stop;
+    ptr = ret;
     assert((ret & 3) == 0);
     stop = ret + (size & ~3);
@@ -673,5 +827,5 @@
   if (singleType === 'i8') {
     if (slab.subarray || slab.slice) {
-      HEAPU8.set(slab, ret);
+      HEAPU8.set(/** @type {!Uint8Array} */ (slab), ret);
     } else {
       HEAPU8.set(new Uint8Array(slab), ret);
@@ -683,8 +837,4 @@
   while (i < size) {
     var curr = slab[i];
-
-    if (typeof curr === 'function') {
-      curr = Runtime.getFunctionIndex(curr);
-    }
 
     type = singleType || types[i];
@@ -701,5 +851,5 @@
     // no need to look up size unless type changes, so cache it
     if (previousType !== type) {
-      typeSize = Runtime.getNativeTypeSize(type);
+      typeSize = getNativeTypeSize(type);
       previousType = type;
     }
@@ -709,68 +859,15 @@
   return ret;
 }
-Module["allocate"] = allocate;
 
 // Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready
 function getMemory(size) {
-  if (!staticSealed) return Runtime.staticAlloc(size);
-  if (!runtimeInitialized) return Runtime.dynamicAlloc(size);
+  if (!runtimeInitialized) return dynamicAlloc(size);
   return _malloc(size);
 }
-Module["getMemory"] = getMemory;
-
-function Pointer_stringify(ptr, /* optional */ length) {
-  if (length === 0 || !ptr) return '';
-  // TODO: use TextDecoder
-  // Find the length, and check for UTF while doing so
-  var hasUtf = 0;
-  var t;
-  var i = 0;
-  while (1) {
-    assert(ptr + i < TOTAL_MEMORY);
-    t = HEAPU8[(((ptr)+(i))>>0)];
-    hasUtf |= t;
-    if (t == 0 && !length) break;
-    i++;
-    if (length && i == length) break;
-  }
-  if (!length) length = i;
-
-  var ret = '';
-
-  if (hasUtf < 128) {
-    var MAX_CHUNK = 1024; // split up into chunks, because .apply on a huge string can overflow the stack
-    var curr;
-    while (length > 0) {
-      curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));
-      ret = ret ? ret + curr : curr;
-      ptr += MAX_CHUNK;
-      length -= MAX_CHUNK;
-    }
-    return ret;
-  }
-  return Module['UTF8ToString'](ptr);
-}
-Module["Pointer_stringify"] = Pointer_stringify;
-
-// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
-// a copy of that string as a Javascript String object.
-
-function AsciiToString(ptr) {
-  var str = '';
-  while (1) {
-    var ch = HEAP8[((ptr++)>>0)];
-    if (!ch) return str;
-    str += String.fromCharCode(ch);
-  }
-}
-Module["AsciiToString"] = AsciiToString;
-
-// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
-// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
-
-function stringToAscii(str, outPtr) {
-  return writeAsciiToMemory(str, outPtr, false);
-}
-Module["stringToAscii"] = stringToAscii;
+
+
+
+
+// runtime_strings.js: Strings related runtime functions that are part of both MINIMAL_RUNTIME and regular runtime.
 
 // Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the given array that contains uint8 values, returns
@@ -778,40 +875,40 @@
 
 var UTF8Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf8') : undefined;
-function UTF8ArrayToString(u8Array, idx) {
+
+/**
+ * @param {number} idx
+ * @param {number=} maxBytesToRead
+ * @return {string}
+ */
+function UTF8ArrayToString(heap, idx, maxBytesToRead) {
+  var endIdx = idx + maxBytesToRead;
   var endPtr = idx;
   // TextDecoder needs to know the byte length in advance, it doesn't stop on null terminator by itself.
   // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
-  while (u8Array[endPtr]) ++endPtr;
-
-  if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
-    return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));
+  // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity)
+  while (heap[endPtr] && !(endPtr >= endIdx)) ++endPtr;
+
+  if (endPtr - idx > 16 && heap.subarray && UTF8Decoder) {
+    return UTF8Decoder.decode(heap.subarray(idx, endPtr));
   } else {
-    var u0, u1, u2, u3, u4, u5;
-
     var str = '';
-    while (1) {
-      // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
-      u0 = u8Array[idx++];
-      if (!u0) return str;
+    // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that
+    while (idx < endPtr) {
+      // For UTF8 byte structure, see:
+      // http://en.wikipedia.org/wiki/UTF-8#Description
+      // https://www.ietf.org/rfc/rfc2279.txt
+      // https://tools.ietf.org/html/rfc3629
+      var u0 = heap[idx++];
       if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; }
-      u1 = u8Array[idx++] & 63;
+      var u1 = heap[idx++] & 63;
       if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; }
-      u2 = u8Array[idx++] & 63;
+      var u2 = heap[idx++] & 63;
       if ((u0 & 0xF0) == 0xE0) {
         u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
       } else {
-        u3 = u8Array[idx++] & 63;
-        if ((u0 & 0xF8) == 0xF0) {
-          u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | u3;
-        } else {
-          u4 = u8Array[idx++] & 63;
-          if ((u0 & 0xFC) == 0xF8) {
-            u0 = ((u0 & 3) << 24) | (u1 << 18) | (u2 << 12) | (u3 << 6) | u4;
-          } else {
-            u5 = u8Array[idx++] & 63;
-            u0 = ((u0 & 1) << 30) | (u1 << 24) | (u2 << 18) | (u3 << 12) | (u4 << 6) | u5;
-          }
-        }
+        if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte 0x' + u0.toString(16) + ' encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!');
+        u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heap[idx++] & 63);
       }
+
       if (u0 < 0x10000) {
         str += String.fromCharCode(u0);
@@ -822,14 +919,25 @@
     }
   }
-}
-Module["UTF8ArrayToString"] = UTF8ArrayToString;
-
-// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns
-// a copy of that string as a Javascript String object.
-
-function UTF8ToString(ptr) {
-  return UTF8ArrayToString(HEAPU8,ptr);
-}
-Module["UTF8ToString"] = UTF8ToString;
+  return str;
+}
+
+// Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the emscripten HEAP, returns a
+// copy of that string as a Javascript String object.
+// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit
+//                 this parameter to scan the string until the first \0 byte. If maxBytesToRead is
+//                 passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the
+//                 middle, then the string will cut short at that byte index (i.e. maxBytesToRead will
+//                 not produce a string of exact length [ptr, ptr+maxBytesToRead[)
+//                 N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may
+//                 throw JS JIT optimizations off, so it is worth to consider consistently using one
+//                 style or the other.
+/**
+ * @param {number} ptr
+ * @param {number=} maxBytesToRead
+ * @return {string}
+ */
+function UTF8ToString(ptr, maxBytesToRead) {
+  return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : '';
+}
 
 // Copies the given Javascript String object 'str' to the given byte array at address 'outIdx',
@@ -838,12 +946,13 @@
 // Parameters:
 //   str: the Javascript string to copy.
-//   outU8Array: the array to copy to. Each index in this array is assumed to be one 8-byte element.
+//   heap: the array to copy to. Each index in this array is assumed to be one 8-byte element.
 //   outIdx: The starting offset in the array to begin the copying.
-//   maxBytesToWrite: The maximum number of bytes this function can write to the array. This count should include the null
-//                    terminator, i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
+//   maxBytesToWrite: The maximum number of bytes this function can write to the array.
+//                    This count should include the null terminator,
+//                    i.e. if maxBytesToWrite=1, only the null terminator will be written and nothing else.
 //                    maxBytesToWrite=0 does not write any bytes to the output, not even the null terminator.
 // Returns the number of bytes written, EXCLUDING the null terminator.
 
-function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {
+function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
   if (!(maxBytesToWrite > 0)) // Parameter maxBytesToWrite is not optional. Negative values, 0, null, undefined and false each don't write out any bytes.
     return 0;
@@ -856,45 +965,33 @@
     // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description and https://www.ietf.org/rfc/rfc2279.txt and https://tools.ietf.org/html/rfc3629
     var u = str.charCodeAt(i); // possibly a lead surrogate
-    if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
+    if (u >= 0xD800 && u <= 0xDFFF) {
+      var u1 = str.charCodeAt(++i);
+      u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF);
+    }
     if (u <= 0x7F) {
       if (outIdx >= endIdx) break;
-      outU8Array[outIdx++] = u;
+      heap[outIdx++] = u;
     } else if (u <= 0x7FF) {
       if (outIdx + 1 >= endIdx) break;
-      outU8Array[outIdx++] = 0xC0 | (u >> 6);
-      outU8Array[outIdx++] = 0x80 | (u & 63);
+      heap[outIdx++] = 0xC0 | (u >> 6);
+      heap[outIdx++] = 0x80 | (u & 63);
     } else if (u <= 0xFFFF) {
       if (outIdx + 2 >= endIdx) break;
-      outU8Array[outIdx++] = 0xE0 | (u >> 12);
-      outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
-      outU8Array[outIdx++] = 0x80 | (u & 63);
-    } else if (u <= 0x1FFFFF) {
+      heap[outIdx++] = 0xE0 | (u >> 12);
+      heap[outIdx++] = 0x80 | ((u >> 6) & 63);
+      heap[outIdx++] = 0x80 | (u & 63);
+    } else {
       if (outIdx + 3 >= endIdx) break;
-      outU8Array[outIdx++] = 0xF0 | (u >> 18);
-      outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
-      outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
-      outU8Array[outIdx++] = 0x80 | (u & 63);
-    } else if (u <= 0x3FFFFFF) {
-      if (outIdx + 4 >= endIdx) break;
-      outU8Array[outIdx++] = 0xF8 | (u >> 24);
-      outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
-      outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
-      outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
-      outU8Array[outIdx++] = 0x80 | (u & 63);
-    } else {
-      if (outIdx + 5 >= endIdx) break;
-      outU8Array[outIdx++] = 0xFC | (u >> 30);
-      outU8Array[outIdx++] = 0x80 | ((u >> 24) & 63);
-      outU8Array[outIdx++] = 0x80 | ((u >> 18) & 63);
-      outU8Array[outIdx++] = 0x80 | ((u >> 12) & 63);
-      outU8Array[outIdx++] = 0x80 | ((u >> 6) & 63);
-      outU8Array[outIdx++] = 0x80 | (u & 63);
+      if (u >= 0x200000) warnOnce('Invalid Unicode code point 0x' + u.toString(16) + ' encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).');
+      heap[outIdx++] = 0xF0 | (u >> 18);
+      heap[outIdx++] = 0x80 | ((u >> 12) & 63);
+      heap[outIdx++] = 0x80 | ((u >> 6) & 63);
+      heap[outIdx++] = 0x80 | (u & 63);
     }
   }
   // Null-terminate the pointer to the buffer.
-  outU8Array[outIdx] = 0;
+  heap[outIdx] = 0;
   return outIdx - startIdx;
 }
-Module["stringToUTF8Array"] = stringToUTF8Array;
 
 // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
@@ -907,8 +1004,6 @@
   return stringToUTF8Array(str, HEAPU8,outPtr, maxBytesToWrite);
 }
-Module["stringToUTF8"] = stringToUTF8;
 
 // Returns the number of bytes the given Javascript string takes if encoded as a UTF8 byte array, EXCLUDING the null terminator byte.
-
 function lengthBytesUTF8(str) {
   var len = 0;
@@ -918,21 +1013,36 @@
     var u = str.charCodeAt(i); // possibly a lead surrogate
     if (u >= 0xD800 && u <= 0xDFFF) u = 0x10000 + ((u & 0x3FF) << 10) | (str.charCodeAt(++i) & 0x3FF);
-    if (u <= 0x7F) {
-      ++len;
-    } else if (u <= 0x7FF) {
-      len += 2;
-    } else if (u <= 0xFFFF) {
-      len += 3;
-    } else if (u <= 0x1FFFFF) {
-      len += 4;
-    } else if (u <= 0x3FFFFFF) {
-      len += 5;
-    } else {
-      len += 6;
-    }
+    if (u <= 0x7F) ++len;
+    else if (u <= 0x7FF) len += 2;
+    else if (u <= 0xFFFF) len += 3;
+    else len += 4;
   }
   return len;
 }
-Module["lengthBytesUTF8"] = lengthBytesUTF8;
+
+
+
+
+
+// runtime_strings_extra.js: Strings related runtime functions that are available only in regular runtime.
+
+// Given a pointer 'ptr' to a null-terminated ASCII-encoded string in the emscripten HEAP, returns
+// a copy of that string as a Javascript String object.
+
+function AsciiToString(ptr) {
+  var str = '';
+  while (1) {
+    var ch = HEAPU8[((ptr++)>>0)];
+    if (!ch) return str;
+    str += String.fromCharCode(ch);
+  }
+}
+
+// Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
+// null-terminated and encoded in ASCII form. The copy will require at most str.length+1 bytes of space in the HEAP.
+
+function stringToAscii(str, outPtr) {
+  return writeAsciiToMemory(str, outPtr, false);
+}
 
 // Given a pointer 'ptr' to a null-terminated UTF16LE-encoded string in the emscripten HEAP, returns
@@ -940,5 +1050,6 @@
 
 var UTF16Decoder = typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-16le') : undefined;
-function UTF16ToString(ptr) {
+
+function UTF16ToString(ptr, maxBytesToRead) {
   assert(ptr % 2 == 0, 'Pointer passed to UTF16ToString must be aligned to two bytes!');
   var endPtr = ptr;
@@ -946,5 +1057,8 @@
   // Also, use the length info to avoid running tiny strings through TextDecoder, since .subarray() allocates garbage.
   var idx = endPtr >> 1;
-  while (HEAP16[idx]) ++idx;
+  var maxIdx = idx + maxBytesToRead / 2;
+  // If maxBytesToRead is not passed explicitly, it will be undefined, and this
+  // will always evaluate to true. This saves on code size.
+  while (!(idx >= maxIdx) && HEAPU16[idx]) ++idx;
   endPtr = idx << 1;
 
@@ -957,5 +1071,5 @@
     while (1) {
       var codeUnit = HEAP16[(((ptr)+(i*2))>>1)];
-      if (codeUnit == 0) return str;
+      if (codeUnit == 0 || i == maxBytesToRead / 2) return str;
       ++i;
       // fromCharCode constructs a character from a UTF-16 code unit, so we can pass the UTF16 string right through.
@@ -964,5 +1078,4 @@
   }
 }
-
 
 // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
@@ -999,5 +1112,4 @@
 }
 
-
 // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
 
@@ -1006,14 +1118,14 @@
 }
 
-
-function UTF32ToString(ptr) {
+function UTF32ToString(ptr, maxBytesToRead) {
   assert(ptr % 4 == 0, 'Pointer passed to UTF32ToString must be aligned to four bytes!');
   var i = 0;
 
   var str = '';
-  while (1) {
+  // If maxBytesToRead is not passed explicitly, it will be undefined, and this
+  // will always evaluate to true. This saves on code size.
+  while (!(i >= maxBytesToRead / 4)) {
     var utf32 = HEAP32[(((ptr)+(i*4))>>2)];
-    if (utf32 == 0)
-      return str;
+    if (utf32 == 0) break;
     ++i;
     // Gotcha: fromCharCode constructs a character from a UTF-16 encoded code (pair), not from a Unicode code point! So encode the code point to UTF-16 for constructing.
@@ -1026,6 +1138,6 @@
     }
   }
-}
-
+  return str;
+}
 
 // Copies the given Javascript String object 'str' to the emscripten HEAP at address 'outPtr',
@@ -1067,5 +1179,4 @@
 }
 
-
 // Returns the number of bytes the given Javascript string takes if encoded as a UTF16 byte array, EXCLUDING the null terminator byte.
 
@@ -1083,67 +1194,58 @@
 }
 
-
-function demangle(func) {
-  var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle'];
-  if (__cxa_demangle_func) {
-    try {
-      var s =
-        func.substr(1);
-      var len = lengthBytesUTF8(s)+1;
-      var buf = _malloc(len);
-      stringToUTF8(s, buf, len);
-      var status = _malloc(4);
-      var ret = __cxa_demangle_func(buf, 0, 0, status);
-      if (getValue(status, 'i32') === 0 && ret) {
-        return Pointer_stringify(ret);
-      }
-      // otherwise, libcxxabi failed
-    } catch(e) {
-      // ignore problems here
-    } finally {
-      if (buf) _free(buf);
-      if (status) _free(status);
-      if (ret) _free(ret);
-    }
-    // failure when using libcxxabi, don't demangle
-    return func;
-  }
-  Runtime.warnOnce('warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling');
-  return func;
-}
-
-function demangleAll(text) {
-  var regex =
-    /__Z[\w\d_]+/g;
-  return text.replace(regex,
-    function(x) {
-      var y = demangle(x);
-      return x === y ? x : (x + ' [' + y + ']');
-    });
-}
-
-function jsStackTrace() {
-  var err = new Error();
-  if (!err.stack) {
-    // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
-    // so try that as a special-case.
-    try {
-      throw new Error(0);
-    } catch(e) {
-      err = e;
-    }
-    if (!err.stack) {
-      return '(no stack trace available)';
-    }
-  }
-  return err.stack.toString();
-}
-
-function stackTrace() {
-  var js = jsStackTrace();
-  if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
-  return demangleAll(js);
-}
-Module["stackTrace"] = stackTrace;
+// Allocate heap space for a JS string, and write it there.
+// It is the responsibility of the caller to free() that memory.
+function allocateUTF8(str) {
+  var size = lengthBytesUTF8(str) + 1;
+  var ret = _malloc(size);
+  if (ret) stringToUTF8Array(str, HEAP8, ret, size);
+  return ret;
+}
+
+// Allocate stack space for a JS string, and write it there.
+function allocateUTF8OnStack(str) {
+  var size = lengthBytesUTF8(str) + 1;
+  var ret = stackAlloc(size);
+  stringToUTF8Array(str, HEAP8, ret, size);
+  return ret;
+}
+
+// Deprecated: This function should not be called because it is unsafe and does not provide
+// a maximum length limit of how many bytes it is allowed to write. Prefer calling the
+// function stringToUTF8Array() instead, which takes in a maximum length that can be used
+// to be secure from out of bounds writes.
+/** @deprecated
+    @param {boolean=} dontAddNull */
+function writeStringToMemory(string, buffer, dontAddNull) {
+  warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!');
+
+  var /** @type {number} */ lastChar, /** @type {number} */ end;
+  if (dontAddNull) {
+    // stringToUTF8Array always appends null. If we don't want to do that, remember the
+    // character that existed at the location where the null will be placed, and restore
+    // that after the write (below).
+    end = buffer + lengthBytesUTF8(string);
+    lastChar = HEAP8[end];
+  }
+  stringToUTF8(string, buffer, Infinity);
+  if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.
+}
+
+function writeArrayToMemory(array, buffer) {
+  assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)')
+  HEAP8.set(array, buffer);
+}
+
+/** @param {boolean=} dontAddNull */
+function writeAsciiToMemory(str, buffer, dontAddNull) {
+  for (var i = 0; i < str.length; ++i) {
+    assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff);
+    HEAP8[((buffer++)>>0)]=str.charCodeAt(i);
+  }
+  // Null-terminate the pointer to the HEAP.
+  if (!dontAddNull) HEAP8[((buffer)>>0)]=0;
+}
+
+
 
 // Memory management
@@ -1152,5 +1254,4 @@
 var WASM_PAGE_SIZE = 65536;
 var ASMJS_PAGE_SIZE = 16777216;
-var MIN_TOTAL_MEMORY = 16777216;
 
 function alignUp(x, multiple) {
@@ -1161,29 +1262,99 @@
 }
 
-var HEAP;
-var buffer;
-var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
-
-function updateGlobalBuffer(buf) {
-  Module['buffer'] = buffer = buf;
-}
-
-function updateGlobalBufferViews() {
-  Module['HEAP8'] = HEAP8 = new Int8Array(buffer);
-  Module['HEAP16'] = HEAP16 = new Int16Array(buffer);
-  Module['HEAP32'] = HEAP32 = new Int32Array(buffer);
-  Module['HEAPU8'] = HEAPU8 = new Uint8Array(buffer);
-  Module['HEAPU16'] = HEAPU16 = new Uint16Array(buffer);
-  Module['HEAPU32'] = HEAPU32 = new Uint32Array(buffer);
-  Module['HEAPF32'] = HEAPF32 = new Float32Array(buffer);
-  Module['HEAPF64'] = HEAPF64 = new Float64Array(buffer);
-}
-
-var STATIC_BASE, STATICTOP, staticSealed; // static area
-var STACK_BASE, STACKTOP, STACK_MAX; // stack area
-var DYNAMIC_BASE, DYNAMICTOP_PTR; // dynamic area handled by sbrk
-
-  STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0;
-  staticSealed = false;
+var HEAP,
+/** @type {ArrayBuffer} */
+  buffer,
+/** @type {Int8Array} */
+  HEAP8,
+/** @type {Uint8Array} */
+  HEAPU8,
+/** @type {Int16Array} */
+  HEAP16,
+/** @type {Uint16Array} */
+  HEAPU16,
+/** @type {Int32Array} */
+  HEAP32,
+/** @type {Uint32Array} */
+  HEAPU32,
+/** @type {Float32Array} */
+  HEAPF32,
+/** @type {Float64Array} */
+  HEAPF64;
+
+function updateGlobalBufferAndViews(buf) {
+  buffer = buf;
+  Module['HEAP8'] = HEAP8 = new Int8Array(buf);
+  Module['HEAP16'] = HEAP16 = new Int16Array(buf);
+  Module['HEAP32'] = HEAP32 = new Int32Array(buf);
+  Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf);
+  Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf);
+  Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf);
+  Module['HEAPF32'] = HEAPF32 = new Float32Array(buf);
+  Module['HEAPF64'] = HEAPF64 = new Float64Array(buf);
+}
+
+var STATIC_BASE = 1024,
+    STACK_BASE = 5322752,
+    STACKTOP = STACK_BASE,
+    STACK_MAX = 79872,
+    DYNAMIC_BASE = 5322752,
+    DYNAMICTOP_PTR = 79712;
+
+assert(STACK_BASE % 16 === 0, 'stack must start aligned');
+assert(DYNAMIC_BASE % 16 === 0, 'heap must start aligned');
+
+
+var TOTAL_STACK = 5242880;
+if (Module['TOTAL_STACK']) assert(TOTAL_STACK === Module['TOTAL_STACK'], 'the stack size can no longer be determined at runtime')
+
+var INITIAL_INITIAL_MEMORY = Module['INITIAL_MEMORY'] || 16777216;if (!Object.getOwnPropertyDescriptor(Module, 'INITIAL_MEMORY')) Object.defineProperty(Module, 'INITIAL_MEMORY', { configurable: true, get: function() { abort('Module.INITIAL_MEMORY has been replaced with plain INITIAL_INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)') } });
+
+assert(INITIAL_INITIAL_MEMORY >= TOTAL_STACK, 'INITIAL_MEMORY should be larger than TOTAL_STACK, was ' + INITIAL_INITIAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')');
+
+// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
+assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray !== undefined && Int32Array.prototype.set !== undefined,
+       'JS engine does not provide full typed array support');
+
+
+
+
+
+
+
+
+// In non-standalone/normal mode, we create the memory here.
+
+
+
+// Create the main memory. (Note: this isn't used in STANDALONE_WASM mode since the wasm
+// memory is created in the wasm, not in JS.)
+
+  if (Module['wasmMemory']) {
+    wasmMemory = Module['wasmMemory'];
+  } else
+  {
+    wasmMemory = new WebAssembly.Memory({
+      'initial': INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE
+      ,
+      'maximum': INITIAL_INITIAL_MEMORY / WASM_PAGE_SIZE
+    });
+  }
+
+
+if (wasmMemory) {
+  buffer = wasmMemory.buffer;
+}
+
+// If the user provides an incorrect length, just use that length instead rather than providing the user to
+// specifically provide the memory length with Module['INITIAL_MEMORY'].
+INITIAL_INITIAL_MEMORY = buffer.byteLength;
+assert(INITIAL_INITIAL_MEMORY % WASM_PAGE_SIZE === 0);
+updateGlobalBufferAndViews(buffer);
+
+HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;
+
+
+
+
 
 
@@ -1191,74 +1362,40 @@
 function writeStackCookie() {
   assert((STACK_MAX & 3) == 0);
-  HEAPU32[(STACK_MAX >> 2)-1] = 0x02135467;
-  HEAPU32[(STACK_MAX >> 2)-2] = 0x89BACDFE;
+  // The stack grows downwards
+  HEAPU32[(STACK_MAX >> 2)+1] = 0x2135467;
+  HEAPU32[(STACK_MAX >> 2)+2] = 0x89BACDFE;
+  // Also test the global address 0 for integrity.
+  // We don't do this with ASan because ASan does its own checks for this.
+  HEAP32[0] = 0x63736d65; /* 'emsc' */
 }
 
 function checkStackCookie() {
-  if (HEAPU32[(STACK_MAX >> 2)-1] != 0x02135467 || HEAPU32[(STACK_MAX >> 2)-2] != 0x89BACDFE) {
-    abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + HEAPU32[(STACK_MAX >> 2)-2].toString(16) + ' ' + HEAPU32[(STACK_MAX >> 2)-1].toString(16));
-  }
-  // Also test the global address 0 for integrity. This check is not compatible with SAFE_SPLIT_MEMORY though, since that mode already tests all address 0 accesses on its own.
-  if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!';
-}
-
-function abortStackOverflow(allocSize) {
-  abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - asm.stackSave() + allocSize) + ' bytes available!');
-}
-
-function abortOnCannotGrowMemory() {
-  abort('Cannot enlarge memory arrays. Either (1) compile with  -s TOTAL_MEMORY=X  with X higher than the current value ' + TOTAL_MEMORY + ', (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ');
-}
-
-
-function enlargeMemory() {
-  abortOnCannotGrowMemory();
-}
-
-
-var TOTAL_STACK = Module['TOTAL_STACK'] || 5242880;
-var TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 16777216;
-if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr('TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')');
-
-// Initialize the runtime's memory
-// check for full engine support (use string 'subarray' to avoid closure compiler confusion)
-assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' && !!(new Int32Array(1)['subarray']) && !!(new Int32Array(1)['set']),
-       'JS engine does not provide full typed array support');
-
-
-
-// Use a provided buffer, if there is one, or else allocate a new one
-if (Module['buffer']) {
-  buffer = Module['buffer'];
-  assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength);
-} else {
-  // Use a WebAssembly memory where available
-  {
-    buffer = new ArrayBuffer(TOTAL_MEMORY);
-  }
-  assert(buffer.byteLength === TOTAL_MEMORY);
-}
-updateGlobalBufferViews();
-
-
-function getTotalMemory() {
-  return TOTAL_MEMORY;
-}
+  var cookie1 = HEAPU32[(STACK_MAX >> 2)+1];
+  var cookie2 = HEAPU32[(STACK_MAX >> 2)+2];
+  if (cookie1 != 0x2135467 || cookie2 != 0x89BACDFE) {
+    abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x' + cookie2.toString(16) + ' ' + cookie1.toString(16));
+  }
+  // Also test the global address 0 for integrity.
+  // We don't do this with ASan because ASan does its own checks for this.
+  if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) abort('Runtime error: The application has corrupted its heap memory area (address zero)!');
+}
+
+
+
+
 
 // Endianness check (note: assumes compiler arch was little-endian)
-  HEAP32[0] = 0x63736d65; /* 'emsc' */
-HEAP16[1] = 0x6373;
-if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!';
-
-Module['HEAP'] = HEAP;
-Module['buffer'] = buffer;
-Module['HEAP8'] = HEAP8;
-Module['HEAP16'] = HEAP16;
-Module['HEAP32'] = HEAP32;
-Module['HEAPU8'] = HEAPU8;
-Module['HEAPU16'] = HEAPU16;
-Module['HEAPU32'] = HEAPU32;
-Module['HEAPF32'] = HEAPF32;
-Module['HEAPF64'] = HEAPF64;
+(function() {
+  var h16 = new Int16Array(1);
+  var h8 = new Int8Array(h16.buffer);
+  h16[0] = 0x6373;
+  if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian!';
+})();
+
+function abortFnPtrError(ptr, sig) {
+	abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this). Build with ASSERTIONS=2 for more info.");
+}
+
+
 
 function callRuntimeCallbacks(callbacks) {
@@ -1266,5 +1403,5 @@
     var callback = callbacks.shift();
     if (typeof callback == 'function') {
-      callback();
+      callback(Module); // Pass the module as the first argument.
       continue;
     }
@@ -1286,5 +1423,5 @@
 var __ATMAIN__    = []; // functions called when main() is to be run
 var __ATEXIT__    = []; // functions called during shutdown
-var __ATPOSTRUN__ = []; // functions called after the runtime has exited
+var __ATPOSTRUN__ = []; // functions called after the main() is called
 
 var runtimeInitialized = false;
@@ -1293,5 +1430,5 @@
 
 function preRun() {
-  // compatibility - merge in anything from Module['preRun'] at this time
+
   if (Module['preRun']) {
     if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']];
@@ -1300,11 +1437,14 @@
     }
   }
+
   callRuntimeCallbacks(__ATPRERUN__);
 }
 
-function ensureInitRuntime() {
+function initRuntime() {
   checkStackCookie();
-  if (runtimeInitialized) return;
+  assert(!runtimeInitialized);
   runtimeInitialized = true;
+  if (!Module["noFSInit"] && !FS.init.initialized) FS.init();
+TTY.init();
   callRuntimeCallbacks(__ATINIT__);
 }
@@ -1312,4 +1452,5 @@
 function preMain() {
   checkStackCookie();
+  FS.ignorePermissions = false;
   callRuntimeCallbacks(__ATMAIN__);
 }
@@ -1317,5 +1458,4 @@
 function exitRuntime() {
   checkStackCookie();
-  callRuntimeCallbacks(__ATEXIT__);
   runtimeExited = true;
 }
@@ -1323,5 +1463,5 @@
 function postRun() {
   checkStackCookie();
-  // compatibility - merge in anything from Module['postRun'] at this time
+
   if (Module['postRun']) {
     if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']];
@@ -1330,4 +1470,5 @@
     }
   }
+
   callRuntimeCallbacks(__ATPOSTRUN__);
 }
@@ -1336,88 +1477,21 @@
   __ATPRERUN__.unshift(cb);
 }
-Module["addOnPreRun"] = addOnPreRun;
 
 function addOnInit(cb) {
   __ATINIT__.unshift(cb);
 }
-Module["addOnInit"] = addOnInit;
 
 function addOnPreMain(cb) {
   __ATMAIN__.unshift(cb);
 }
-Module["addOnPreMain"] = addOnPreMain;
 
 function addOnExit(cb) {
-  __ATEXIT__.unshift(cb);
-}
-Module["addOnExit"] = addOnExit;
+}
 
 function addOnPostRun(cb) {
   __ATPOSTRUN__.unshift(cb);
 }
-Module["addOnPostRun"] = addOnPostRun;
-
-// Tools
-
-
-function intArrayFromString(stringy, dontAddNull, length /* optional */) {
-  var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
-  var u8array = new Array(len);
-  var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
-  if (dontAddNull) u8array.length = numBytesWritten;
-  return u8array;
-}
-Module["intArrayFromString"] = intArrayFromString;
-
-function intArrayToString(array) {
-  var ret = [];
-  for (var i = 0; i < array.length; i++) {
-    var chr = array[i];
-    if (chr > 0xFF) {
-      assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ')  at offset ' + i + ' not in 0x00-0xFF.');
-      chr &= 0xFF;
-    }
-    ret.push(String.fromCharCode(chr));
-  }
-  return ret.join('');
-}
-Module["intArrayToString"] = intArrayToString;
-
-// Deprecated: This function should not be called because it is unsafe and does not provide
-// a maximum length limit of how many bytes it is allowed to write. Prefer calling the
-// function stringToUTF8Array() instead, which takes in a maximum length that can be used
-// to be secure from out of bounds writes.
-function writeStringToMemory(string, buffer, dontAddNull) {
-  Runtime.warnOnce('writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!');
-
-  var lastChar, end;
-  if (dontAddNull) {
-    // stringToUTF8Array always appends null. If we don't want to do that, remember the
-    // character that existed at the location where the null will be placed, and restore
-    // that after the write (below).
-    end = buffer + lengthBytesUTF8(string);
-    lastChar = HEAP8[end];
-  }
-  stringToUTF8(string, buffer, Infinity);
-  if (dontAddNull) HEAP8[end] = lastChar; // Restore the value under the null character.
-}
-Module["writeStringToMemory"] = writeStringToMemory;
-
-function writeArrayToMemory(array, buffer) {
-  assert(array.length >= 0, 'writeArrayToMemory array must have a length (should be an array or typed array)')
-  HEAP8.set(array, buffer);
-}
-Module["writeArrayToMemory"] = writeArrayToMemory;
-
-function writeAsciiToMemory(str, buffer, dontAddNull) {
-  for (var i = 0; i < str.length; ++i) {
-    assert(str.charCodeAt(i) === str.charCodeAt(i)&0xff);
-    HEAP8[((buffer++)>>0)]=str.charCodeAt(i);
-  }
-  // Null-terminate the pointer to the HEAP.
-  if (!dontAddNull) HEAP8[((buffer)>>0)]=0;
-}
-Module["writeAsciiToMemory"] = writeAsciiToMemory;
-
+
+/** @param {number|boolean=} ignore */
 function unSign(value, bits, ignore) {
   if (value >= 0) {
@@ -1427,4 +1501,5 @@
                     : Math.pow(2, bits)         + value;
 }
+/** @param {number|boolean=} ignore */
 function reSign(value, bits, ignore) {
   if (value <= 0) {
@@ -1442,28 +1517,18 @@
 
 
-// check for imul support, and also for correctness ( https://bugs.webkit.org/show_bug.cgi?id=126345 )
-if (!Math['imul'] || Math['imul'](0xffffffff, 5) !== -5) Math['imul'] = function imul(a, b) {
-  var ah  = a >>> 16;
-  var al = a & 0xffff;
-  var bh  = b >>> 16;
-  var bl = b & 0xffff;
-  return (al*bl + ((ah*bl + al*bh) << 16))|0;
-};
-Math.imul = Math['imul'];
-
-
-if (!Math['clz32']) Math['clz32'] = function(x) {
-  x = x >>> 0;
-  for (var i = 0; i < 32; i++) {
-    if (x & (1 << (31 - i))) return i;
-  }
-  return 32;
-};
-Math.clz32 = Math['clz32']
-
-if (!Math['trunc']) Math['trunc'] = function(x) {
-  return x < 0 ? Math.ceil(x) : Math.floor(x);
-};
-Math.trunc = Math['trunc'];
+
+
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
+
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround
+
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32
+
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc
+
+assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
+assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
+assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
+assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill');
 
 var Math_abs = Math.abs;
@@ -1485,11 +1550,14 @@
 var Math_round = Math.round;
 var Math_min = Math.min;
+var Math_max = Math.max;
 var Math_clz32 = Math.clz32;
 var Math_trunc = Math.trunc;
+
+
 
 // A counter of dependencies for calling run(). If we need to
 // do asynchronous work before running, increment this and
 // decrement it. Incrementing must happen in a place like
-// PRE_RUN_ADDITIONS (used by emcc to add file preloading).
+// Module.preRun (used by emcc to add file preloading).
 // Note that you can add dependencies in preRun, even though
 // it happens right before run - run will be postponed until
@@ -1506,12 +1574,13 @@
     id = orig + Math.random();
   }
-  return id;
 }
 
 function addRunDependency(id) {
   runDependencies++;
+
   if (Module['monitorRunDependencies']) {
     Module['monitorRunDependencies'](runDependencies);
   }
+
   if (id) {
     assert(!runDependencyTracking[id]);
@@ -1529,29 +1598,30 @@
           if (!shown) {
             shown = true;
-            Module.printErr('still waiting on run dependencies:');
-          }
-          Module.printErr('dependency: ' + dep);
+            err('still waiting on run dependencies:');
+          }
+          err('dependency: ' + dep);
         }
         if (shown) {
-          Module.printErr('(end of list)');
+          err('(end of list)');
         }
       }, 10000);
     }
   } else {
-    Module.printErr('warning: run dependency added without ID');
-  }
-}
-Module["addRunDependency"] = addRunDependency;
+    err('warning: run dependency added without ID');
+  }
+}
 
 function removeRunDependency(id) {
   runDependencies--;
+
   if (Module['monitorRunDependencies']) {
     Module['monitorRunDependencies'](runDependencies);
   }
+
   if (id) {
     assert(runDependencyTracking[id]);
     delete runDependencyTracking[id];
   } else {
-    Module.printErr('warning: run dependency removed without ID');
+    err('warning: run dependency removed without ID');
   }
   if (runDependencies == 0) {
@@ -1567,9 +1637,29 @@
   }
 }
-Module["removeRunDependency"] = removeRunDependency;
 
 Module["preloadedImages"] = {}; // maps url to image data
 Module["preloadedAudios"] = {}; // maps url to audio data
 
+/** @param {string|number=} what */
+function abort(what) {
+  if (Module['onAbort']) {
+    Module['onAbort'](what);
+  }
+
+  what += '';
+  out(what);
+  err(what);
+
+  ABORT = true;
+  EXITSTATUS = 1;
+
+  var output = 'abort(' + what + ') at ' + stackTrace();
+  what = output;
+
+  // Throw a wasm runtime error, because a JS error might be seen as a foreign
+  // exception, which means we'd run destructors on it. We need the error to
+  // simply make the program stop.
+  throw new WebAssembly.RuntimeError(what);
+}
 
 
@@ -1581,26 +1671,197 @@
 
 
+
+
+
+
+
+
+function hasPrefix(str, prefix) {
+  return String.prototype.startsWith ?
+      str.startsWith(prefix) :
+      str.indexOf(prefix) === 0;
+}
+
+// Prefix of data URIs emitted by SINGLE_FILE and related options.
+var dataURIPrefix = 'data:application/octet-stream;base64,';
+
+// Indicates whether filename is a base64 data URI.
+function isDataURI(filename) {
+  return hasPrefix(filename, dataURIPrefix);
+}
+
+var fileURIPrefix = "file://";
+
+// Indicates whether filename is delivered via file protocol (as opposed to http/https)
+function isFileURI(filename) {
+  return hasPrefix(filename, fileURIPrefix);
+}
+
+
+
+function createExportWrapper(name, fixedasm) {
+  return function() {
+    var displayName = name;
+    var asm = fixedasm;
+    if (!fixedasm) {
+      asm = Module['asm'];
+    }
+    assert(runtimeInitialized, 'native function `' + displayName + '` called before runtime initialization');
+    assert(!runtimeExited, 'native function `' + displayName + '` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
+    if (!asm[name]) {
+      assert(asm[name], 'exported native function `' + displayName + '` not found');
+    }
+    return asm[name].apply(null, arguments);
+  };
+}
+
+var wasmBinaryFile = 'mrbc.wasm';
+if (!isDataURI(wasmBinaryFile)) {
+  wasmBinaryFile = locateFile(wasmBinaryFile);
+}
+
+function getBinary() {
+  try {
+    if (wasmBinary) {
+      return new Uint8Array(wasmBinary);
+    }
+
+    if (readBinary) {
+      return readBinary(wasmBinaryFile);
+    } else {
+      throw "both async and sync fetching of the wasm failed";
+    }
+  }
+  catch (err) {
+    abort(err);
+  }
+}
+
+function getBinaryPromise() {
+  // If we don't have the binary yet, and have the Fetch api, use that;
+  // in some environments, like Electron's render process, Fetch api may be present, but have a different context than expected, let's only use it on the Web
+  if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === 'function'
+      // Let's not use fetch to get objects over file:// as it's most likely Cordova which doesn't support fetch for file://
+      && !isFileURI(wasmBinaryFile)
+      ) {
+    return fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function(response) {
+      if (!response['ok']) {
+        throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
+      }
+      return response['arrayBuffer']();
+    }).catch(function () {
+      return getBinary();
+    });
+  }
+  // Otherwise, getBinary should be able to get it synchronously
+  return new Promise(function(resolve, reject) {
+    resolve(getBinary());
+  });
+}
+
+
+
+// Create the wasm instance.
+// Receives the wasm imports, returns the exports.
+function createWasm() {
+  // prepare imports
+  var info = {
+    'env': asmLibraryArg,
+    'wasi_snapshot_preview1': asmLibraryArg
+  };
+  // Load the wasm module and create an instance of using native support in the JS engine.
+  // handle a generated wasm instance, receiving its exports and
+  // performing other necessary setup
+  /** @param {WebAssembly.Module=} module*/
+  function receiveInstance(instance, module) {
+    var exports = instance.exports;
+    Module['asm'] = exports;
+    removeRunDependency('wasm-instantiate');
+  }
+  // we can't run yet (except in a pthread, where we have a custom sync instantiator)
+  addRunDependency('wasm-instantiate');
+
+
+  // Async compilation can be confusing when an error on the page overwrites Module
+  // (for example, if the order of elements is wrong, and the one defining Module is
+  // later), so we save Module and check it later.
+  var trueModule = Module;
+  function receiveInstantiatedSource(output) {
+    // 'output' is a WebAssemblyInstantiatedSource object which has both the module and instance.
+    // receiveInstance() will swap in the exports (to Module.asm) so they can be called
+    assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?');
+    trueModule = null;
+    // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
+    // When the regression is fixed, can restore the above USE_PTHREADS-enabled path.
+    receiveInstance(output['instance']);
+  }
+
+
+  function instantiateArrayBuffer(receiver) {
+    return getBinaryPromise().then(function(binary) {
+      return WebAssembly.instantiate(binary, info);
+    }).then(receiver, function(reason) {
+      err('failed to asynchronously prepare wasm: ' + reason);
+
+
+      abort(reason);
+    });
+  }
+
+  // Prefer streaming instantiation if available.
+  function instantiateAsync() {
+    if (!wasmBinary &&
+        typeof WebAssembly.instantiateStreaming === 'function' &&
+        !isDataURI(wasmBinaryFile) &&
+        // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously.
+        !isFileURI(wasmBinaryFile) &&
+        typeof fetch === 'function') {
+      fetch(wasmBinaryFile, { credentials: 'same-origin' }).then(function (response) {
+        var result = WebAssembly.instantiateStreaming(response, info);
+        return result.then(receiveInstantiatedSource, function(reason) {
+            // We expect the most common failure cause to be a bad MIME type for the binary,
+            // in which case falling back to ArrayBuffer instantiation should work.
+            err('wasm streaming compile failed: ' + reason);
+            err('falling back to ArrayBuffer instantiation');
+            return instantiateArrayBuffer(receiveInstantiatedSource);
+          });
+      });
+    } else {
+      return instantiateArrayBuffer(receiveInstantiatedSource);
+    }
+  }
+  // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
+  // to manually instantiate the Wasm module themselves. This allows pages to run the instantiation parallel
+  // to any other async startup actions they are performing.
+  if (Module['instantiateWasm']) {
+    try {
+      var exports = Module['instantiateWasm'](info, receiveInstance);
+      return exports;
+    } catch(e) {
+      err('Module.instantiateWasm callback failed with error: ' + e);
+      return false;
+    }
+  }
+
+  instantiateAsync();
+  return {}; // no exports yet; we'll fill them in later
+}
+
+
+// Globals used by JS i64 conversions
+var tempDouble;
+var tempI64;
+
 // === Body ===
 
-var ASM_CONSTS = [];
-
-
-
-
-STATIC_BASE = 8;
-
-STATICTOP = STATIC_BASE + 77840;
-  /* global initializers */  __ATINIT__.push();
-  
-
-/* memory initializer */ allocate([108,210,0,0,118,210,0,0,149,210,0,0,194,210,0,0,255,210,0,0,42,211,0,0,99,211,0,0,145,211,0,0,188,211,0,0,221,211,0,0,252,211,0,0,0,0,0,0,0,0,0,0,221,248,0,0,2,0,0,0,245,248,0,0,3,0,0,0,133,216,0,0,4,0,0,0,164,220,0,0,10,0,0,0,65,0,1,0,8,0,0,0,58,0,1,0,9,0,0,0,72,0,1,0,11,0,0,0,167,216,0,0,12,0,0,0,174,216,0,0,13,0,0,0,78,0,1,0,6,0,0,0,181,216,0,0,14,0,0,0,31,255,0,0,15,0,0,0,6,255,0,0,16,0,0,0,44,255,0,0,17,0,0,0,30,14,1,0,19,0,0,0,187,216,0,0,21,0,0,0,192,216,0,0,255,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,33,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,34,0,0,0,167,234,0,0,172,234,0,0,178,234,0,0,189,234,0,0,203,234,0,0,218,234,0,0,230,234,0,0,244,234,0,0,255,234,0,0,14,235,0,0,28,235,0,0,42,235,0,0,54,235,0,0,68,235,0,0,83,235,0,0,98,235,0,0,110,235,0,0,123,235,0,0,137,235,0,0,150,235,0,0,163,235,0,0,176,235,0,0,190,235,0,0,203,235,0,0,216,235,0,0,230,235,0,0,241,235,0,0,252,235,0,0,12,236,0,0,29,236,0,0,47,236,0,0,62,236,0,0,76,236,0,0,90,236,0,0,103,236,0,0,115,236,0,0,128,236,0,0,142,236,0,0,154,236,0,0,165,236,0,0,177,236,0,0,189,236,0,0,205,236,0,0,220,236,0,0,235,236,0,0,251,236,0,0,9,237,0,0,23,237,0,0,35,237,0,0,51,237,0,0,67,237,0,0,87,237,0,0,99,237,0,0,104,237,0,0,110,237,0,0,116,237,0,0,126,237,0,0,132,237,0,0,139,237,0,0,148,237,0,0,155,237,0,0,161,237,0,0,170,237,0,0,178,237,0,0,186,237,0,0,199,237,0,0,211,237,0,0,220,237,0,0,230,237,0,0,242,237,0,0,249,237,0,0,1,238,0,0,6,238,0,0,11,238,0,0,15,238,0,0,20,238,0,0,25,238,0,0,30,238,0,0,35,238,0,0,42,238,0,0,48,238,0,0,55,238,0,0,63,238,0,0,69,238,0,0,75,238,0,0,81,238,0,0,87,238,0,0,94,238,0,0,101,238,0,0,109,238,0,0,117,238,0,0,126,238,0,0,133,238,0,0,141,238,0,0,153,238,0,0,161,238,0,0,169,238,0,0,177,238,0,0,189,238,0,0,195,238,0,0,202,238,0,0,210,238,0,0,218,238,0,0,230,238,0,0,241,238,0,0,254,238,0,0,10,239,0,0,23,239,0,0,36,239,0,0,44,239,0,0,57,239,0,0,70,239,0,0,85,239,0,0,103,239,0,0,119,239,0,0,134,239,0,0,142,239,0,0,146,239,0,0,150,239,0,0,154,239,0,0,158,239,0,0,162,239,0,0,166,239,0,0,170,239,0,0,174,239,0,0,178,239,0,0,182,239,0,0,186,239,0,0,190,239,0,0,194,239,0,0,206,239,0,0,210,239,0,0,214,239,0,0,226,239,0,0,230,239,0,0,234,239,0,0,238,239,0,0,242,239,0,0,246,239,0,0,250,239,0,0,254,239,0,0,2,240,0,0,6,240,0,0,10,240,0,0,15,240,0,0,23,240,0,0,31,240,0,0,35,240,0,0,48,240,0,0,58,240,0,0,67,240,0,0,70,240,0,0,79,240,0,0,88,240,0,0,94,240,0,0,99,240,0,0,103,240,0,0,116,240,0,0,121,240,0,0,132,240,0,0,145,240,0,0,159,240,0,0,175,240,0,0,179,240,0,0,187,240,0,0,192,240,0,0,203,240,0,0,214,240,0,0,224,240,0,0,234,240,0,0,244,240,0,0,254,240,0,0,2,241,0,0,8,241,0,0,14,241,0,0,20,241,0,0,25,241,0,0,36,241,0,0,40,241,0,0,43,241,0,0,52,241,0,0,56,241,0,0,66,241,0,0,76,241,0,0,87,241,0,0,102,241,0,0,116,241,0,0,126,241,0,0,139,241,0,0,142,241,0,0,152,241,0,0,166,241,0,0,171,241,0,0,176,241,0,0,184,241,0,0,187,241,0,0,190,241,0,0,194,241,0,0,199,241,0,0,203,241,0,0,207,241,0,0,212,241,0,0,217,241,0,0,222,241,0,0,227,241,0,0,232,241,0,0,237,241,0,0,241,241,0,0,245,241,0,0,249,241,0,0,253,241,0,0,1,242,0,0,5,242,0,0,9,242,0,0,13,242,0,0,27,242,0,0,32,242,0,0,35,242,0,0,43,242,0,0,52,242,0,0,60,242,0,0,67,242,0,0,79,242,0,0,87,242,0,0,99,242,0,0,115,242,0,0,131,242,0,0,143,242,0,0,152,242,0,0,157,242,0,0,168,242,0,0,180,242,0,0,189,242,0,0,194,242,0,0,205,242,0,0,217,242,0,0,229,242,0,0,233,242,0,0,237,242,0,0,247,242,0,0,253,242,0,0,8,243,0,0,17,243,0,0,25,243,0,0,36,243,0,0,44,243,0,0,51,243,0,0,62,243,0,0,76,243,0,0,80,243,0,0,88,243,0,0,95,243,0,0,103,243,0,0,122,243,0,0,137,243,0,0,150,243,0,0,169,243,0,0,191,243,0,0,195,243,0,0,201,243,0,0,208,243,0,0,221,243,0,0,225,243,0,0,233,243,0,0,241,243,0,0,250,243,0,0,2,244,0,0,10,244,0,0,100,0,1,0,18,244,0,0,23,244,0,0,33,244,0,0,40,244,0,0,50,244,0,0,61,244,0,0,72,244,0,0,78,244,0,0,89,244,0,0,95,244,0,0,107,244,0,0,122,244,0,0,131,244,0,0,144,244,0,0,155,244,0,0,167,244,0,0,179,244,0,0,195,244,0,0,205,244,0,0,210,244,0,0,221,244,0,0,228,244,0,0,234,244,0,0,244,244,0,0,255,244,0,0,10,245,0,0,23,245,0,0,33,245,0,0,40,245,0,0,47,245,0,0,56,245,0,0,64,245,0,0,69,245,0,0,72,245,0,0,77,245,0,0,83,245,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,195,248,0,0,20,1,0,0,20,1,0,0,6,0,0,0,201,248,0,0,17,1,0,0,17,1,0,0,0,0,0,0,206,248,0,0,33,1,0,0,33,1,0,0,1,0,0,0,210,248,0,0,13,1,0,0,13,1,0,0,0,0,0,0,100,14,1,0,14,1,0,0,14,1,0,0,1,0,0,0,27,242,0,0,15,1,0,0,15,1,0,0,0,0,0,0,217,248,0,0,38,1,0,0,38,1,0,0,4,0,0,0,221,248,0,0,35,1,0,0,35,1,0,0,1,0,0,0,227,248,0,0,32,1,0,0,32,1,0,0,1,0,0,0,232,248,0,0,16,1,0,0,16,1,0,0,10,0,0,0,238,248,0,0,12,1,0,0,43,1,0,0,6,0,0,0,245,248,0,0,34,1,0,0,34,1,0,0,1,0,0,0,250,248,0,0,9,1,0,0,42,1,0,0,10,0,0,0,0,249,0,0,7,1,0,0,40,1,0,0,10,0,0,0,7,249,0,0,29,1,0,0,29,1,0,0,6,0,0,0,14,249,0,0,4,1,0,0,4,1,0,0,7,0,0,0,18,249,0,0,36,1,0,0,36,1,0,0,10,0,0,0,32,242,0,0,25,1,0,0,25,1,0,0,0,0,0,0,22,249,0,0,30,1,0,0,30,1,0,0,4,0,0,0,28,249,0,0,10,1,0,0,10,1,0,0,10,0,0,0,32,249,0,0,11,1,0,0,11,1,0,0,7,0,0,0,38,249,0,0,37,1,0,0,37,1,0,0,10,0,0,0,41,249,0,0,24,1,0,0,24,1,0,0,10,0,0,0,44,249,0,0,19,1,0,0,19,1,0,0,10,0,0,0,49,249,0,0,23,1,0,0,23,1,0,0,1,0,0,0,55,249,0,0,6,1,0,0,39,1,0,0,10,0,0,0,58,249,0,0,18,1,0,0,18,1,0,0,10,0,0,0,63,249,0,0,22,1,0,0,22,1,0,0,1,0,0,0,68,249,0,0,21,1,0,0,21,1,0,0,6,0,0,0,73,249,0,0,31,1,0,0,31,1,0,0,4,0,0,0,79,249,0,0,3,1,0,0,3,1,0,0,10,0,0,0,94,14,1,0,5,1,0,0,5,1,0,0,0,0,0,0,86,249,0,0,47,1,0,0,47,1,0,0,1,0,0,0,95,249,0,0,48,1,0,0,48,1,0,0,1,0,0,0,104,249,0,0,49,1,0,0,49,1,0,0,1,0,0,0,117,249,0,0,46,1,0,0,46,1,0,0,1,0,0,0,121,249,0,0,44,1,0,0,44,1,0,0,7,0,0,0,127,249,0,0,45,1,0,0,45,1,0,0,1,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,31,11,1,0,2,1,0,0,2,1,0,0,9,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,244,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,133,249,0,0,8,1,0,0,41,1,0,0,10,0,0,0,35,0,0,0,248,9,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,253,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,11,0,0,9,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,5,40,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,11,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0,0,13,44,1,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,95,112,137,0,255,9,47,15,253,252,126,0,160,9,253,252,84,27,100,34,171,35,250,20,253,252,17,33,17,33,253,252,253,252,209,34,249,24,25,19,250,29,250,29,253,252,253,252,250,29,13,12,132,10,253,252,253,252,253,252,253,252,181,0,249,24,253,252,230,255,253,252,253,252,131,21,7,11,253,252,253,252,12,22,253,252,253,252,253,252,253,252,253,252,253,252,253,252,130,33,130,33,90,0,194,16,215,255,107,30,77,31,9,26,253,252,233,23,115,2,98,3,105,3,115,3,193,1,253,252,235,0,243,33,130,33,253,252,246,0,253,252,185,4,253,252,123,1,253,252,253,252,101,0,37,0,253,252,36,0,62,35,253,252,117,0,117,11,7,0,87,0,13,0,66,0,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,14,0,92,0,253,252,49,0,51,0,253,252,253,252,253,252,253,252,253,252,31,0,53,0,141,0,133,1,144,1,17,33,75,1,52,17,115,1,253,252,175,0,253,252,213,0,253,252,253,252,51,0,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,45,0,74,0,83,0,100,0,253,252,253,252,253,252,253,252,253,252,253,252,129,0,187,0,253,252,204,0,253,252,214,0,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,13,0,162,13,26,1,123,1,109,0,20,1,139,1,25,0,48,1,50,0,109,0,17,33,17,33,86,1,253,252,253,252,167,1,121,1,54,0,95,0,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,113,24,253,252,253,252,19,1,253,252,253,252,253,252,246,0,151,1,253,252,253,252,43,1,130,33,130,33,130,33,130,33,253,252,117,11,110,1,253,252,253,252,68,1,70,1,253,252,253,252,253,252,167,18,253,252,250,29,250,29,253,252,253,252,139,19,17,33,253,252,253,252,79,1,166,17,253,252,26,2,146,1,106,1,54,28,194,16,83,1,246,0,185,4,72,1,103,1,253,252,17,33,72,1,89,1,94,0,106,0,253,252,110,1,100,1,106,0,253,252,186,1,24,36,99,1,39,2,133,2,137,2,246,2,253,252,253,252,253,252,253,252,169,3,253,252,253,252,253,252,253,252,253,252,253,252,125,1,44,3,253,252,253,252,179,3,253,252,187,3,253,252,201,3,253,252,78,2,174,1,178,1,253,252,253,252,253,252,253,252,253,19,17,33,17,33,17,33,17,33,54,28,17,33,17,33,253,252,253,252,190,31,253,252,194,16,118,26,113,1,190,31,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,130,33,235,8,250,29,47,37,253,252,253,252,251,40,253,252,253,252,253,252,243,33,243,33,253,252,156,1,253,252,123,1,253,252,9,3,253,252,253,252,253,252,253,252,253,252,128,37,250,29,209,37,162,13,17,33,253,252,253,252,245,1,250,1,67,0,253,252,49,14,249,1,130,33,34,38,250,29,115,38,130,33,130,33,79,15,55,0,55,0,103,0,196,38,250,29,21,39,253,252,204,1,253,252,125,1,151,1,47,32,2,2,253,252,253,252,253,252,253,252,130,33,227,26,253,252,253,252,220,30,253,252,72,1,136,1,253,252,253,252,72,1,253,252,162,1,163,1,253,252,71,0,253,252,253,252,249,24,193,15,184,1,34,38,115,38,130,33,185,4,72,1,253,252,253,252,110,20,171,1,123,1,253,252,253,252,197,27,253,252,253,252,77,31,253,252,253,252,253,252,9,3,36,0,24,36,253,252,24,36,102,39,250,29,183,39,194,1,253,252,253,252,253,252,253,252,132,4,253,252,253,252,253,252,253,252,50,4,253,252,253,252,253,252,253,252,253,252,182,1,130,33,253,252,190,1,23,2,195,1,28,2,253,252,253,252,14,2,166,17,253,252,253,252,253,252,125,1,253,252,181,1,253,252,253,252,253,252,253,252,253,252,253,252,253,252,130,33,130,33,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,33,0,130,33,253,252,199,1,202,1,253,252,72,1,24,36,203,1,253,252,253,252,253,252,226,1,111,10,253,252,253,252,146,1,240,36,240,36,240,36,240,36,40,4,40,4,15,41,249,12,240,36,240,36,248,11,248,11,85,2,85,2,119,12,40,4,40,4,224,2,224,2,158,2,52,0,52,0,146,1,146,1,146,1,144,12,239,22,19,13,96,23,253,252,53,0,253,252,72,1,208,1,253,252,44,2,253,252,253,252,138,11,253,252,253,252,160,8,33,0,33,0,253,252,236,9,253,252,117,11,253,252,253,252,246,0,17,33,162,13,176,1,229,0,253,252,53,0,72,1,53,0,77,2,71,0,148,3,129,25,253,252,160,32,104,2,253,252,150,0,253,252,242,10,125,22,1,10,72,1,244,0,13,1,104,2,253,252,253,252,253,252,253,252,139,0,152,0,72,1,107,0,123,0,17,33,249,24,253,252,125,1,122,2,69,0,253,252,253,252,130,33,110,1,253,252,167,28,70,1,253,252,253,252,253,252,253,252,227,26,220,30,253,252,253,252,4,2,253,252,117,11,18,1,185,4,72,1,106,0,113,1,253,252,176,1,229,0,72,1,66,1,71,1,253,252,253,252,132,4,231,1,253,252,8,2,72,1,253,252,72,1,61,0,50,4,253,252,253,252,253,252,50,4,253,252,253,252,142,2,253,252,253,252,253,252,13,2,166,17,253,252,253,252,253,252,146,1,146,1,253,252,68,3,53,18,253,252,253,252,21,2,24,29,253,252,253,252,24,36,243,33,130,33,49,2,243,33,243,33,253,252,156,1,32,2,50,2,243,33,243,33,253,252,253,252,156,1,253,252,66,0,101,0,53,18,166,17,130,33,33,0,253,252,246,0,149,2,253,252,253,252,253,252,50,4,162,13,246,0,253,252,199,1,253,252,93,2,253,252,80,16,155,2,253,252,17,33,161,2,253,252,130,33,130,33,21,1,130,33,130,33,179,2,53,18,53,18,130,0,55,0,253,252,253,252,137,29,192,14,253,252,130,33,253,252,253,252,62,2,253,252,253,252,253,252,200,0,72,1,182,2,65,2,146,4,253,252,63,2,66,2,53,18,166,17,253,252,253,252,67,2,68,2,253,252,81,2,253,252,82,2,81,2,253,252,86,2,72,1,103,2,102,2,133,36,253,252,110,2,112,2,253,252,200,2,130,33,117,2,253,252,117,11,130,33,253,252,117,11,253,252,117,11,253,252,253,252,243,33,253,252,117,11,253,252,117,11,253,252,253,252,253,252,237,2,121,2,117,11,166,17,162,13,253,252,253,252,72,1,243,2,253,252,148,3,242,36,109,0,253,252,253,252,53,18,253,252,253,252,109,0,253,252,130,33,253,252,248,2,249,2,253,252,253,252,138,0,253,252,220,30,253,252,129,2,182,2,46,2,253,252,253,252,236,2,4,3,145,2,50,4,253,252,142,2,253,252,142,2,253,252,142,2,253,252,253,252,253,252,167,2,253,252,50,4,253,252,238,2,22,3,50,4,253,252,142,2,253,252,253,252,159,2,117,11,253,252,117,11,253,252,253,252,164,2,32,3,253,252,253,252,162,13,250,2,253,252,40,3,133,2,137,2,162,13,253,252,49,14,253,252,253,252,53,18,253,252,253,252,253,252,182,2,129,2,182,2,171,2,253,252,237,0,253,252,253,252,253,252,253,252,81,2,175,2,81,2,81,2,253,252,177,2,178,2,253,252,8,40,81,2,253,252,181,2,81,2,253,252,253,252,33,3,9,3,89,40,250,29,170,40,250,1,150,0,49,3,129,2,182,2,236,2,253,252,253,252,142,2,253,252,253,252,253,252,50,4,253,252,142,2,253,252,183,2,185,2,253,252,142,2,253,252,253,252,253,252,82,0,229,0,72,1,119,0,121,0,253,252,253,252,253,252,129,2,253,252,81,2,81,2,188,2,81,2,81,2,128,0,253,252,253,252,142,2,253,252,253,252,253,252,81,2,253,252,2,0,170,1,27,0,16,0,17,0,62,0,83,0,20,0,132,1,248,0,15,0,7,0,36,1,28,0,14,0,5,0,6,0,80,1,76,0,150,1,36,1,16,0,17,0,13,0,4,0,20,0,208,0,48,0,28,0,82,2,108,1,159,1,65,0,202,1,22,0,24,1,52,0,31,1,110,0,28,1,107,1,90,2,109,1,80,1,97,2,112,1,16,0,17,0,50,0,51,0,20,0,100,2,130,1,159,2,107,2,50,0,51,0,210,1,54,0,2,0,65,0,4,0,52,0,15,0,131,1,155,2,144,1,65,0,244,1,248,2,167,1,67,2,68,2,170,1,250,2,153,1,143,1,26,0,145,1,25,0,50,0,174,2,27,0,174,2,219,1,16,0,76,0,154,1,74,3,142,2,29,0,93,3,26,0,16,0,17,0,88,0,13,1,20,0,16,0,140,0,22,0,88,0,143,0,48,1,90,0,9,0,10,0,133,0,37,0,38,0,98,0,15,0,79,0,65,0,107,1,90,0,109,1,105,0,15,2,112,1,25,0,188,1,10,0,71,0,48,0,16,0,0,0,15,0,25,0,28,0,116,0,119,0,25,0,88,0,212,1,16,0,129,1,16,0,131,1,90,0,90,0,116,0,135,0,136,0,16,0,55,0,213,1,70,3,25,0,136,0,143,1,137,0,145,1,116,0,121,0,25,0,18,0,90,0,20,0,152,1,77,1,154,1,88,0,165,3,25,0,116,0,116,0,17,0,18,0,108,0,139,0,88,0,158,3,137,0,11,3,88,0,98,0,25,0,126,0,127,0,128,0,136,0,90,0,116,0,133,0,155,2,137,0,111,0,88,0,159,2,139,0,137,0,139,0,113,2,187,1,188,1,179,1,142,0,143,0,133,0,224,1,121,2,125,3,123,3,174,2,109,0,137,0,203,2,224,1,77,2,136,0,142,0,143,0,158,1,143,0,128,2,210,1,88,0,211,1,136,0,213,1,139,0,135,0,136,0,142,0,143,0,26,0,77,3,233,0,31,1,226,0,137,0,137,0,116,0,157,3,233,0,136,0,143,0,15,1,252,0,137,0,254,0,255,0,137,0,137,0,247,0,248,0,81,3,13,1,143,0,202,0,142,0,143,0,255,0,89,3,89,3,208,0,252,0,93,3,254,0,137,0,142,0,143,0,142,0,143,0,136,0,15,1,137,0,147,2,148,2,142,0,143,0,65,3,15,1,75,1,88,0,137,0,15,2,139,0,80,1,139,0,233,0,252,0,189,2,254,0,182,2,127,2,128,2,88,0,137,0,196,2,139,0,88,0,58,0,59,0,120,0,2,0,31,1,4,0,5,0,6,0,88,0,88,0,9,0,10,0,209,0,210,0,13,0,89,2,15,0,16,0,17,0,77,1,129,1,20,0,116,1,117,1,88,0,78,1,15,1,139,0,209,0,210,0,136,0,143,0,12,1,86,2,23,1,24,1,252,0,165,3,254,0,28,1,133,0,90,0,135,0,136,0,55,0,2,1,7,1,136,0,65,1,48,0,211,2,78,1,13,1,52,0,25,0,135,0,136,0,136,0,108,1,25,0,17,1,2,1,3,1,62,0,21,1,233,2,90,0,116,0,75,1,108,1,77,3,135,0,136,0,80,1,90,0,139,0,248,2,76,0,250,2,20,1,130,1,137,0,89,3,183,2,109,1,65,1,93,3,143,0,178,3,51,0,70,1,130,1,116,0,55,0,144,1,142,0,143,0,116,0,137,1,116,0,116,0,90,0,122,2,153,1,55,0,144,1,131,1,149,1,150,1,25,0,109,0,137,2,111,0,208,1,153,1,210,1,77,1,67,3,137,0,137,0,145,1,174,2,26,0,37,0,38,0,66,1,67,1,68,1,69,1,154,1,71,1,72,1,184,1,26,0,20,0,167,1,58,0,59,0,43,3,178,1,179,1,66,1,67,1,68,1,69,1,116,0,185,1,184,1,142,0,210,2,116,0,182,2,115,2,160,1,70,3,71,3,65,3,210,2,165,3,90,0,149,1,150,1,212,1,188,1,91,0,26,0,137,0,199,1,137,0,140,0,137,0,137,0,143,0,212,1,140,0,133,0,15,2,143,0,143,0,140,1,71,0,208,1,116,0,210,1,88,0,116,0,140,0,148,1,213,1,67,3,88,0,230,1,133,1,141,0,233,1,88,0,235,1,134,0,110,0,137,0,199,0,113,0,114,0,108,3,55,0,185,1,137,0,123,3,71,0,125,3,209,0,210,0,71,0,137,0,194,1,172,1,97,0,61,0,88,0,176,1,64,0,65,0,242,2,15,0,181,1,8,2,13,0,88,0,16,0,133,0,63,0,135,0,136,0,39,2,191,1,139,0,15,0,135,0,136,0,140,0,133,0,157,3,135,0,136,0,15,2,51,0,139,0,53,0,54,0,55,0,56,0,57,2,49,3,252,0,110,0,254,0,255,0,113,0,114,0,2,1,3,1,90,0,137,0,137,0,7,1,135,0,136,0,111,0,112,0,12,1,13,1,137,0,133,0,116,0,135,0,136,0,82,2,20,1,139,0,240,1,63,2,134,0,137,0,66,2,67,2,68,2,55,2,116,0,31,1,75,2,137,0,97,2,151,3,51,0,63,2,137,0,63,0,66,2,51,0,137,0,83,2,107,2,137,0,137,0,152,3,116,0,89,2,90,2,137,0,92,2,87,2,15,0,81,2,14,2,83,2,111,2,51,0,100,2,53,0,54,0,55,0,56,0,65,1,66,1,67,1,68,1,69,1,70,1,71,1,72,1,111,2,137,0,75,1,88,0,77,1,78,1,142,2,80,1,89,2,122,2,198,2,18,0,75,2,182,2,51,3,183,2,88,0,153,2,186,2,187,2,57,3,127,2,55,2,90,0,192,2,193,2,15,0,134,0,61,0,90,0,63,2,64,0,65,0,66,2,137,0,108,1,134,0,141,3,174,2,56,0,57,0,58,0,59,0,116,1,117,1,71,0,150,3,137,0,152,3,116,0,135,0,136,0,115,2,15,0,85,2,116,0,118,0,130,1,14,0,132,1,133,1,76,2,141,0,135,0,136,0,15,0,62,0,140,1,64,0,65,0,137,0,144,1,137,0,91,0,137,2,148,1,137,0,76,2,111,0,112,0,153,1,182,2,51,0,15,0,53,0,54,0,55,0,56,0,137,0,205,2,203,2,137,0,140,0,137,0,137,0,110,2,212,2,142,0,124,0,125,0,126,0,127,0,128,0,216,2,15,0,136,2,219,2,137,0,137,0,134,0,88,0,110,2,185,1,121,0,88,0,111,0,112,0,233,2,71,0,31,3,151,2,194,1,51,0,92,0,53,0,54,0,55,0,56,0,137,0,242,2,99,0,11,3,167,2,86,0,87,0,208,1,137,0,210,1,137,0,212,1,175,2,15,0,205,2,137,0,134,0,2,3,3,3,15,0,5,3,212,2,7,3,8,3,15,0,15,0,123,0,137,0,13,3,135,0,136,0,16,3,17,3,135,0,136,0,92,0,15,0,200,2,201,2,240,1,134,0,14,3,233,2,124,0,125,0,126,0,127,0,128,0,51,0,121,0,53,0,54,0,55,0,56,0,55,0,218,2,71,0,137,0,51,0,134,0,53,0,54,0,55,0,56,0,15,0,15,0,55,0,230,2,231,2,137,0,15,2,86,0,87,0,137,0,237,2,137,0,137,0,50,3,221,2,137,0,65,3,15,0,2,0,139,0,4,0,139,0,137,0,185,1,247,2,9,0,10,0,254,2,255,2,6,0,221,2,15,0,16,0,17,0,66,2,92,0,20,0,233,1,13,0,235,1,159,2,98,0,99,0,162,2,123,0,124,0,125,0,126,0,127,0,128,0,88,0,154,3,51,3,147,2,199,2,174,2,128,3,158,3,57,3,62,0,153,3,64,0,65,0,88,0,48,0,246,1,123,0,76,2,77,2,126,0,7,0,42,3,51,0,155,2,53,0,54,0,55,0,56,0,62,0,46,3,89,3,88,0,139,0,54,3,133,3,134,3,135,3,136,3,49,3,138,3,139,3,151,3,198,0,142,3,255,255,144,3,145,3,135,0,136,0,255,255,255,255,110,2,151,3,255,255,153,3,154,3,178,3,255,255,111,0,112,0,135,0,136,0,255,255,92,0,63,0,64,0,65,0,152,3,255,255,98,0,99,0,63,0,64,0,65,0,255,255,109,0,255,255,111,0,135,0,136,0,255,255,63,0,64,0,65,0,255,255,255,255,255,255,186,3,187,3,188,3,189,3,190,3,255,255,114,3,123,0,116,3,255,255,126,0,119,3,198,3,255,255,255,255,51,0,255,255,53,0,54,0,55,0,56,0,167,2,255,255,255,255,255,255,111,0,112,0,143,0,255,255,175,2,255,255,255,255,111,0,112,0,255,255,255,255,182,2,183,2,255,255,255,255,186,2,187,2,111,0,112,0,255,255,255,255,192,2,193,2,63,0,64,0,65,0,255,255,255,255,255,255,200,2,201,2,92,0,255,255,63,0,64,0,65,0,255,255,98,0,99,0,255,255,211,2,63,0,64,0,65,0,255,255,16,0,17,0,218,2,255,255,20,0,221,2,255,255,77,3,199,0,79,3,63,0,64,0,65,0,83,3,230,2,231,2,255,255,123,0,209,0,210,0,126,0,237,2,255,255,93,3,255,255,95,3,111,0,112,0,255,255,45,0,46,0,255,255,255,255,139,0,50,0,51,0,111,0,112,0,254,2,255,2,41,1,255,255,255,255,255,255,111,0,112,0,62,0,63,0,49,1,255,255,255,255,52,1,255,255,54,1,14,3,56,1,255,255,58,1,111,0,112,0,255,255,252,0,255,255,254,0,255,0,255,255,255,255,2,1,3,1,255,255,255,255,31,3,7,1,255,255,255,255,255,255,255,255,12,1,13,1,255,255,255,255,255,255,42,3,43,3,255,255,20,1,255,255,255,255,255,255,255,255,50,3,161,3,255,255,255,255,54,3,165,3,255,255,167,3,255,255,255,255,255,255,255,255,172,3,51,0,255,255,53,0,54,0,55,0,56,0,255,255,255,255,2,3,3,3,71,0,5,3,255,255,7,3,8,3,255,255,255,255,255,255,255,255,13,3,255,255,194,3,16,3,17,3,255,255,86,0,87,0,65,1,66,1,67,1,68,1,69,1,70,1,71,1,72,1,255,255,255,255,75,1,255,255,77,1,255,255,92,0,80,1,255,255,255,255,108,3,255,255,98,0,99,0,255,255,255,255,114,3,255,255,116,3,255,255,255,255,119,3,255,255,255,255,255,255,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,108,1,255,255,123,0,255,255,255,255,126,0,255,255,255,255,116,1,117,1,255,255,255,255,51,0,255,255,53,0,54,0,55,0,56,0,151,3,255,255,255,255,255,255,130,1,255,255,132,1,133,1,51,0,255,255,53,0,54,0,55,0,56,0,140,1,255,255,255,255,255,255,144,1,255,255,255,255,255,255,148,1,255,255,255,255,255,255,255,255,153,1,255,255,255,255,255,255,238,0,239,0,240,0,241,0,92,0,40,0,41,0,42,0,43,0,44,0,98,0,255,255,255,255,255,255,252,0,255,255,254,0,255,0,92,0,255,255,133,3,134,3,135,3,136,3,98,0,138,3,139,3,255,255,185,1,142,3,255,255,144,3,145,3,255,255,255,255,255,255,255,255,194,1,255,255,255,255,255,255,2,0,255,255,4,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,13,0,255,255,255,255,212,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,186,3,187,3,188,3,189,3,190,3,255,255,255,255,255,255,255,255,255,255,240,1,255,255,198,3,255,255,48,0,255,255,255,255,255,255,255,255,255,255,75,1,255,255,255,255,255,255,255,255,80,1,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,94,1,95,1,96,1,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,255,255,108,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,116,1,117,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,130,1,255,255,111,0,255,255,255,255,2,0,255,255,4,0,255,255,255,255,255,255,255,255,142,1,255,255,144,1,255,255,146,1,147,1,255,255,255,255,255,255,255,255,255,255,153,1,255,255,255,255,255,255,76,2,77,2,255,255,160,1,255,255,255,255,255,255,255,255,255,255,166,1,167,1,255,255,255,255,170,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,189,1,255,255,110,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,199,1,255,255,255,255,202,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,212,1,255,255,255,255,255,255,255,255,255,255,255,255,51,0,199,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,2,0,231,1,4,0,5,0,6,0,7,0,255,255,255,255,255,255,255,255,255,255,13,0,255,255,255,255,111,0,255,255,255,255,255,255,167,2,255,255,255,255,255,255,255,255,255,255,254,1,255,1,175,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,183,2,9,2,255,255,186,2,187,2,255,255,255,255,255,255,255,255,192,2,193,2,255,255,48,0,255,255,255,255,255,255,52,0,200,2,201,2,255,255,7,1,255,255,255,255,255,255,255,255,12,1,13,1,255,255,211,2,255,255,255,255,255,255,255,255,255,255,255,255,218,2,255,255,255,255,221,2,255,255,76,0,255,255,255,255,255,255,255,255,255,255,255,255,230,2,231,2,255,255,255,255,255,255,255,255,255,255,237,2,2,0,255,255,4,0,5,0,6,0,255,255,255,255,255,255,255,255,255,255,255,255,13,0,255,255,199,0,255,255,255,255,254,2,255,2,255,255,255,255,111,0,255,255,255,255,65,1,255,255,255,255,89,2,255,255,70,1,255,255,255,255,255,255,255,255,255,255,255,255,77,1,255,255,255,255,80,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,255,255,255,255,31,3,52,0,255,255,255,255,255,255,255,255,118,2,255,255,255,255,121,2,255,255,42,3,43,3,255,255,255,255,127,2,128,2,255,255,255,255,255,255,255,255,255,255,255,255,54,3,255,255,76,0,255,255,255,255,7,1,255,255,255,255,255,255,255,255,12,1,13,1,255,255,255,255,255,255,238,0,239,0,240,0,132,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,140,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,148,1,255,255,199,0,111,0,255,255,255,255,255,255,255,255,255,255,255,255,179,2,255,255,255,255,255,255,183,2,184,2,255,255,186,2,187,2,255,255,108,3,255,255,255,255,192,2,193,2,255,255,114,3,255,255,116,3,65,1,255,255,119,3,255,255,202,2,70,1,255,255,255,255,185,1,255,255,255,255,255,255,77,1,255,255,255,255,255,255,255,255,194,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,224,2,225,2,255,255,227,2,228,2,255,255,255,255,255,255,151,3,255,255,255,255,7,1,236,2,255,255,255,255,239,2,12,1,13,1,255,255,75,1,255,255,255,255,255,255,255,255,80,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,1,199,0,240,1,255,255,255,255,255,255,132,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,140,1,255,255,255,255,20,3,255,255,255,255,255,255,24,3,148,1,255,255,255,255,255,255,255,255,255,255,31,3,255,255,255,255,255,255,255,255,255,255,65,1,255,255,255,255,255,255,255,255,70,1,255,255,255,255,255,255,255,255,255,255,255,255,77,1,78,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,59,3,255,255,255,255,185,1,255,255,255,255,255,255,255,255,67,3,7,1,255,255,255,255,194,1,160,1,12,1,13,1,255,255,255,255,255,255,166,1,167,1,255,255,255,255,170,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,31,1,255,255,255,255,255,255,255,255,255,255,77,2,255,255,255,255,255,255,255,255,255,255,132,1,255,255,255,255,255,255,255,255,255,255,255,255,199,1,140,1,255,255,202,1,255,255,255,255,240,1,255,255,255,255,148,1,255,255,255,255,255,255,255,255,255,255,65,1,255,255,255,255,255,255,255,255,70,1,255,255,255,255,255,255,255,255,255,255,255,255,77,1,78,1,255,255,255,255,255,255,231,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,151,3,255,255,255,255,255,255,255,255,255,255,185,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,194,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,9,2,255,255,255,255,208,1,255,255,210,1,255,255,255,255,255,255,255,255,255,255,167,2,255,255,255,255,255,255,255,255,132,1,255,255,255,255,175,2,255,255,255,255,255,255,255,255,140,1,255,255,255,255,183,2,255,255,255,255,255,255,255,255,148,1,77,2,255,255,240,1,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,200,2,201,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,211,2,255,255,255,255,255,255,255,255,255,255,255,255,218,2,255,255,255,255,255,255,15,2,255,255,255,255,185,1,255,255,255,255,255,255,255,255,230,2,231,2,255,255,255,255,194,1,255,255,89,2,237,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,208,1,255,255,210,1,255,255,255,255,255,255,254,2,255,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,118,2,255,255,255,255,121,2,255,255,255,255,255,255,255,255,255,255,127,2,128,2,255,255,255,255,255,255,167,2,240,1,255,255,255,255,255,255,77,2,255,255,255,255,175,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,42,3,43,3,255,255,255,255,255,255,255,255,255,255,255,255,50,3,255,255,255,255,255,255,54,3,15,2,200,2,201,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,211,2,255,255,255,255,179,2,255,255,255,255,255,255,218,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,230,2,231,2,255,255,255,255,255,255,255,255,255,255,237,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,108,3,255,255,254,2,255,2,255,255,255,255,114,3,255,255,116,3,77,2,167,2,119,3,255,255,255,255,255,255,255,255,255,255,255,255,175,2,236,2,255,255,255,255,239,2,255,255,255,255,182,2,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,200,2,201,2,255,255,42,3,43,3,255,255,0,0,255,255,255,255,255,255,255,255,211,2,255,255,255,255,255,255,54,3,20,3,255,255,218,2,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,255,255,230,2,231,2,26,0,27,0,255,255,255,255,255,255,237,2,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,255,255,255,255,254,2,255,2,167,2,255,255,255,255,255,255,255,255,255,255,255,255,67,3,175,2,255,255,255,255,255,255,255,255,108,3,14,3,182,2,255,255,255,255,255,255,114,3,255,255,116,3,255,255,255,255,119,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,200,2,201,2,255,255,255,255,255,255,88,0,255,255,255,255,255,255,42,3,43,3,211,2,255,255,255,255,255,255,255,255,255,255,50,3,218,2,255,255,255,255,54,3,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,230,2,231,2,255,255,255,255,255,255,255,255,255,255,237,2,255,255,255,255,255,255,255,255,255,255,51,0,52,0,255,255,255,255,55,0,255,255,255,255,133,0,134,0,255,255,136,0,254,2,255,2,139,0,140,0,255,255,142,0,143,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,14,3,255,255,80,0,81,0,255,255,108,3,84,0,85,0,86,0,87,0,255,255,114,3,255,255,116,3,255,255,255,255,119,3,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,42,3,43,3,255,255,255,255,255,255,255,255,255,255,255,255,50,3,255,255,255,255,255,255,54,3,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,108,3,255,255,255,255,255,255,255,255,255,255,114,3,255,255,116,3,0,0,1,0,119,3,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,255,255,255,255,255,255,255,255,19], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE);
-/* memory initializer */ allocate([255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,0,0,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,44,0,255,255,255,255,255,255,27,0,28,0,29,0,255,255,255,255,129,0,130,0,131,0,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,142,0,143,0,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,90,0,91,0,255,255,255,255,255,255,255,255,117,0,97,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,108,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,116,0,117,0,118,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,255,255,134,0,135,0,136,0,137,0,255,255,255,255,140,0,141,0,142,0,143,0,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,44,0,255,255,255,255,26,0,27,0,28,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,255,255,91,0,255,255,255,255,255,255,255,255,117,0,97,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,137,0,117,0,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,133,0,134,0,135,0,136,0,137,0,255,255,139,0,140,0,141,0,142,0,143,0,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,44,0,255,255,255,255,255,255,27,0,28,0,29,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,255,255,91,0,255,255,255,255,255,255,255,255,117,0,97,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,108,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,117,0,118,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,255,255,134,0,135,0,136,0,137,0,255,255,255,255,140,0,141,0,142,0,143,0,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,255,255,255,255,255,255,26,0,27,0,28,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,255,255,91,0,255,255,255,255,255,255,255,255,117,0,97,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,117,0,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,133,0,134,0,135,0,136,0,137,0,255,255,139,0,140,0,141,0,142,0,143,0,13,0,14,0,15,0,16,0,17,0,18,0,255,255,20,0,255,255,255,255,255,255,255,255,255,255,255,255,27,0,28,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,255,255,91,0,255,255,255,255,255,255,255,255,255,255,97,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,117,0,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,255,255,134,0,135,0,136,0,137,0,255,255,139,0,140,0,141,0,142,0,143,0,13,0,14,0,15,0,255,255,17,0,18,0,255,255,20,0,255,255,255,255,255,255,255,255,255,255,26,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,90,0,255,255,117,0,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,116,0,117,0,143,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,0,0,255,255,133,0,134,0,135,0,136,0,137,0,255,255,255,255,140,0,255,255,142,0,143,0,13,0,14,0,15,0,255,255,17,0,18,0,255,255,20,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,37,0,38,0,255,255,40,0,41,0,42,0,43,0,44,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,255,255,80,0,81,0,255,255,255,255,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,255,255,255,255,86,0,87,0,88,0,255,255,90,0,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,116,0,117,0,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,255,255,255,255,255,255,134,0,135,0,136,0,137,0,255,255,255,255,140,0,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,255,255,255,255,18,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,15,0,255,255,17,0,18,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,15,0,255,255,255,255,18,0,19,0,20,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,15,0,255,255,255,255,18,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,134,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,14,0,15,0,255,255,255,255,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,140,0,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,140,0,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,134,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,143,0,1,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,15,0,255,255,255,255,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,142,0,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,143,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,142,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,142,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,139,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,133,0,255,255,255,255,255,255,255,255,255,255,139,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,133,0,21,0,22,0,23,0,24,0,255,255,139,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,90,0,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,116,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,129,0,130,0,131,0,255,255,19,0,255,255,21,0,22,0,23,0,24,0,139,0,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,139,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,129,0,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,139,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,105,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,53,0,54,0,55,0,56,0,255,255,255,255,255,255,255,255,255,255,255,255,63,0,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,105,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,255,255,255,255,55,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,101,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,255,255,255,255,55,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,137,0,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,137,0,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,110,0,255,255,255,255,113,0,114,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,46,0,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,110,0,255,255,255,255,113,0,114,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,45,0,255,255,47,0,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,110,0,255,255,255,255,113,0,114,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,110,0,255,255,255,255,113,0,114,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240);
-/* memory initializer */ allocate([255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,110,0,255,255,255,255,113,0,114,0,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,99,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,69,0,70,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,255,255,255,255,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,129,0,130,0,131,0,19,0,255,255,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,86,0,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,98,0,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,19,0,129,0,21,0,22,0,23,0,24,0,255,255,255,255,255,255,255,255,255,255,30,0,31,0,32,0,33,0,34,0,35,0,36,0,255,255,255,255,39,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,48,0,49,0,255,255,51,0,52,0,53,0,54,0,55,0,56,0,255,255,58,0,59,0,60,0,255,255,255,255,63,0,255,255,255,255,66,0,67,0,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,255,255,255,255,86,0,87,0,255,255,255,255,255,255,89,0,255,255,255,255,92,0,93,0,255,255,95,0,96,0,255,255,255,255,255,255,100,0,101,0,102,0,103,0,104,0,105,0,106,0,255,255,255,255,109,0,255,255,255,255,51,0,52,0,255,255,255,255,55,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,255,255,129,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,98,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,51,0,52,0,255,255,255,255,55,0,255,255,138,0,139,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,255,255,255,255,80,0,81,0,255,255,255,255,84,0,85,0,86,0,87,0,255,255,255,255,255,255,71,0,72,0,73,0,74,0,75,0,76,0,77,0,98,0,255,255,80,0,81,0,255,255,255,255,255,255,255,255,86,0,87,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,255,255,130,0,131,0,255,255,255,255,255,255,255,255,255,255,255,255,138,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,99,0,123,2,3,1,242,0,242,0,61,1,115,1,242,0,84,2,171,1,235,0,194,0,226,1,5,1,230,0,115,0,115,0,18,2,79,1,104,2,237,1,248,0,248,0,115,0,100,0,248,0,148,1,18,1,230,0,207,2,57,2,114,2,65,1,123,2,0,1,203,1,32,1,208,1,124,1,205,1,55,2,219,2,63,2,23,2,226,2,66,2,247,0,247,0,25,1,29,1,247,0,229,2,82,2,6,3,232,2,24,1,28,1,139,2,42,1,67,0,235,0,67,0,115,0,236,0,83,2,1,3,97,2,64,1,168,2,69,3,120,2,200,2,201,2,120,2,72,3,107,2,55,2,113,1,63,2,162,255,23,1,12,3,101,2,14,3,152,2,139,1,115,0,83,2,130,3,246,2,254,2,143,3,113,1,245,0,250,0,188,254,191,1,251,0,159,255,237,254,1,1,110,1,237,254,244,1,49,254,201,0,201,0,7,1,71,1,72,1,118,1,201,0,173,2,236,0,53,2,49,254,61,2,0,1,181,2,61,2,155,255,83,2,208,0,81,1,14,1,139,1,3,0,233,0,156,255,73,1,162,255,118,1,160,255,46,254,142,2,160,255,53,2,158,255,61,2,117,1,147,1,162,255,188,254,188,254,161,255,11,1,83,2,124,3,158,255,111,1,53,2,170,255,61,2,75,1,174,2,161,255,218,2,189,1,160,1,53,2,14,2,61,2,47,254,143,3,159,255,155,255,155,255,221,2,218,2,255,2,252,0,45,254,130,3,76,1,87,3,107,1,119,1,157,255,104,1,105,1,106,1,46,254,116,1,156,255,114,1,3,3,163,255,14,1,44,254,7,3,255,0,170,255,255,0,168,2,53,2,61,2,171,1,231,0,232,0,114,1,153,2,168,2,156,3,72,3,17,3,121,1,236,2,42,3,237,1,206,2,47,254,231,0,232,0,113,2,232,0,123,2,208,1,42,254,53,2,45,254,61,2,237,253,108,1,109,1,159,255,159,255,119,254,6,3,235,0,207,1,42,1,199,1,163,255,80,1,184,3,159,1,44,254,232,0,194,1,242,0,164,255,242,0,242,0,202,1,168,255,169,1,169,1,1,3,18,1,232,0,236,0,231,0,232,0,180,1,14,3,1,3,236,0,248,0,14,3,248,0,166,255,160,255,160,255,158,255,158,255,42,254,235,0,169,255,152,2,249,2,161,255,161,255,120,3,193,1,10,2,43,254,167,255,208,1,237,253,19,2,2,1,236,0,247,0,29,3,247,0,22,3,120,2,120,2,119,254,165,255,36,3,236,253,54,254,59,1,60,1,127,1,81,0,115,0,81,0,116,0,116,0,129,1,50,254,204,0,204,0,201,0,201,0,214,0,215,2,204,0,204,0,204,0,18,1,80,2,204,0,69,2,71,2,234,254,16,2,236,0,2,1,149,1,150,1,43,254,232,0,190,1,237,1,201,1,201,1,172,1,14,3,175,1,201,1,119,254,227,2,119,254,119,254,138,1,182,1,186,1,54,254,0,2,81,0,47,3,115,0,14,1,33,1,168,255,130,1,131,1,50,254,242,0,166,255,195,1,181,1,183,1,204,0,197,1,63,3,228,2,160,255,12,2,180,1,134,3,234,254,234,254,12,2,59,3,236,253,152,2,33,1,152,2,196,1,242,0,158,3,139,3,18,2,62,2,67,0,144,3,232,0,191,3,122,1,5,2,180,1,158,255,123,1,242,0,231,0,232,0,189,255,91,2,142,1,161,255,146,1,241,2,242,0,151,1,180,1,62,2,103,2,103,2,155,1,204,0,245,2,81,0,138,2,180,1,207,1,14,1,123,2,175,255,157,1,62,2,18,3,240,253,71,1,72,1,201,0,201,0,201,0,201,0,62,2,6,2,7,2,130,2,239,253,160,1,122,2,125,1,126,1,105,3,169,1,169,1,1,2,2,2,3,2,4,2,168,255,99,0,230,0,162,1,46,3,166,255,208,1,237,2,115,2,152,2,126,3,121,3,237,1,188,3,189,1,236,0,236,0,242,0,62,2,166,1,233,253,168,255,137,2,167,1,168,255,170,1,166,255,168,255,180,1,166,255,185,1,207,1,166,255,232,0,92,2,81,1,115,0,190,255,115,0,54,254,156,255,192,1,100,2,62,2,120,2,143,1,157,2,85,2,198,1,157,2,50,254,157,2,204,1,241,1,210,1,81,0,242,1,243,1,148,3,206,1,67,0,164,255,152,2,254,1,152,2,204,0,204,0,255,1,17,2,135,2,124,2,73,2,57,1,152,1,126,2,45,1,46,1,241,2,88,2,129,2,177,2,89,2,233,253,93,2,240,253,238,1,54,254,54,254,185,2,134,2,240,253,116,2,144,1,145,1,125,2,239,253,152,2,50,254,50,254,115,0,146,2,239,253,215,1,216,1,217,1,218,1,190,2,237,1,204,0,169,2,204,0,204,0,242,1,243,1,204,0,204,0,192,2,127,2,128,2,81,0,153,1,154,1,47,1,48,1,81,0,81,0,175,255,233,253,145,2,233,253,233,253,190,2,204,0,237,253,166,2,197,2,132,2,155,2,197,2,177,2,177,2,188,2,160,255,33,1,204,2,159,2,190,2,178,3,161,2,194,2,162,2,165,2,194,2,164,2,3,255,197,2,190,2,179,2,182,2,83,2,183,2,217,2,220,2,168,255,220,2,213,2,208,2,188,2,180,2,194,2,234,2,146,2,220,2,215,1,216,1,217,1,218,1,81,0,204,0,204,0,204,0,204,0,81,0,204,0,204,0,230,0,248,2,204,0,187,1,81,0,33,1,190,2,204,0,12,2,169,1,37,3,218,2,236,0,207,1,114,3,19,2,211,1,253,2,25,3,27,3,116,3,242,2,189,2,193,2,32,3,34,3,235,2,243,2,253,1,31,3,196,2,45,1,46,1,199,2,250,2,204,0,9,3,53,2,253,2,52,1,54,1,56,1,58,1,204,0,204,0,81,1,53,2,2,255,61,2,158,255,144,1,188,1,236,0,45,3,209,2,161,255,24,3,204,0,54,3,81,0,204,0,201,0,30,3,212,1,213,1,58,3,44,1,81,0,45,1,46,1,166,255,204,0,125,3,50,3,201,1,81,0,169,255,205,2,47,1,48,1,204,0,115,0,146,2,60,3,215,1,216,1,217,1,218,1,67,3,44,3,177,2,70,3,73,3,77,3,79,3,201,0,48,3,74,3,102,1,103,1,104,1,105,1,106,1,52,3,97,3,244,2,56,3,81,3,83,3,86,3,48,254,233,2,81,0,88,3,244,254,47,1,48,1,103,2,81,1,100,3,251,2,81,0,146,2,219,1,215,1,216,1,217,1,218,1,89,3,169,1,221,1,253,2,10,3,94,1,95,1,33,1,93,3,33,1,95,3,204,0,19,3,102,3,236,0,1,255,103,3,157,2,157,2,107,3,157,2,236,0,157,2,157,2,117,3,118,3,222,1,123,3,157,2,48,254,48,254,157,2,157,2,244,254,244,254,147,2,131,3,39,3,40,3,81,0,132,3,115,0,236,0,102,1,103,1,104,1,105,1,106,1,127,3,137,3,215,1,216,1,217,1,218,1,140,3,53,3,81,1,0,255,214,1,146,3,215,1,216,1,217,1,218,1,147,3,175,3,149,3,61,3,62,3,157,3,33,1,94,1,95,1,161,3,65,3,165,3,167,3,115,0,201,0,172,3,220,2,183,3,98,0,237,253,98,0,236,253,194,3,131,2,68,3,98,0,98,0,75,3,76,3,120,0,57,3,98,0,98,0,98,0,198,2,219,1,98,0,160,2,212,0,163,2,5,3,220,1,221,1,8,3,101,1,102,1,103,1,104,1,105,1,106,1,233,254,182,3,236,0,247,2,38,3,13,3,159,3,185,3,236,0,248,1,181,3,45,1,46,1,141,3,98,0,170,2,222,1,204,0,81,0,223,1,197,0,104,3,214,1,2,3,215,1,216,1,217,1,218,1,98,0,106,3,138,3,150,3,224,1,115,3,157,2,157,2,157,2,157,2,108,3,157,2,157,2,242,0,135,1,157,2,0,0,157,2,157,2,233,254,233,254,0,0,0,0,204,0,180,1,0,0,91,2,220,2,190,2,0,0,47,1,48,1,130,1,131,1,0,0,219,1,51,1,45,1,46,1,62,2,0,0,220,1,221,1,53,1,45,1,46,1,0,0,98,0,0,0,98,0,151,3,152,3,0,0,55,1,45,1,46,1,0,0,0,0,0,0,157,2,157,2,157,2,157,2,157,2,0,0,153,3,222,1,154,3,0,0,223,1,155,3,157,2,0,0,0,0,214,1,0,0,215,1,216,1,217,1,218,1,81,0,0,0,0,0,0,0,47,1,48,1,232,0,0,0,81,0,0,0,0,0,47,1,48,1,0,0,0,0,33,1,204,0,0,0,0,0,204,0,204,0,47,1,48,1,0,0,0,0,204,0,204,0,238,1,45,1,46,1,0,0,0,0,0,0,81,0,81,0,219,1,0,0,250,1,45,1,46,1,0,0,220,1,221,1,0,0,81,0,251,1,45,1,46,1,0,0,243,0,243,0,81,0,0,0,243,0,204,0,0,0,133,3,98,0,135,3,252,1,45,1,46,1,136,3,81,0,81,0,0,0,222,1,98,0,98,0,223,1,81,0,0,0,142,3,0,0,145,3,47,1,48,1,0,0,8,1,10,1,0,0,0,0,210,2,243,0,243,0,47,1,48,1,81,0,81,0,239,1,0,0,0,0,0,0,47,1,48,1,62,1,63,1,249,1,0,0,0,0,249,1,0,0,249,1,92,3,249,1,0,0,249,1,47,1,48,1,0,0,98,0,0,0,98,0,98,0,0,0,0,0,98,0,98,0,0,0,0,0,204,0,98,0,0,0,0,0,0,0,0,0,98,0,98,0,0,0,0,0,0,0,81,0,81,0,0,0,98,0,0,0,0,0,0,0,0,0,111,3,186,3,0,0,0,0,81,0,187,3,0,0,189,3,0,0,0,0,0,0,0,0,190,3,214,1,0,0,215,1,216,1,217,1,218,1,0,0,0,0,78,3,80,3,81,1,82,3,0,0,84,3,85,3,0,0,0,0,0,0,0,0,90,3,0,0,198,3,94,3,96,3,0,0,94,1,95,1,98,0,98,0,98,0,98,0,98,0,98,0,98,0,98,0,0,0,0,0,98,0,0,0,98,0,0,0,219,1,98,0,0,0,0,0,81,0,0,0,220,1,221,1,0,0,0,0,81,0,0,0,81,0,0,0,0,0,81,0,0,0,0,0,0,0,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,98,0,0,0,222,1,0,0,0,0,223,1,0,0,0,0,98,0,98,0,0,0,0,0,146,2,0,0,215,1,216,1,217,1,218,1,204,0,0,0,0,0,0,0,98,0,0,0,98,0,98,0,146,2,0,0,215,1,216,1,217,1,218,1,98,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,243,0,243,0,243,0,62,1,147,2,66,1,67,1,68,1,69,1,70,1,148,2,0,0,0,0,0,0,243,0,0,0,243,0,243,0,147,2,0,0,160,3,162,3,163,3,164,3,71,3,166,3,168,3,0,0,98,0,171,3,0,0,173,3,174,3,0,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,78,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,3,193,3,195,3,196,3,197,3,0,0,0,0,0,0,0,0,0,0,98,0,0,0,199,3,0,0,78,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,21,2,24,2,25,2,26,2,27,2,28,2,29,2,30,2,31,2,32,2,33,2,34,2,35,2,36,2,37,2,38,2,39,2,40,2,41,2,42,2,43,2,44,2,45,2,46,2,47,2,48,2,49,2,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,70,2,72,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,78,0,0,0,0,0,95,0,0,0,95,0,0,0,0,0,0,0,0,0,94,2,0,0,243,0,0,0,70,2,72,2,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,98,0,98,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,243,0,243,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,133,2,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,26,1,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,243,0,94,0,117,0,117,0,117,0,0,0,0,0,0,0,0,0,0,0,216,0,0,0,0,0,95,0,0,0,0,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,171,2,172,2,98,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,243,0,0,0,98,0,98,0,0,0,0,0,0,0,0,0,98,0,98,0,0,0,94,0,0,0,0,0,0,0,34,1,98,0,98,0,0,0,78,0,0,0,0,0,0,0,0,0,78,0,78,0,0,0,98,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,0,0,98,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,98,0,98,0,0,0,0,0,0,0,0,0,0,0,98,0,97,0,0,0,97,0,118,0,118,0,0,0,0,0,0,0,0,0,0,0,0,0,217,0,0,0,95,0,0,0,0,0,98,0,98,0,0,0,0,0,94,0,0,0,0,0,78,0,0,0,0,0,243,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,20,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,98,0,35,1,0,0,0,0,0,0,0,0,243,0,0,0,0,0,243,0,0,0,98,0,98,0,0,0,0,0,243,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,35,1,0,0,0,0,95,0,0,0,0,0,0,0,0,0,95,0,95,0,0,0,0,0,0,0,163,1,164,1,165,1,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,94,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,94,2,23,3,0,0,26,3,28,3,0,0,98,0,0,0,0,0,33,3,35,3,0,0,98,0,0,0,98,0,95,0,0,0,98,0,0,0,41,3,95,0,0,0,0,0,78,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,3,28,3,0,0,33,3,35,3,0,0,0,0,0,0,98,0,0,0,0,0,94,0,243,0,0,0,0,0,243,0,94,0,94,0,0,0,11,2,0,0,0,0,0,0,0,0,22,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,1,97,0,78,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,0,0,243,0,0,0,0,0,0,0,99,3,95,0,0,0,0,0,0,0,0,0,0,0,101,3,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,3,0,0,0,0,95,0,0,0,0,0,0,0,0,0,243,0,97,0,0,0,0,0,95,0,22,2,97,0,97,0,0,0,0,0,0,0,117,2,119,2,0,0,0,0,26,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,119,2,94,0,0,0,26,1,0,0,0,0,95,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,35,1,0,0,0,0,0,0,158,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,178,2,0,0,0,0,34,1,0,0,34,1,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,20,2,0,0,0,0,0,0,0,0,97,0,95,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,0,0,0,34,1,0,0,0,0,97,0,0,0,0,0,0,0,0,0,78,0,78,0,0,0,0,0,97,0,0,0,214,2,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,1,0,0,35,1,0,0,0,0,0,0,78,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,238,2,0,0,0,0,240,2,0,0,0,0,0,0,0,0,0,0,119,2,26,1,0,0,0,0,0,0,95,0,97,0,0,0,0,0,0,0,94,0,0,0,0,0,95], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+20480);
-/* memory initializer */ allocate([78,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,110,3,0,0,0,0,0,0,78,0,35,1,95,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,0,0,21,3,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,95,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,95,0,95,0,0,0,0,0,78,0,0,0,78,0,97,0,94,0,78,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,64,3,0,0,0,0,66,3,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,94,0,0,0,95,0,95,0,0,0,213,253,0,0,0,0,0,0,0,0,94,0,0,0,0,0,0,0,95,0,98,3,0,0,94,0,213,253,213,253,213,253,213,253,213,253,213,253,0,0,213,253,0,0,0,0,0,0,94,0,94,0,213,253,213,253,0,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,0,0,213,253,213,253,213,253,213,253,213,253,0,0,0,0,0,0,94,0,94,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,26,1,97,0,0,0,0,0,0,0,0,0,95,0,117,0,35,1,0,0,0,0,0,0,95,0,0,0,95,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,97,0,0,0,0,0,0,0,213,253,0,0,0,0,0,0,94,0,94,0,97,0,0,0,0,0,0,0,0,0,0,0,112,3,97,0,0,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,97,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,50,2,51,2,0,0,0,0,52,2,0,0,0,0,213,253,213,253,0,0,213,253,97,0,97,0,255,0,213,253,0,0,213,253,213,253,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,118,0,0,0,173,0,174,0,0,0,94,0,175,0,176,0,177,0,178,0,0,0,94,0,0,0,94,0,0,0,0,0,94,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,97,0,0,0,0,0,0,0,0,0,0,0,0,0,113,3,0,0,0,0,0,0,97,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,97,0,213,253,4,0,97,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,29,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,234,254,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,234,254,234,254,234,254,234,254,234,254,234,254,0,0,234,254,0,0,0,0,202,2,0,0,0,0,0,0,234,254,234,254,234,254,0,0,0,0,61,0,62,0,63,0,0,0,0,0,234,254,234,254,0,0,234,254,234,254,234,254,234,254,234,254,213,253,213,253,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,0,0,0,0,234,254,234,254,234,254,0,0,225,2,234,254,0,0,0,0,0,0,0,0,96,1,234,254,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,234,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,255,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,0,0,0,0,120,254,0,0,0,0,234,254,234,254,234,254,234,254,0,0,0,0,234,254,234,254,234,254,234,254,120,254,120,254,120,254,120,254,120,254,120,254,0,0,120,254,0,0,0,0,184,2,0,0,0,0,120,254,120,254,120,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,120,254,120,254,0,0,120,254,120,254,120,254,120,254,120,254,0,0,0,0,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,0,0,0,0,120,254,120,254,120,254,0,0,0,0,120,254,0,0,0,0,0,0,0,0,96,1,120,254,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,26,255,120,254,0,0,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,120,254,0,0,0,0,243,254,0,0,120,254,120,254,120,254,120,254,120,254,0,0,255,0,120,254,120,254,120,254,120,254,243,254,243,254,243,254,243,254,243,254,243,254,0,0,243,254,0,0,0,0,184,2,0,0,0,0,0,0,243,254,243,254,243,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,254,243,254,0,0,243,254,243,254,243,254,243,254,243,254,0,0,0,0,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,0,0,0,0,243,254,243,254,243,254,0,0,0,0,243,254,0,0,0,0,0,0,0,0,96,1,243,254,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,243,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,243,254,0,0,0,0,213,253,0,0,0,0,243,254,243,254,243,254,243,254,0,0,0,0,243,254,243,254,243,254,243,254,213,253,213,253,213,253,213,253,213,253,213,253,0,0,213,253,0,0,0,0,0,0,0,0,0,0,213,253,213,253,213,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,0,0,213,253,213,253,213,253,213,253,213,253,0,0,0,0,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,0,0,0,0,213,253,213,253,213,253,0,0,0,0,213,253,0,0,0,0,0,0,0,0,96,1,213,253,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,0,0,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,213,253,0,0,0,0,227,254,0,0,213,253,213,253,213,253,213,253,213,253,0,0,255,0,213,253,213,253,213,253,213,253,227,254,227,254,227,254,227,254,227,254,227,254,0,0,227,254,0,0,0,0,0,0,0,0,0,0,0,0,227,254,227,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,227,254,227,254,0,0,227,254,227,254,227,254,227,254,227,254,0,0,0,0,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,212,253,212,253,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,0,0,0,0,227,254,227,254,227,254,0,0,0,0,227,254,0,0,0,0,0,0,0,0,0,0,227,254,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,227,254,0,0,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,227,254,0,0,0,0,233,253,0,0,0,0,227,254,227,254,227,254,227,254,0,0,252,0,227,254,227,254,227,254,227,254,233,253,233,253,233,253,0,0,233,253,233,253,0,0,233,253,0,0,0,0,0,0,0,0,0,0,233,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,253,233,253,0,0,233,253,233,253,233,253,233,253,233,253,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,89,1,90,1,91,1,92,1,93,1,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,0,0,0,0,233,253,233,253,233,253,0,0,186,2,0,0,96,1,0,0,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,255,233,253,232,0,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,233,253,0,0,0,0,234,254,0,0,233,253,233,253,233,253,233,253,167,255,0,0,0,0,233,253,0,0,233,253,233,253,234,254,234,254,234,254,0,0,234,254,234,254,0,0,234,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,254,234,254,0,0,234,254,234,254,234,254,234,254,234,254,81,1,82,1,83,1,84,1,85,1,86,1,87,1,88,1,0,0,90,1,91,1,0,0,0,0,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,0,0,0,0,234,254,234,254,234,254,0,0,187,2,0,0,0,0,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,157,255,234,254,0,0,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,234,254,0,0,0,0,0,0,0,0,0,0,234,254,234,254,234,254,165,255,0,0,0,0,234,254,0,0,234,254,234,254,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,213,253,213,253,213,253,0,0,0,0,213,253,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,213,253,0,0,213,253,213,253,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,213,253,0,0,0,0,213,253,15,0,213,253,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,213,253,0,0,0,0,213,253,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,213,253,213,253,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,29,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,213,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,213,253,213,253,0,0,0,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,213,253,213,253,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,13,1,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,213,253,0,0,213,253,213,253,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,213,253,0,0,213,253,213,253,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,213,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,213,253,213,253,12,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,213,253,0,0,0,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,213,253,213,253,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,239,0,240,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,61,0,241,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,232,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,231,0,232,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,61,0,62,0,63,0,0,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,232,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,29,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,0,0,61,0,62,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,162,1,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,1,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,0,0,0,0,0,0,145,0,146,0,147,0,148,0,149,0,150,0,151,0,152,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,155,0,156,0,157,0,158,0,159,0,160,0,161,0,162,0,35,0,36,0,163,0,38,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,193,0,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,253,0,0,240,253,240,253,240,253,240,253,0,0,240,253,0,0,0,0,0,0,240,253,240,253,240,253,240,253,240,253,240,253,240,253,0,0,0,0,240,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,253,240,253,0,0,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,0,0,0,0,240,253,0,0,0,0,240,253,240,253,0,0,240,253,240,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,253,0,0,0,0,240,253,240,253,0,0,240,253,240,253,0,0,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,240,253,0,0,0,0,240,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,253,240,253,240,253,0,0,240,253,0,0,0,0,0,0,0,0,0,0,240,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,253,0,0,239,253,239,253,239,253,239,253,0,0,239,253,0,0,0,0,0,0,239,253,239,253,239,253,239,253,239,253,239,253,239,253,0,0,0,0,239,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,253,239,253,0,0,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,0,0,0,0,239,253,0,0,0,0,239,253,239,253,0,0,239,253,239,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,239,253,0,0,0,0,239,253,239,253,0,0,239,253,239,253,0,0,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,239,253,0,0,0,0,239,253,0,0,0,0,0,0,0,0,0,0,0,0,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,0,0,0,0,0,0,0,0,239,253,239,253,239,253,237,253,239,253,237,253,237,253,237,253,237,253,0,0,239,253,0,0,0,0,0,0,237,253,237,253,237,253,237,253,237,253,237,253,237,253,0,0,0,0,237,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,253,237,253,0,0,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,0,0,0,0,237,253,0,0,0,0,237,253,237,253,0,0,237,253,237,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,237,253,224,2,0,0,237,253,237,253,0,0,237,253,237,253,0,0,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,237,253,0,0,0,0,237,253,0,0,0,0,0,0,0,0,0,0,0,0,159,255,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,0,0,0,0,0,0,237,253,237,253,237,253,0,0,235,253,0,0,235,253,235,253,235,253,235,253,237,253,0,0,0,0,0,0,0,0,235,253,235,253,235,253,235,253,235,253,235,253,235,253,0,0,0,0,235,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,253,235,253,0,0,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,0,0,0,0,235,253,0,0,0,0,235,253,235,253,0,0,235,253,235,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,235,253,0,0,0,0,235,253,235,253,0,0,235,253,235,253,0,0,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,235,253,0,0,0,0,235,253,0,0,0,0,0,0,0,0,0,0,0,0,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,0,0,0,0,0,0,0,0,235,253,235,253,235,253,234,253,0,0,234,253,234,253,234,253,234,253,0,0,235,253,0,0,0,0,0,0,234,253,234,253,234,253,234,253,234,253,234,253,234,253,0,0,0,0,234,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,253,234,253,0,0,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,0,0,0,0,234,253,0,0,0,0,234,253,234,253,0,0,234,253,234,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,253,0,0,0,0,234,253,234,253,0,0,234,253,234,253,0,0,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,234,253,0,0,0,0,234,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,253,234,253,234,253,0,0,0,0,0,0,0,0,0,0,0,0,0,0,234,253,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,0,0,0,0,0,0,145,0,146,0,147,0,218,0,219,0,220,0,221,0,152,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,155,0,156,0,157,0,222,0,223,0,160,0,224,0,162,0,37,1,38,1,225,0,39,1,0,0,0,0,0,0,0,0,0,0,0,0,40,1,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,0,0,0,0,0,0,145,0,146,0,147,0,218,0,219,0,220,0,221,0,152,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,155,0,156,0,157,0,222,0,223,0,160,0,224,0,162,0,37,1,38,1,225,0,39,1,0,0,0,0,0,0,0,0,0,0,0,0,40,1,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,156,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,0,0,0,0,0,0,145,0,146,0,147,0,218,0,219,0,220,0,221,0,152,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,155,0,156,0,157,0,222,0,223,0,160,0,224,0,162,0,0,0,0,0,225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,226,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,0,130,0,131,0,132,0,133,0,134,0,135,0,136,0,137,0,138,0,139,0,140,0,141,0,142,0,143,0,144,0,0,0,0,0,0,0,145,0,146,0,147,0,218,0,219,0,220,0,221,0,152,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,155,0,156,0,157,0,222,0,223,0,160,0,224,0,162,0,0,0,0,0,225,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,31,1,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,15,2,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,118,2,240,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,241,1,0,0,0,0,242,1,243,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,29,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,118,2,0,0,53,0,54,0,55,0,56], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+30738);
-/* memory initializer */ allocate([57,0,58,0,59,0,0,0,0,0,60,0,241,1,0,0,0,0,242,1,243,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,239,2,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,241,1,0,0,0,0,242,1,243,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,20,3,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,241,1,0,0,0,0,242,1,243,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,118,2,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,241,1,0,0,0,0,242,1,243,1,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,239,0,240,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,239,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,240,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,238,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,9,2,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,239,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,9,2,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,62,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,16,0,17,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,45,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,61,0,241,0,63,0,15,0,0,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,107,0,34,0,35,0,36,0,108,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,0,0,0,0,0,110,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,0,0,0,0,0,48,0,49,0,0,0,50,0,51,0,0,0,52,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,77,1,49,0,0,0,50,0,51,0,0,0,78,1,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,107,0,34,0,35,0,36,0,108,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,110,0,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,30,1,0,0,0,0,77,1,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,91,3,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,112,0,101,0,102,0,18,0,19,0,0,0,0,0,0,0,0,0,0,0,103,0,104,0,105,0,23,0,24,0,25,0,26,0,0,0,0,0,106,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,32,0,0,0,33,0,34,0,35,0,36,0,37,0,38,0,0,0,39,0,40,0,41,0,0,0,0,0,42,0,0,0,0,0,43,0,44,0,0,0,81,1,212,253,212,253,212,253,212,253,86,1,87,1,0,0,0,0,212,253,212,253,0,0,0,0,0,0,0,0,94,1,95,1,0,0,0,0,0,0,109,3,0,0,0,0,111,0,49,0,0,0,50,0,51,0,0,0,0,0,0,0,53,0,54,0,55,0,56,0,57,0,58,0,59,0,0,0,0,0,60,0,0,0,0,0,58,2,59,2,0,0,0,0,60,2,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,0,0,0,0,112,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,78,2,51,2,0,0,0,0,79,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,64,2,59,2,0,0,0,0,65,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,95,2,51,2,0,0,0,0,96,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,98,2,59,2,0,0,0,0,99,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,105,2,51,2,0,0,0,0,106,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,108,2,59,2,0,0,0,0,109,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,140,2,51,2,0,0,0,0,141,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,143,2,59,2,0,0,0,0,144,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,169,3,51,2,0,0,0,0,170,3,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,176,3,51,2,0,0,0,0,177,3,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,179,3,59,2,0,0,0,0,180,3,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,64,2,59,2,0,0,0,0,65,2,0,0,192,0,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,164,0,165,0,166,0,167,0,168,0,169,0,170,0,171,0,172,0,0,0,0,0,173,0,174,0,0,0,0,0,175,0,176,0,177,0,178,0,0,0,0,0,0,0,81,1,82,1,83,1,84,1,85,1,86,1,87,1,179,0,0,0,90,1,91,1,0,0,0,0,0,0,0,0,94,1,95,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,180,0,181,0,182,0,183,0,184,0,185,0,186,0,187,0,188,0,189,0,0,0,190,0,191,0,0,0,0,0,0,0,0,0,0,0,0,0,192,0,97,1,98,1,99,1,100,1,101,1,102,1,103,1,104,1,105,1,106,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,14,1,0,0,0,0,40,1,43,1,0,0,0,0,28,2,64,1,65,1,66,1,67,1,26,1,248,0,248,0,210,1,209,1,211,1,212,1,30,2,0,0,10,0,0,0,214,1,213,1,202,1,18,2,204,1,203,1,206,1,205,1,198,1,199,1,158,1,159,1,215,1,216,1,0,0,0,0,0,0,0,0,16,1,43,2,43,2,78,0,35,1,0,0,0,0,0,0,0,0,0,0,0,0,173,1,0,0,0,0,0,0,3,0,28,2,6,0,9,0,27,0,39,0,42,0,50,0,49,0,0,0,66,0,0,0,70,0,80,0,0,0,47,0,229,0,0,0,51,0,33,1,6,1,7,1,8,1,9,1,10,1,156,1,155,1,187,1,157,1,154,1,208,1,0,0,11,1,12,1,248,0,5,0,8,0,64,1,65,1,26,1,29,1,136,1,0,0,102,0,103,0,0,0,0,0,0,0,0,0,105,0,217,1,68,1,0,0,208,1,12,1,0,0,56,1,156,0,166,0,157,0,153,0,182,0,183,0,184,0,185,0,164,0,179,0,172,0,162,0,161,0,177,0,160,0,159,0,155,0,180,0,154,0,167,0,171,0,173,0,165,0,158,0,174,0,181,0,176,0,175,0,168,0,178,0,163,0,152,0,170,0,169,0,151,0,149,0,150,0,146,0,147,0,148,0,107,0,109,0,108,0,141,0,142,0,138,0,120,0,121,0,122,0,129,0,126,0,128,0,123,0,124,0,143,0,144,0,130,0,131,0,135,0,125,0,127,0,117,0,118,0,119,0,132,0,133,0,134,0,136,0,137,0,139,0,140,0,145,0,8,2,58,1,110,0,111,0,7,2,0,0,0,0,0,0,48,0,0,0,0,0,0,0,208,1,0,0,12,1,0,0,0,0,0,0,0,0,79,1,78,1,0,0,0,0,208,1,12,1,175,0,168,0,178,0,163,0,146,0,147,0,107,0,108,0,0,0,112,0,114,0,20,0,113,0,37,2,39,2,28,2,0,0,41,2,38,2,29,2,0,0,0,0,0,0,0,0,243,0,230,0,253,0,64,0,247,0,43,2,43,2,12,2,65,0,63,0,30,2,62,0,0,0,43,2,135,1,61,0,30,2,0,0,31,2,18,0,0,0,0,0,207,0,0,0,208,0,23,1,0,0,0,0,0,0,28,2,15,0,30,2,68,0,14,0,0,0,30,2,0,0,34,2,34,2,231,0,0,0,0,0,34,2,10,2,0,0,0,0,76,0,0,0,86,0,93,0,236,1,192,1,191,1,193,1,194,1,0,0,190,1,189,1,171,1,165,1,164,1,167,1,0,0,0,0,162,1,185,1,0,0,196,1,0,0,160,1,0,0,169,1,0,0,200,1,201,1,46,0,222,0,223,0,4,0,29,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,1,125,1,0,0,82,0,0,0,74,0,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,2,0,0,27,2,26,2,0,0,140,1,138,1,34,1,0,0,0,0,129,1,55,0,32,1,53,1,102,0,103,0,104,0,200,1,201,1,218,1,51,1,0,0,43,2,0,0,0,0,0,0,59,1,61,1,0,0,43,2,23,1,70,1,0,0,69,1,0,0,0,0,43,2,0,0,0,0,0,0,0,0,0,0,0,0,23,1,0,0,43,2,0,0,48,1,0,0,115,0,174,1,0,0,0,0,0,0,42,2,15,2,254,0,250,0,0,0,0,0,244,0,252,0,0,0,245,0,30,2,0,0,28,1,249,0,30,2,239,0,43,2,43,2,238,0,30,2,31,1,45,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,30,2,21,1,13,0,29,2,67,0,17,1,20,1,24,1,36,2,232,0,35,2,36,2,234,0,25,1,11,2,92,0,84,0,0,0,79,0,0,0,0,0,43,2,0,0,242,1,239,1,238,1,237,1,240,1,0,0,255,1,3,2,2,2,254,1,236,1,36,1,120,1,241,1,243,1,245,1,43,2,0,0,252,1,43,2,1,2,43,2,0,0,235,1,195,1,0,0,0,0,178,1,183,1,182,1,168,1,176,1,0,0,180,1,172,1,163,1,186,1,197,1,161,1,170,1,0,0,0,0,7,0,21,0,22,0,23,0,24,0,25,0,43,0,44,0,43,2,0,0,28,0,37,0,0,0,38,0,30,2,0,0,72,0,83,0,41,0,40,0,0,0,186,0,253,0,36,0,204,0,212,0,217,0,218,0,219,0,214,0,216,0,226,0,227,0,220,0,221,0,197,0,198,0,224,0,225,0,30,2,213,0,215,0,209,0,210,0,211,0,199,0,200,0,201,0,202,0,203,0,19,2,24,2,20,2,25,2,134,1,248,0,132,1,30,2,19,2,21,2,20,2,22,2,133,1,248,0,19,2,20,2,248,0,43,2,43,2,29,0,188,0,35,0,196,0,53,0,56,0,0,0,0,0,0,0,102,0,103,0,106,0,0,0,30,2,43,2,0,0,30,2,236,1,0,0,15,1,43,2,43,2,146,1,43,2,71,1,186,0,23,2,20,2,30,2,19,2,20,2,43,2,73,1,41,1,72,1,44,1,23,2,22,1,30,2,19,2,20,2,0,0,0,0,40,2,175,1,0,0,0,0,47,1,14,2,0,0,255,0,251,0,0,0,43,2,13,2,27,1,32,2,235,0,240,0,242,0,30,1,19,0,0,0,26,0,195,0,69,0,16,0,30,2,34,2,85,0,77,0,89,0,91,0,30,2,19,2,20,2,247,1,242,1,0,0,91,1,82,1,84,1,30,2,80,1,30,2,0,0,0,0,228,1,6,2,248,1,0,0,231,1,0,2,0,0,233,1,4,2,188,1,0,0,0,0,177,1,179,1,181,1,205,0,206,0,111,1,30,2,0,0,109,1,108,1,5,1,0,0,81,0,75,0,0,0,0,0,0,0,0,0,0,0,0,0,131,1,59,0,0,0,137,1,0,0,0,0,237,0,130,1,57,0,236,0,126,1,52,0,0,0,0,0,0,0,43,2,54,1,0,0,0,0,137,1,57,1,9,2,236,1,0,0,0,0,62,1,147,1,148,1,43,2,149,1,0,0,43,2,76,1,0,0,0,0,74,1,0,0,0,0,137,1,0,0,0,0,0,0,0,0,0,0,137,1,0,0,116,0,46,1,0,0,0,0,0,1,0,0,1,1,246,0,43,2,11,0,18,1,233,0,87,0,30,2,0,0,89,1,0,0,244,1,0,0,113,1,0,0,0,0,37,1,246,1,43,2,43,2,5,2,43,2,253,1,43,2,43,2,166,1,0,0,30,2,0,0,43,2,0,0,250,1,43,2,43,2,107,1,0,0,0,0,3,1,73,0,187,0,0,0,34,0,193,0,33,0,194,0,60,0,33,2,0,0,31,0,191,0,32,0,192,0,58,0,127,1,128,1,0,0,0,0,189,0,0,0,0,0,219,1,52,1,30,2,0,0,221,1,236,1,0,0,0,0,151,1,77,1,0,0,12,0,153,1,0,0,38,1,0,0,39,1,0,0,0,0,49,1,255,0,43,2,2,1,241,0,81,1,92,1,0,0,87,1,83,1,119,1,0,0,0,0,0,0,0,0,224,1,0,0,226,1,0,0,232,1,0,0,229,1,234,1,184,1,0,0,110,1,98,1,100,1,0,0,249,1,0,0,103,1,0,0,105,1,124,1,4,1,228,0,30,0,190,0,141,1,139,1,0,0,0,0,220,1,60,1,0,0,0,0,150,1,0,0,94,0,101,0,0,0,152,1,0,0,42,1,45,1,0,0,143,1,144,1,142,1,0,0,90,1,0,0,85,1,117,1,30,2,115,1,118,1,122,1,121,1,43,2,43,2,43,2,43,2,112,1,43,2,43,2,23,1,0,0,43,2,251,1,43,2,43,2,54,0,55,1,0,0,100,0,0,0,43,2,0,0,43,2,43,2,0,0,88,1,0,0,0,0,114,1,225,1,0,0,222,1,227,1,230,1,0,0,95,1,0,0,97,1,23,2,22,1,104,1,0,0,101,1,106,1,63,1,23,2,99,0,30,2,19,2,20,2,145,1,75,1,50,1,86,1,116,1,43,2,43,2,43,2,43,2,43,2,137,1,223,1,96,1,0,0,93,1,99,1,102,1,43,2,94,1,0,0,144,0,146,0,145,0,147,0,148,0,148,0,148,0,148,0,149,0,150,0,149,0,151,0,152,0,153,0,153,0,153,0,153,0,155,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,154,0,156,0,156,0,157,0,157,0,157,0,157,0,157,0,157,0,158,0,159,0,159,0,160,0,160,0,162,0,161,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,163,0,164,0,164,0,165,0,165,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,166,0,167,0,167,0,168,0,168,0,169,0,169,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,170,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,171,0,172,0,172,0,173,0,173,0,173,0,174,0,174,0,174,0,174,0,174,0,175,0,175,0,176,0,177,0,176,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,178,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,179,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,181,0,182,0,182,0,182,0,182,0,183,0,184,0,184,0,185,0,185,0,185,0,185,0,185,0,186,0,186,0,186,0,186,0,186,0,188,0,187,0,189,0,190,0,190,0,191,0,191,0,191,0,191,0,191,0,191,0,192,0,192,0,192,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,194,0,193,0,195,0,196,0,193,0,197,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,193,0,198,0,199,0,193,0,193,0,193,0,200,0,201,0,193,0,202,0,203,0,193,0,193,0,193,0,204,0,205,0,193,0,206,0,193,0,207,0,208,0,193,0,209,0,193,0,210,0,211,0,193,0,212,0,213,0,193,0,193,0,193,0,193,0,193,0,214,0,215,0,215,0,215,0,216,0,216,0,217,0,217,0,218,0,218,0,219,0,219,0,220,0,220,0,221,0,221,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,222,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,223,0,224,0,224,0,225,0,225,0,225,0,226,0,226,0,227,0,227,0,228,0,228,0,229,0,229,0,230,0,230,0,232,0,231,0,233,0,233,0,233,0,233,0,234,0,234,0,234,0,234,0,234,0,234,0,234,0,234,0,234,0,236,0,235,0,237,0,235,0,238,0,239,0,239,0,240,0,240,0,241,0,241,0,241,0,242,0,242,0,243,0,243,0,244,0,244,0,244,0,244,0,245,0,245,0,245,0,245,0,246,0,246,0,247,0,248,0,247,0,247,0,247,0,249,0,249,0,250,0,250,0,251,0,252,0,252,0,253,0,253,0,254,0,254,0,255,0,255,0,0,1,1,1,0,1,2,1,2,1,3,1,3,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,12,1,13,1,12,1,14,1,14,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,21,1,22,1,23,1,23,1,24,1,24,1,25,1,25,1,26,1,26,1,27,1,27,1,28,1,29,1,29,1,30,1,31,1,30,1,32,1,32,1,33,1,33,1,34,1,34,1,35,1,35,1,35,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,38,1,38,1,39,1,39,1,40,1,40,1,41,1,42,1,43,1,43,1,43,1,44,1,44,1,46,1,45,1,47,1,47,1,48,1,253,252,253,252,253,252,141,1,253,252,20,0,253,252,132,254,76,0,253,252,57,0,253,252,193,254,96,0,112,0,199,255,253,252,94,254,253,252,243,255,72,3,83,255,235,255,198,255,6,255,103,254,240,255,3,5,184,255,70,3,4,0,241,255,253,252,253,252,7,255,253,252,238,3,150,5,253,252,12,0,15,1,178,254,77,0,78,0,253,252,159,254,17,255,30,0,219,254,10,0,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,253,252,38,1,74,255,125,254,200,255,207,253,253,252,80,253,77,253,209,0,253,252,4,254,253,252,163,253,253,252,202,255,253,252,253,252,158,0,253,252,253,252,253,252,179,255,253,252,253,252,128,254,253,252,210,255,253,252,253,252,253,252,253,252,253,252,94,2,253,2,253,252,253,252,253,252,253,252,253,252,55,255,80,254,253,252,122,1,253,252,253,252,253,252,0,0,253,252,253,252,253,252,210,5,115,5,110,3,43,6,253,252,253,252,86,0,232,254,14,253,121,254,166,253,184,0,165,253,150,253,254,252,38,0,221,0,253,252,30,254,253,252,240,254,107,1,253,252,253,252,253,252,5,0,87,254,63,3,189,254,253,252,197,2,2,0,231,255,80,0,203,253,11,255,251,255,48,0,253,252,223,255,254,255,255,255,1,0,2,0,64,0,65,0,66,0,6,1,136,1], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+40978);
-/* memory initializer */ allocate([137,1,15,1,16,1,184,1,68,0,69,0,202,0,70,0,71,0,74,2,203,2,72,0,73,0,17,1,74,0,75,0,76,0,209,1,77,0,203,0,113,0,114,0,227,0,228,0,229,0,111,2,195,0,196,0,79,0,244,0,22,1,54,2,195,2,176,1,177,1,253,0,254,0,246,0,168,1,178,1,13,2,80,0,199,0,20,1,136,2,21,1,36,1,154,2,209,0,230,2,210,0,231,2,110,2,119,3,77,2,75,2,43,3,132,1,134,1,86,2,87,2,49,3,9,1,140,1,102,2,222,2,223,2,215,0,149,2,150,2,151,2,11,3,175,2,176,2,252,2,128,3,129,3,225,1,0,3,74,1,8,2,82,0,83,0,120,1,68,2,67,2,161,1,122,3,90,2,216,2,51,3,55,3,84,0,85,0,49,1,50,1,240,1,86,0,87,0,88,0,112,2,121,2,245,1,246,1,247,1,167,2,89,0,90,0,91,0,43,1,92,0,93,0,205,0,206,0,96,0,207,0,128,1,76,2,211,2,212,2,227,1,228,1,229,1,230,1,231,1,232,1,15,3,16,3,233,1,234,1,235,1,236,1,4,3,156,2,198,0,133,1,27,1,179,1,249,0,119,0,81,2,56,2,112,1,234,0,173,1,174,1,191,2,200,1,141,1,4,1,158,1,237,0,19,1,0,0,145,0,146,0,0,0,1,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,19,0,21,0,22,0,23,0,24,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,39,0,45,0,46,0,47,0,48,0,49,0,51,0,52,0,53,0,54,0,55,0,56,0,58,0,59,0,60,0,63,0,66,0,67,0,69,0,70,0,89,0,92,0,93,0,95,0,96,0,98,0,100,0,101,0,102,0,103,0,104,0,105,0,106,0,109,0,129,0,130,0,131,0,147,0,148,0,149,0,154,0,156,0,157,0,159,0,160,0,163,0,164,0,166,0,167,0,168,0,170,0,171,0,180,0,193,0,214,0,233,0,234,0,244,0,245,0,249,0,250,0,251,0,2,1,3,1,4,1,6,1,7,1,8,1,9,1,10,1,11,1,35,1,48,1,149,0,21,0,22,0,30,0,31,0,32,0,39,0,51,0,55,0,86,0,89,0,92,0,129,0,172,0,173,0,193,0,214,0,8,1,11,1,35,1,173,0,3,0,4,0,5,0,6,0,7,0,8,0,9,0,10,0,11,0,12,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,23,0,24,0,25,0,26,0,30,0,31,0,32,0,33,0,34,0,35,0,36,0,37,0,38,0,39,0,45,0,46,0,47,0,48,0,49,0,50,0,51,0,52,0,55,0,69,0,70,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,80,0,81,0,84,0,85,0,86,0,87,0,98,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,130,0,131,0,138,0,139,0,174,0,178,0,179,0,10,1,30,1,194,0,89,0,157,0,158,0,171,0,214,0,8,1,9,1,11,1,158,0,200,0,202,0,89,0,164,0,171,0,214,0,219,0,8,1,11,1,33,0,34,0,35,0,36,0,48,0,49,0,51,0,55,0,101,0,174,0,175,0,176,0,4,1,142,0,143,0,158,0,39,1,44,1,45,1,47,1,57,0,98,0,99,0,130,0,163,0,180,0,181,0,186,0,189,0,191,0,33,1,34,1,186,0,186,0,139,0,187,0,188,0,139,0,183,0,187,0,139,0,40,1,45,1,175,0,150,0,133,0,180,0,214,0,180,0,55,0,1,0,92,0,152,0,153,0,154,0,165,0,166,0,48,1,195,0,197,0,182,0,191,0,33,1,48,1,181,0,32,1,33,1,48,1,89,0,137,0,170,0,214,0,8,1,11,1,198,0,53,0,54,0,56,0,63,0,105,0,174,0,5,1,62,0,64,0,65,0,111,0,112,0,246,0,247,0,63,0,246,0,63,0,246,0,63,0,246,0,61,0,246,0,58,0,59,0,159,0,180,0,180,0,39,1,47,1,40,0,41,0,42,0,43,0,44,0,37,0,38,0,28,0,231,0,116,0,137,0,92,0,98,0,167,0,116,0,71,0,72,0,73,0,74,0,75,0,76,0,77,0,78,0,79,0,80,0,81,0,82,0,83,0,86,0,87,0,117,0,119,0,120,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,88,0,135,0,136,0,88,0,136,0,38,1,26,0,133,0,235,0,90,0,90,0,183,0,187,0,235,0,157,0,51,0,55,0,172,0,58,0,59,0,120,0,12,1,88,0,135,0,136,0,209,0,31,1,210,0,38,1,151,0,152,0,55,0,16,0,215,0,44,1,116,0,88,0,135,0,136,0,90,0,90,0,215,0,158,0,158,0,55,0,88,0,135,0,136,0,25,0,105,0,137,0,46,1,39,1,20,0,238,0,142,0,181,0,181,0,181,0,91,0,137,0,190,0,48,1,137,0,190,0,186,0,40,1,41,1,186,0,185,0,186,0,191,0,33,1,48,1,157,0,41,1,157,0,155,0,133,0,152,0,88,0,136,0,90,0,154,0,165,0,140,0,39,1,47,1,41,1,157,0,41,1,141,0,137,0,43,1,45,1,137,0,43,1,134,0,43,1,55,0,167,0,168,0,169,0,137,0,88,0,135,0,136,0,51,0,53,0,54,0,55,0,56,0,92,0,98,0,99,0,123,0,126,0,139,0,229,0,15,1,16,1,17,1,18,1,19,1,20,1,21,1,24,1,25,1,26,1,27,1,28,1,63,0,247,0,248,0,110,0,113,0,114,0,253,0,254,0,255,0,0,1,62,0,247,0,63,0,63,0,63,0,61,0,71,0,71,0,149,0,158,0,158,0,158,0,158,0,154,0,157,0,157,0,232,0,98,0,159,0,181,0,191,0,192,0,165,0,137,0,170,0,137,0,156,0,159,0,171,0,180,0,181,0,192,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,180,0,51,0,52,0,55,0,178,0,183,0,36,1,37,1,185,0,51,0,52,0,55,0,178,0,183,0,36,1,51,0,55,0,36,1,237,0,236,0,159,0,180,0,159,0,180,0,97,0,161,0,207,0,13,1,206,0,51,0,55,0,172,0,36,1,185,0,36,1,151,0,157,0,211,0,212,0,15,0,13,0,240,0,48,1,152,0,16,0,180,0,51,0,55,0,185,0,51,0,55,0,152,0,27,0,216,0,44,1,216,0,51,0,55,0,185,0,51,0,55,0,204,0,177,0,252,0,253,0,238,0,191,0,15,0,181,0,98,0,181,0,189,0,253,0,33,1,34,1,41,1,140,0,41,1,137,0,137,0,41,1,175,0,147,0,134,0,180,0,41,1,154,0,196,0,33,1,167,0,169,0,51,0,55,0,185,0,51,0,55,0,116,0,51,0,92,0,98,0,220,0,221,0,222,0,17,1,15,1,199,0,137,0,29,1,48,1,181,0,137,0,29,1,51,0,137,0,29,1,51,0,63,0,152,0,1,1,254,0,110,0,0,1,180,0,180,0,79,0,121,0,224,0,225,0,48,1,181,0,137,0,41,1,169,0,137,0,116,0,44,0,40,1,90,0,90,0,183,0,187,0,40,1,42,1,90,0,90,0,183,0,184,0,187,0,48,1,184,0,187,0,224,0,224,0,44,0,162,0,44,1,158,0,151,0,42,1,15,0,41,1,139,0,14,1,15,1,174,0,181,0,192,0,241,0,48,1,18,0,218,0,48,1,17,0,217,0,218,0,90,0,90,0,42,1,90,0,90,0,218,0,201,0,203,0,42,1,158,0,175,0,15,0,137,0,215,0,181,0,98,0,181,0,190,0,33,1,134,0,41,1,43,1,42,1,222,0,137,0,17,1,137,0,41,1,226,0,40,1,29,0,108,0,230,0,18,1,24,1,26,1,28,1,19,1,21,1,26,1,19,1,134,0,152,0,223,0,226,0,19,1,20,1,22,1,23,1,26,1,28,1,152,0,98,0,181,0,169,0,180,0,118,0,159,0,180,0,159,0,180,0,161,0,141,0,90,0,159,0,180,0,159,0,180,0,161,0,235,0,231,0,152,0,152,0,180,0,224,0,208,0,44,1,15,0,15,1,151,0,44,1,213,0,91,0,242,0,48,1,152,0,14,0,243,0,48,1,158,0,15,0,90,0,15,0,152,0,152,0,216,0,181,0,152,0,181,0,137,0,41,1,221,0,137,0,98,0,220,0,140,0,142,0,152,0,152,0,137,0,29,1,137,0,29,1,137,0,29,1,137,0,29,1,29,1,134,0,226,0,121,0,137,0,29,1,89,0,214,0,137,0,29,1,137,0,29,1,15,0,181,0,180,0,159,0,180,0,15,0,134,0,152,0,151,0,41,1,15,0,14,1,89,0,171,0,214,0,8,1,11,1,215,0,152,0,215,0,15,0,15,0,205,0,218,0,238,0,239,0,137,0,221,0,137,0,17,1,51,0,227,0,228,0,16,1,15,0,134,0,19,1,26,1,19,1,19,1,121,0,23,1,26,1,55,0,88,0,19,1,22,1,26,1,19,1,134,0,15,0,151,0,55,0,88,0,135,0,136,0,152,0,152,0,152,0,221,0,137,0,137,0,40,1,29,1,137,0,29,1,29,1,29,1,137,0,29,1,137,0,29,1,51,0,55,0,29,1,137,0,29,1,29,1,15,0,51,0,55,0,185,0,51,0,55,0,240,0,217,0,15,0,221,0,228,0,19,1,19,1,26,1,19,1,19,1,42,1,29,1,29,1,137,0,29,1,29,1,29,1,19,1,29,1,73,110,118,97,108,105,100,32,109,114,98,95,115,116,97,116,101,44,32,101,120,105,116,105,110,103,32,109,114,98,99,10,0,37,115,58,32,110,111,32,112,114,111,103,114,97,109,32,102,105,108,101,32,103,105,118,101,110,10,0,46,99,0,46,109,114,98,0,37,115,58,32,111,117,116,112,117,116,32,102,105,108,101,32,115,104,111,117,108,100,32,98,101,32,115,112,101,99,105,102,105,101,100,32,116,111,32,99,111,109,112,105,108,101,32,109,117,108,116,105,112,108,101,32,102,105,108,101,115,10,0,37,115,58,37,115,58,83,121,110,116,97,120,32,79,75,10,0,119,98,0,37,115,58,32,99,97,110,110,111,116,32,111,112,101,110,32,111,117,116,112,117,116,32,102,105,108,101,58,40,37,115,41,10,0,79,117,116,112,117,116,32,102,105,108,101,32,105,115,32,114,101,113,117,105,114,101,100,10,0,37,115,58,32,97,110,32,111,117,116,112,117,116,32,102,105,108,101,32,105,115,32,97,108,114,101,97,100,121,32,115,112,101,99,105,102,105,101,100,46,32,40,37,115,41,10,0,37,115,58,32,102,117,110,99,116,105,111,110,32,110,97,109,101,32,105,115,32,110,111,116,32,115,112,101,99,105,102,105,101,100,46,10,0,118,101,114,115,105,111,110,0,118,101,114,98,111,115,101,0,99,111,112,121,114,105,103,104,116,0,37,115,58,32,103,101,110,101,114,97,116,105,110,103,32,37,115,32,101,110,100,105,97,110,32,67,32,102,105,108,101,46,32,115,112,101,99,105,102,121,32,45,101,47,45,69,32,102,111,114,32,99,114,111,115,115,32,99,111,109,112,105,108,105,110,103,46,10,0,98,105,103,0,108,105,116,116,108,101,0,115,119,105,116,99,104,101,115,58,0,45,99,32,32,32,32,32,32,32,32,32,32,32,99,104,101,99,107,32,115,121,110,116,97,120,32,111,110,108,121,0,45,111,60,111,117,116,102,105,108,101,62,32,32,112,108,97,99,101,32,116,104,101,32,111,117,116,112,117,116,32,105,110,116,111,32,60,111,117,116,102,105,108,101,62,0,45,118,32,32,32,32,32,32,32,32,32,32,32,112,114,105,110,116,32,118,101,114,115,105,111,110,32,110,117,109,98,101,114,44,32,116,104,101,110,32,116,117,114,110,32,111,110,32,118,101,114,98,111,115,101,32,109,111,100,101,0,45,103,32,32,32,32,32,32,32,32,32,32,32,112,114,111,100,117,99,101,32,100,101,98,117,103,103,105,110,103,32,105,110,102,111,114,109,97,116,105,111,110,0,45,66,60,115,121,109,98,111,108,62,32,32,32,98,105,110,97,114,121,32,60,115,121,109,98,111,108,62,32,111,117,116,112,117,116,32,105,110,32,67,32,108,97,110,103,117,97,103,101,32,102,111,114,109,97,116,0,45,101,32,32,32,32,32,32,32,32,32,32,32,103,101,110,101,114,97,116,101,32,108,105,116,116,108,101,32,101,110,100,105,97,110,32,105,115,101,113,32,100,97,116,97,0,45,69,32,32,32,32,32,32,32,32,32,32,32,103,101,110,101,114,97,116,101,32,98,105,103,32,101,110,100,105,97,110,32,105,115,101,113,32,100,97,116,97,0,45,45,118,101,114,98,111,115,101,32,32,32,32,114,117,110,32,97,116,32,118,101,114,98,111,115,101,32,109,111,100,101,0,45,45,118,101,114,115,105,111,110,32,32,32,32,112,114,105,110,116,32,116,104,101,32,118,101,114,115,105,111,110,0,45,45,99,111,112,121,114,105,103,104,116,32,32,112,114,105,110,116,32,116,104,101,32,99,111,112,121,114,105,103,104,116,0,85,115,97,103,101,58,32,37,115,32,91,115,119,105,116,99,104,101,115,93,32,112,114,111,103,114,97,109,102,105,108,101,10,0,32,32,37,115,10,0,114,0,37,115,58,32,99,97,110,110,111,116,32,111,112,101,110,32,112,114,111,103,114,97,109,32,102,105,108,101,46,32,40,37,115,41,10,0,37,115,58,32,105,110,118,97,108,105,100,32,67,32,108,97,110,103,117,97,103,101,32,115,121,109,98,111,108,32,110,97,109,101,10,0,37,115,58,32,101,114,114,111,114,32,105,110,32,109,114,98,32,100,117,109,112,32,40,37,115,41,32,37,100,10,0,82,73,84,69,0,69,84,73,82,0,48,48,48,51,0,77,65,84,90,0,48,48,48,48,0,69,78,68,0,0,76,86,65,82,0,76,73,78,69,0,68,66,71,0,0,73,82,69,80,0,37,46,56,101,0,47,42,32,100,117,109,112,101,100,32,105,110,32,108,105,116,116,108,101,32,101,110,100,105,97,110,32,111,114,100,101,114,46,10,32,32,32,117,115,101,32,96,109,114,98,99,32,45,69,96,32,111,112,116,105,111,110,32,102,111,114,32,98,105,103,32,101,110,100,105,97,110,32,67,80,85,46,32,42,47,10,0,47,42,32,100,117,109,112,101,100,32,105,110,32,98,105,103,32,101,110,100,105,97,110,32,111,114,100,101,114,46,10,32,32,32,117,115,101,32,96,109,114,98,99,32,45,101,96,32,111,112,116,105,111,110,32,102,111,114,32,98,101,116,116,101,114,32,112,101,114,102,111,114,109,97,110,99,101,32,111,110,32,108,105,116,116,108,101,32,101,110,100,105,97,110,32,67,80,85,46,32,42,47,10,0,35,105,110,99,108,117,100,101,32,60,115,116,100,105,110,116,46,104,62,10,0,99,111,110,115,116,32,117,105,110,116,56,95,116,10,35,105,102,32,100,101,102,105,110,101,100,32,95,95,71,78,85,67,95,95,10,95,95,97,116,116,114,105,98,117,116,101,95,95,40,40,97,108,105,103,110,101,100,40,37,117,41,41,41,10,35,101,108,105,102,32,100,101,102,105,110,101,100,32,95,77,83,67,95,86,69,82,10,95,95,100,101,99,108,115,112,101,99,40,97,108,105,103,110,40,37,117,41,41,10,35,101,110,100,105,102,10,37,115,91,93,32,61,32,123,0,48,120,37,48,50,120,44,0,10,125,59,10,0,105,110,118,97,108,105,100,32,102,111,114,109,97,116,32,115,116,114,105,110,103,0,97,114,101,110,97,32,111,118,101,114,102,108,111,119,32,101,114,114,111,114,0,71,67,0,115,116,97,114,116,0,101,110,97,98,108,101,0,100,105,115,97,98,108,101,0,105,110,116,101,114,118,97,108,95,114,97,116,105,111,0,105,110,116,101,114,118,97,108,95,114,97,116,105,111,61,0,115,116,101,112,95,114,97,116,105,111,0,115,116,101,112,95,114,97,116,105,111,61,0,103,101,110,101,114,97,116,105,111,110,97,108,95,109,111,100,101,61,0,103,101,110,101,114,97,116,105,111,110,97,108,95,109,111,100,101,0,2,8,32,128,1,4,16,64,3,12,48,192,105,102,110,111,110,101,0,100,101,102,97,117,108,116,0,100,101,102,97,117,108,116,61,0,100,101,102,97,117,108,116,95,112,114,111,99,0,100,101,102,97,117,108,116,95,112,114,111,99,61,0,95,95,100,101,108,101,116,101,0,104,97,115,95,107,101,121,63,0,104,97,115,95,118,97,108,117,101,63,0,107,101,121,63,0,107,101,121,115,0,115,116,111,114,101,0,118,97,108,117,101,63,0,118,97,108,117,101,115,0,38,124,111,63,0,124,111,63,0,111,111,0,110,111,110,32,102,108,111,97,116,32,118,97,108,117,101,0,70,108,111,97,116,68,111,109,97,105,110,69,114,114,111,114,0,45,73,110,102,105,110,105,116,121,0,73,110,102,105,110,105,116,121,0,78,97,78,0,105,110,118,97,108,105,100,32,114,97,100,105,120,32,37,83,0,78,117,109,101,114,105,99,0,113,117,111,0,100,105,118,109,111,100,0,99,101,105,108,0,102,105,110,105,116,101,63,0,102,108,111,111,114,0,105,110,102,105,110,105,116,101,63,0,114,111,117,110,100,0,116,114,117,110,99,97,116,101,0,110,97,110,63,0,73,78,70,73,78,73,84,89,0,37,46,55,103,0,99,97,110,39,116,32,99,111,110,118,101,114,116,32,70,108,111,97,116,32,105,110,116,111,32,73,110,116,101,103,101,114,0,102,0,78,105,108,67,108,97,115,115,0,84,114,117,101,67,108,97,115,115,0,70,97,108,115,101,67,108,97,115,115,0,98,0,73,110,116,101,103,101,114,0,99,97,110,39,116,32,99,111,110,118,101,114,116,32,37,83,32,105,110,116,111,32,37,83,0,37,83,32,99,97,110,110,111,116,32,98,101,32,99,111,110,118,101,114,116,101,100,32,116,111,32,37,83,32,98,121,32,35,37,83,0,70,105,120,110,117,109,0,117,110,107,110,111,119,110,32,116,121,112,101,32,37,83,32,40,37,83,32,103,105,118,101,110,41,0,105,67,108,97,115,115,0,83,67,108,97,115,115,0,70,108,111,97,116,0,70,105,108,101,0,68,97,116,97,0,35,60,0,99,108,97,115,115,32,111,114,32,109,111,100,117,108,101,32,114,101,113,117,105,114,101,100,0,116,111,95,105,110,116,0,99,97,110,39,116,32,99,111,110,118,101,114,116,32,37,83,32,116,111,32,73,110,116,101,103,101,114,32,40,37,83,35,37,83,32,103,105,118,101,115,32,37,83,41,0,99,97,110,39,116,32,99,111,110,118,101,114,116,32,110,105,108,32,105,110,116,111,32,73,110,116,101,103,101,114,0,98,97,115,101,32,115,112,101,99,105,102,105,101,100,32,102,111,114,32,110,111,110,32,115,116,114,105,110,103,32,118,97,108,117,101,0,109,97,105,110,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,0,115,116,114,105,110,103,32,99,97,112,97,99,105,116,121,32,115,105,122,101,32,116,111,111,32,98,105,103,0,115,116,114,105,110,103,32,115,105,122,101,32,116,111,111,32,98,105,103,0,115,116,114,105,110,103,32,99,111,110,116,97,105,110,115,32,110,117,108,108,32,98,121,116,101,0,99,97,110,39,116,32,109,111,100,105,102,121,32,102,114,111,122,101,110,32,115,116,114,105,110,103,0,82,101,103,101,120,112,32,99,108,97,115,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,105,108,108,101,103,97,108,32,114,97,100,105,120,32,37,83,0,115,116,114,105,110,103,32,40,37,83,41,32,116,111,111,32,98,105,103,32,102,111,114,32,105,110,116,101,103,101,114,0,105,110,118,97,108,105,100,32,115,116,114,105,110,103,32,102,111,114,32,110,117,109,98,101,114,40,37,83,41,0,105,110,118,97,108,105,100,32,115,116,114,105,110,103,32,102,111,114,32,102,108,111,97,116,40,37,83,41,0,115,116,114,105,110,103,32,102,111,114,32,70,108,111,97,116,32,99,111,110,116,97,105,110,115,32,110,117,108,108,32,98,121,116,101,0,34,0,98,121,116,101,115,105,122,101,0,99,97,112,105,116,97,108,105,122,101,0,99,97,112,105,116,97,108,105,122,101,33,0,99,104,111,109,112,0,99,104,111,109,112,33,0,99,104,111,112,0,99,104,111,112,33,0,100,111,119,110,99,97,115,101,0,100,111,119,110,99,97,115,101,33,0,115,112,108,105,116,0,116,111,95,102,0,116,111,95,105,0,117,112,99,97,115,101,0,117,112,99,97,115,101,33,0,98,121,116,101,115,0,102,114,101,101,122,101,0,124,111,105,0,116,121,112,101,32,109,105,115,109,97,116,99,104,58,32,37,83,32,103,105,118,101,110,0,83,0,124,83,0,111,124,111,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,37,83,32,102,111,114,32,49,41,0,99,97,110,39,116,32,99,111,110,118,101,114,116,32,116,111,32,70,105,120,110,117,109,0,97,114,103,117,109,101,110,116,32,116,111,111,32,98,105,103,0,2,8,32,128,1,4,16,64,3,12,48,192,115,121,109,98,111,108,32,108,101,110,103,116,104,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,0,105,100,50,110,97,109,101,0,116,111,95,115,121,109,0,99,97,110,110,111,116,32,115,101,116,32,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,0,39,37,83,39,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,97,115,32,97,110,32,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,32,110,97,109,101,0,45,60,0,117,110,105,110,105,116,105,97,108,105,122,101,100,32,99,108,97,115,115,32,118,97,114,105,97,98,108,101,32,37,83,32,105,110,32,37,83,0,99,111,110,115,116,97,110,116,32,108,111,111,107,45,117,112,32,102,111,114,32,110,111,110,32,99,108,97,115,115,47,109,111,100,117,108,101,0,84,111,111,32,108,111,110,103,32,97,114,103,117,109,101,110,116,115,46,32,40,108,105,109,105,116,61,56,41,0,110,101,103,97,116,105,118,101,32,97,114,103,99,32,102,111,114,32,102,117,110,99,97,108,108,32,40,37,83,41,0,115,117,112,101,114,32,99,97,108,108,101,100,32,111,117,116,115,105,100,101,32,111,102,32,109,101,116,104,111,100,0,116,111,95,112,114,111,99,0,70,105,98,101,114,69,114,114,111,114,0,100,111,117,98,108,101,32,114,101,115,117,109,101,0,110,111,32,116,97,114,103,101,116,32,99,108,97,115,115,32,111,114,32,109,111,100,117,108,101,0,79,80,95,68,69,66,85,71,32,37,100,32,37,100,32,37,100,10,0,76,111,99,97,108,74,117,109,112,69,114,114,111,114,0,114,101,116,117,114,110,0,98,114,101,97,107,0,0,121,105,101,108,100,0,0,6,5,5,117,110,101,120,112,101,99,116,101,100,32,0,39,37,83,39,58,32,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,37,83,32,102,111,114,32,37,83,41,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,37,83,32,102,111,114,32,37,83,41,0,115,116,97,99,107,32,108,101,118,101,108,32,116,111,111,32,100,101,101,112,46,32,40,108,105,109,105,116,61,40,48,120,52,48,48,48,48,32,45,32,49,50,56,41,41,0,110,42,38,0,124,83,38,0,109,111,100,117,108,101,95,101,118,97,108,47,99,108,97,115,115,95,101,118,97,108,32,119,105,116,104,32,115,116,114,105,110,103,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,105,110,115,116,97,110,99,101,95,101,118,97,108,32,119,105,116,104,32,115,116,114,105,110,103,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,32,101,114,114,111,114,0,37,115,58,37,100,58,37,100,58,32,37,115,10,0,108,105,110,101,32,37,100,58,37,100,58,32,37,115,10,0,78,79,68,69,95,66,69,71,73,78,58,10,0,78,79,68,69,95,82,69,83,67,85,69,58,10,0,98,111,100,121,58,10,0,114,101,115,99,117,101,58,10,0,104,97,110,100,108,101,32,99,108,97,115,115,101,115,58,10,0,101,120,99,95,118,97,114,58,10,0,114,101,115,99,117,101,32,98,111,100,121,58,10,0,101,108,115,101,58,10,0,78,79,68,69,95,69,78,83,85,82,69,58,10,0,101,110,115,117,114,101,58,10,0,78,79,68,69,95,66,76,79,67,75,58,10,0,109,97,110,100,97,116,111,114,121,32,97,114,103,115,58,10,0,111,112,116,105,111,110,97,108,32,97,114,103,115,58,10,0,37,115,61,0,114,101,115,116,61,42,37,115,10,0,112,111,115,116,32,109,97,110,100,97,116,111,114,121,32,97,114,103,115,58,10,0,98,108,107,61,38,37,115,10,0,78,79,68,69,95,73,70,58,10,0,99,111,110,100,58,10,0,116,104,101,110,58,10,0,78,79,68,69,95,65,78,68,58,10,0,78,79,68,69,95,79,82,58,10,0,78,79,68,69,95,67,65,83,69,58,10,0,99,97,115,101,58,10,0,78,79,68,69,95,87,72,73,76,69,58,10,0,78,79,68,69,95,85,78,84,73,76,58,10,0,78,79,68,69,95,70,79,82,58,10,0,118,97,114,58,10,0,112,114,101,58,10,0,114,101,115,116,58,10,0,112,111,115,116,58,10,0,105,110,58,10,0,100,111,58,10,0,78,79,68,69,95,83,67,79,80,69,58,10,0,108,111,99,97,108,32,118,97,114,105,97,98,108,101,115,58,10,0,44,32,0,37,115,0,78,79,68,69,95,67,65,76,76,58,10,0,109,101,116,104,111,100,61,39,37,115,39,32,40,37,100,41,10,0,97,114,103,115,58,10,0,98,108,111,99,107,58,10,0,78,79,68,69,95,68,79,84,50,58,10,0,78,79,68,69,95,68,79,84,51,58,10,0,78,79,68,69,95,67,79,76,79,78,50,58,10,0,58,58,37,115,10,0,78,79,68,69,95,67,79,76,79,78,51,58,32,58,58,37,115,10,0,78,79,68,69,95,65,82,82,65,89,58,10,0,78,79,68,69,95,72,65,83,72,58,10,0,107,101,121,58,10,0,118,97,108,117,101,58,10,0,78,79,68,69,95,83,80,76,65,84,58,10,0,78,79,68,69,95,65,83,71,78,58,10,0,108,104,115,58,10,0,114,104,115,58,10,0,78,79,68,69,95,77,65,83,71,78,58,10,0,109,108,104,115,58,10,0,40,101,109,112,116,121,41,10,0,78,79,68,69,95,79,80,95,65,83,71,78,58,10,0,111,112,61,39,37,115,39,32,40,37,100,41,10,0,78,79,68,69,95,83,85,80,69,82,58,10,0,78,79,68,69,95,90,83,85,80,69,82,10,0,78,79,68,69,95,82,69,84,85,82,78,58,10,0,78,79,68,69,95,89,73,69,76,68,58,10,0,78,79,68,69,95,66,82,69,65,75,58,10,0,78,79,68,69,95,78,69,88,84,58,10,0,78,79,68,69,95,82,69,68,79,10,0,78,79,68,69,95,82,69,84,82,89,10,0,78,79,68,69,95,76,86,65,82,32,37,115,10,0,78,79,68,69,95,71,86,65,82,32,37,115,10,0,78,79,68,69,95,73,86,65,82,32,37,115,10,0,78,79,68,69,95,67,86,65,82,32,37,115,10,0,78,79,68,69,95,67,79,78,83,84,32,37,115,10,0,78,79,68,69,95,77,65,84,67,72,58,10,0,78,79,68,69,95,66,65,67,75,95,82,69,70,58,32,36,37,99,10,0,78,79,68,69,95,78,84,72,95,82,69,70,58,32,36,37,100,10,0,78,79,68,69,95,65,82,71,32,37,115,10,0,78,79,68,69,95,66,76,79,67,75,95,65,82,71,58,10,0,78,79,68,69,95,73,78,84,32,37,115,32,98,97,115,101,32,37,100,10,0,78,79,68,69,95,70,76,79,65,84,32,37,115,10,0,78,79,68,69,95,78,69,71,65,84,69,10,0,78,79,68,69,95,83,84,82,32,34,37,115,34,32,108,101,110,32,37,100,10,0,78,79,68,69,95,68,83,84,82,10,0,78,79,68,69,95,88,83,84,82,32,34,37,115,34,32,108,101,110,32,37,100,10,0,78,79,68,69,95,68,88,83,84,82,10,0,78,79,68,69,95,82,69,71,88,32,47,37,115,47,37,115,10,0,78,79,68,69,95,68,82,69,71,88,10,0,116,97,105,108,58,32,37,115,10,0,111,112,116,58,32,37,115,10,0,78,79,68,69,95,83,89,77,32,58,37,115,10,0,78,79,68,69,95,83,69,76,70,10,0,78,79,68,69,95,78,73,76,10,0,78,79,68,69,95,84,82,85,69,10,0,78,79,68,69,95,70,65,76,83,69,10,0,78,79,68,69,95,65,76,73,65,83,32,37,115,32,37,115,58,10,0,78,79,68,69,95,85,78,68,69,70,0,32,37,115,0,58,10,0,78,79,68,69,95,67,76,65,83,83,58,10,0,58,37,115,10,0,115,117,112,101,114,58,10,0,78,79,68,69,95,77,79,68,85,76,69,58,10,0,78,79,68,69,95,83,67,76,65,83,83,58,10,0,78,79,68,69,95,68,69,70,58,10,0,37,115,10,0,78,79,68,69,95,83,68,69,70,58,10,0,78,79,68,69,95,80,79,83,84,69,88,69,58,10,0,78,79,68,69,95,72,69,82,69,68,79,67,58,10,0,110,111,100,101,32,116,121,112,101,58,32,37,100,32,40,48,120,37,120,41,10,0,37,48,53,100,32,0,0,2,2,2,2,2,2,2,2,2,143,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,130,2,2,2,128,123,2,139,140,126,124,137,125,136,127,2,2,2,2,2,2,2,2,2,2,118,142,120,116,119,117,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,135,2,141,122,2,138,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,133,121,134,131,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,129,132,0,2,0,2,2,1,1,3,2,1,0,5,4,2,1,1,3,2,0,4,2,3,3,3,3,3,4,1,3,3,6,5,5,5,5,3,3,3,3,1,3,3,1,3,3,3,2,1,1,1,1,1,4,0,5,2,3,4,5,4,5,2,2,2,2,2,1,3,1,3,1,2,3,5,2,4,2,4,1,3,1,3,2,3,1,2,1,4,3,3,3,3,2,1,1,4,3,3,3,3,2,1,1,1,2,1,3,1,1,1,1,1,1,1,1,0,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,5,3,5,6,5,5,5,5,4,3,3,3,3,3,3,3,3,3,4,4,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,3,3,3,3,6,1,1,1,2,4,2,3,1,1,1,1,2,4,2,1,2,2,4,1,0,2,2,2,1,1,2,3,4,4,5,3,4,2,1,1,1,1,1,1,1,1,0,4,0,0,5,0,3,3,3,2,3,3,1,4,3,1,4,3,2,1,2,0,0,5,6,6,0,0,7,0,0,7,5,4,0,0,9,0,6,0,0,8,0,5,0,0,7,0,0,9,1,1,1,1,1,1,1,2,1,1,1,5,1,2,1,1,1,3,1,3,1,4,6,3,5,2,4,1,3,6,8,4,6,4,2,6,2,4,6,2,4,2,4,1,1,1,3,1,4,1,4,1,3,1,1,4,1,3,3,0,5,2,4,5,5,2,4,4,3,3,3,2,1,4,0,5,0,5,5,1,1,6,1,1,1,1,2,1,2,1,1,1,1,1,1,1,2,3,1,2,1,0,4,1,2,2,3,2,3,1,0,1,1,2,1,2,1,2,1,0,4,2,3,1,4,2,1,1,1,1,1,2,2,3,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,4,3,2,6,8,4,6,4,6,2,4,6,2,4,2,4,1,0,1,1,1,1,1,1,1,3,1,3,2,2,2,1,3,1,3,1,1,2,1,1,1,2,2,1,1,0,4,1,2,1,3,3,2,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,2,2,0,1,1,1,1,0,3,1,2,0,66,69,71,73,78,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,101,108,115,101,32,119,105,116,104,111,117,116,32,114,101,115,99,117,101,32,105,115,32,117,115,101,108,101,115,115,0,69,78,68,32,110,111,116,32,115,117,112,111,114,116,101,100,0,99,111,110,115,116,97,110,116,32,114,101,45,97,115,115,105,103,110,109,101,110,116,0,100,121,110,97,109,105,99,32,99,111,110,115,116,97,110,116,32,97,115,115,105,103,110,109,101,110,116,0,99,108,97,115,115,47,109,111,100,117,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,67,79,78,83,84,65,78,84,0,61,126,0,33,126,0,62,61,0,60,61,0,62,62,0,42,42,0,43,64,0,45,64,0,47,0,37,0,124,0,94,0,60,0,126,0,99,108,97,115,115,32,100,101,102,105,110,105,116,105,111,110,32,105,110,32,109,101,116,104,111,100,32,98,111,100,121,0,109,111,100,117,108,101,32,100,101,102,105,110,105,116,105,111,110,32,105,110,32,109,101,116,104,111,100,32,98,111,100,121,0,98,108,111,99,107,32,103,105,118,101,110,32,116,111,32,121,105,101,108,100,0,37,100,0,102,111,114,109,97,108,32,97,114,103,117,109,101,110,116,32,99,97,110,110,111,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,0,102,111,114,109,97,108,32,97,114,103,117,109,101,110,116,32,99,97,110,110,111,116,32,98,101,32,97,110,32,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,0,102,111,114,109,97,108,32,97,114,103,117,109,101,110,116,32,99,97,110,110,111,116,32,98,101,32,97,32,103,108,111,98,97,108,32,118,97,114,105,97,98,108,101,0,102,111,114,109,97,108,32,97,114,103,117,109,101,110,116,32,99,97,110,110,111,116,32,98,101,32,97,32,99,108,97,115,115,32,118,97,114,105,97,98,108,101,0,99,97,110,39,116,32,100,101,102,105,110,101,32,115,105,110,103,108,101,116,111,110,32,109,101,116,104,111,100,32,102,111,114,32,40,41,46,0,99,97,110,39,116,32,100,101,102,105,110,101,32,115,105,110,103,108,101,116,111,110,32,109,101,116,104,111,100,32,102,111,114,32,108,105,116,101,114,97,108,115,0,115,121,110,116,97,120,32,101,114,114,111,114,0,69,114,114,111,114,58,32,100,105,115,99,97,114,100,105,110,103,0,69,114,114,111,114,58,32,112,111,112,112,105,110,103,0,109,101,109,111,114,121,32,101,120,104,97,117,115,116,101,100,0,67,108,101,97,110,117,112,58,32,100,105,115,99,97,114,100,105,110,103,32,108,111,111,107,97,104,101,97,100,0,67,108,101,97,110,117,112,58,32,112,111,112,112,105,110,103,0,68,101,108,101,116,105,110,103,0,44,32,101,120,112,101,99,116,105,110,103,32,37,115,0,115,121,110,116,97,120,32,101,114,114,111,114,44,32,117,110,101,120,112,101,99,116,101,100,32,37,115,0,32,111,114,32,37,115,0,36,101,110,100,0,101,114,114,111,114,0,36,117,110,100,101,102,105,110,101,100,0,107,101,121,119,111,114,100,95,99,108,97,115,115,0,107,101,121,119,111,114,100,95,109,111,100,117,108,101,0,107,101,121,119,111,114,100,95,100,101,102,0,107,101,121,119,111,114,100,95,98,101,103,105,110,0,107,101,121,119,111,114,100,95,105,102,0,107,101,121,119,111,114,100,95,117,110,108,101,115,115,0,107,101,121,119,111,114,100,95,119,104,105,108,101,0,107,101,121,119,111,114,100,95,117,110,116,105,108,0,107,101,121,119,111,114,100,95,102,111,114,0,107,101,121,119,111,114,100,95,117,110,100,101,102,0,107,101,121,119,111,114,100,95,114,101,115,99,117,101,0,107,101,121,119,111,114,100,95,101,110,115,117,114,101,0,107,101,121,119,111,114,100,95,101,110,100,0,107,101,121,119,111,114,100,95,116,104,101,110,0,107,101,121,119,111,114,100,95,101,108,115,105,102,0,107,101,121,119,111,114,100,95,101,108,115,101,0,107,101,121,119,111,114,100,95,99,97,115,101,0,107,101,121,119,111,114,100,95,119,104,101,110,0,107,101,121,119,111,114,100,95,98,114,101,97,107,0,107,101,121,119,111,114,100,95,110,101,120,116,0,107,101,121,119,111,114,100,95,114,101,100,111,0,107,101,121,119,111,114,100,95,114,101,116,114,121,0,107,101,121,119,111,114,100,95,105,110,0,107,101,121,119,111,114,100,95,100,111,0,107,101,121,119,111,114,100,95,100,111,95,99,111,110,100,0,107,101,121,119,111,114,100,95,100,111,95,98,108,111,99,107,0,107,101,121,119,111,114,100,95,100,111,95,76,65,77,66,68,65,0,107,101,121,119,111,114,100,95,114,101,116,117,114,110,0,107,101,121,119,111,114,100,95,121,105,101,108,100,0,107,101,121,119,111,114,100,95,115,117,112,101,114,0,107,101,121,119,111,114,100,95,115,101,108,102,0,107,101,121,119,111,114,100,95,110,105,108,0,107,101,121,119,111,114,100,95,116,114,117,101,0,107,101,121,119,111,114,100,95,102,97,108,115,101,0,107,101,121,119,111,114,100,95,97,110,100,0,107,101,121,119,111,114,100,95,111,114,0,107,101,121,119,111,114,100,95,110,111,116,0,109,111,100,105,102,105,101,114,95,105,102,0,109,111,100,105,102,105,101,114,95,117,110,108,101,115,115,0,109,111,100,105,102,105,101,114,95,119,104,105,108,101,0,109,111,100,105,102,105,101,114,95,117,110,116,105,108,0,109,111,100,105,102,105,101,114,95,114,101,115,99,117,101,0,107,101,121,119,111,114,100,95,97,108,105,97,115,0,107,101,121,119,111,114,100,95,66,69,71,73,78,0,107,101,121,119,111,114,100,95,69,78,68,0,107,101,121,119,111,114,100,95,95,76,73,78,69,95,95,0,107,101,121,119,111,114,100,95,95,70,73,76,69,95,95,0,107,101,121,119,111,114,100,95,95,69,78,67,79,68,73,78,71,95,95,0,116,73,68,69,78,84,73,70,73,69,82,0,116,70,73,68,0,116,71,86,65,82,0,116,73,86,65,82,0,116,67,79,78,83,84,65,78,84,0,116,67,86,65,82,0,116,76,65,66,69,76,0,116,73,78,84,69,71,69,82,0,116,70,76,79,65,84,0,116,67,72,65,82,0,116,88,83,84,82,73,78,71,0,116,82,69,71,69,88,80,0,116,83,84,82,73,78,71,0,116,83,84,82,73,78,71,95,80,65,82,84,0,116,83,84,82,73,78,71,95,77,73,68,0,116,78,84,72,95,82,69,70,0,116,66,65,67,75,95,82,69,70,0,116,82,69,71,69,88,80,95,69,78,68,0,116,85,80,76,85,83,0,116,85,77,73,78,85,83,0,116,80,79,87,0,116,67,77,80,0,116,69,81,0,116,69,81,81,0,116,78,69,81,0,116,71,69,81,0,116,76,69,81,0,116,65,78,68,79,80,0,116,79,82,79,80,0,116,77,65,84,67,72,0,116,78,77,65,84,67,72,0,116,68,79,84,50,0,116,68,79,84,51,0,116,65,82,69,70,0,116,65,83,69,84,0,116,76,83,72,70,84,0,116,82,83,72,70,84,0,116,67,79,76,79,78,50,0,116,67,79,76,79,78,51,0,116,79,80,95,65,83,71,78,0,116,65,83,83,79,67,0,116,76,80,65,82,69,78,0,116,76,80,65,82,69,78,95,65,82,71,0,116,82,80,65,82,69,78,0,116,76,66,82,65,67,75,0,116,76,66,82,65,67,69,0,116,76,66,82,65,67,69,95,65,82,71,0,116,83,84,65,82,0,116,65,77,80,69,82,0,116,76,65,77,66,68,65,0,116,83,89,77,66,69,71,0,116,82,69,71,69,88,80,95,66,69,71,0,116,87,79,82,68,83,95,66,69,71,0,116,83,89,77,66,79,76,83,95,66,69,71,0,116,83,84,82,73,78,71,95,66,69,71,0,116,88,83,84,82,73,78,71,95,66,69,71,0,116,83,84,82,73,78,71,95,68,86,65,82,0,116,76,65,77,66,69,71,0,116,72,69,82,69,68,79,67,95,66,69,71,0,116,72,69,82,69,68,79,67,95,69,78,68,0,116,76,73,84,69,82,65,76,95,68,69,76,73,77,0,116,72,68,95,76,73,84,69,82,65,76,95,68,69,76,73,77,0,116,72,68,95,83,84,82,73,78,71,95,80,65,82,84,0,116,72,68,95,83,84,82,73,78,71,95,77,73,68,0,116,76,79,87,69,83,84,0,39,61,39,0,39,63,39,0,39,58,39,0,39,62,39,0,39,60,39,0,39,124,39,0,39,94,39,0,39,38,39,0,39,43,39,0,39,45,39,0,39,42,39,0,39,47,39,0,39,37,39,0,116,85,77,73,78,85,83,95,78,85,77,0,39,33,39,0,39,126,39,0,116,76,65,83,84,95,84,79,75,69,78,0,39,123,39,0,39,125,39,0,39,91,39,0,39,46,39,0,39,44,39,0,39,96,39,0,39,40,39,0,39,41,39,0,39,93,39,0,39,59,39,0,39,92,110,39,0,36,97,99,99,101,112,116,0,112,114,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+51218);
-/* memory initializer */ allocate([103,114,97,109,0,36,64,49,0,116,111,112,95,99,111,109,112,115,116,109,116,0,116,111,112,95,115,116,109,116,115,0,116,111,112,95,115,116,109,116,0,64,50,0,98,111,100,121,115,116,109,116,0,99,111,109,112,115,116,109,116,0,115,116,109,116,115,0,115,116,109,116,0,36,64,51,0,99,111,109,109,97,110,100,95,97,115,103,110,0,101,120,112,114,0,101,120,112,114,95,118,97,108,117,101,0,99,111,109,109,97,110,100,95,99,97,108,108,0,98,108,111,99,107,95,99,111,109,109,97,110,100,0,99,109,100,95,98,114,97,99,101,95,98,108,111,99,107,0,36,64,52,0,99,111,109,109,97,110,100,0,109,108,104,115,0,109,108,104,115,95,105,110,110,101,114,0,109,108,104,115,95,98,97,115,105,99,0,109,108,104,115,95,105,116,101,109,0,109,108,104,115,95,108,105,115,116,0,109,108,104,115,95,112,111,115,116,0,109,108,104,115,95,110,111,100,101,0,108,104,115,0,99,110,97,109,101,0,99,112,97,116,104,0,102,110,97,109,101,0,102,115,121,109,0,117,110,100,101,102,95,108,105,115,116,0,36,64,53,0,111,112,0,114,101,115,119,111,114,100,115,0,97,114,103,0,97,114,103,95,118,97,108,117,101,0,97,114,101,102,95,97,114,103,115,0,112,97,114,101,110,95,97,114,103,115,0,111,112,116,95,112,97,114,101,110,95,97,114,103,115,0,111,112,116,95,99,97,108,108,95,97,114,103,115,0,99,97,108,108,95,97,114,103,115,0,99,111,109,109,97,110,100,95,97,114,103,115,0,64,54,0,98,108,111,99,107,95,97,114,103,0,111,112,116,95,98,108,111,99,107,95,97,114,103,0,97,114,103,115,0,109,114,104,115,0,112,114,105,109,97,114,121,0,64,55,0,64,56,0,36,64,57,0,36,64,49,48,0,64,49,49,0,64,49,50,0,36,64,49,51,0,36,64,49,52,0,36,64,49,53,0,36,64,49,54,0,36,64,49,55,0,36,64,49,56,0,64,49,57,0,64,50,48,0,64,50,49,0,64,50,50,0,64,50,51,0,64,50,52,0,64,50,53,0,64,50,54,0,112,114,105,109,97,114,121,95,118,97,108,117,101,0,116,104,101,110,0,100,111,0,105,102,95,116,97,105,108,0,111,112,116,95,101,108,115,101,0,102,111,114,95,118,97,114,0,102,95,109,97,114,103,0,102,95,109,97,114,103,95,108,105,115,116,0,102,95,109,97,114,103,115,0,98,108,111,99,107,95,112,97,114,97,109,0,111,112,116,95,98,108,111,99,107,95,112,97,114,97,109,0,98,108,111,99,107,95,112,97,114,97,109,95,100,101,102,0,111,112,116,95,98,118,95,100,101,99,108,0,98,118,95,100,101,99,108,115,0,98,118,97,114,0,102,95,108,97,114,103,108,105,115,116,0,108,97,109,98,100,97,95,98,111,100,121,0,100,111,95,98,108,111,99,107,0,36,64,50,55,0,98,108,111,99,107,95,99,97,108,108,0,109,101,116,104,111,100,95,99,97,108,108,0,98,114,97,99,101,95,98,108,111,99,107,0,64,50,56,0,64,50,57,0,99,97,115,101,95,98,111,100,121,0,99,97,115,101,115,0,111,112,116,95,114,101,115,99,117,101,0,101,120,99,95,108,105,115,116,0,101,120,99,95,118,97,114,0,111,112,116,95,101,110,115,117,114,101,0,108,105,116,101,114,97,108,0,115,116,114,105,110,103,0,115,116,114,105,110,103,95,114,101,112,0,115,116,114,105,110,103,95,105,110,116,101,114,112,0,64,51,48,0,120,115,116,114,105,110,103,0,114,101,103,101,120,112,0,104,101,114,101,100,111,99,0,111,112,116,95,104,101,114,101,100,111,99,95,98,111,100,105,101,115,0,104,101,114,101,100,111,99,95,98,111,100,105,101,115,0,104,101,114,101,100,111,99,95,98,111,100,121,0,104,101,114,101,100,111,99,95,115,116,114,105,110,103,95,114,101,112,0,104,101,114,101,100,111,99,95,115,116,114,105,110,103,95,105,110,116,101,114,112,0,64,51,49,0,119,111,114,100,115,0,115,121,109,98,111,108,0,98,97,115,105,99,95,115,121,109,98,111,108,0,115,121,109,0,115,121,109,98,111,108,115,0,110,117,109,101,114,105,99,0,118,97,114,105,97,98,108,101,0,118,97,114,95,108,104,115,0,118,97,114,95,114,101,102,0,98,97,99,107,114,101,102,0,36,64,51,50,0,102,95,97,114,103,108,105,115,116,0,102,95,97,114,103,115,0,102,95,98,97,100,95,97,114,103,0,102,95,110,111,114,109,95,97,114,103,0,102,95,97,114,103,95,105,116,101,109,0,102,95,97,114,103,0,102,95,111,112,116,95,97,115,103,110,0,102,95,111,112,116,0,102,95,98,108,111,99,107,95,111,112,116,0,102,95,98,108,111,99,107,95,111,112,116,97,114,103,0,102,95,111,112,116,97,114,103,0,114,101,115,116,97,114,103,95,109,97,114,107,0,102,95,114,101,115,116,95,97,114,103,0,98,108,107,97,114,103,95,109,97,114,107,0,102,95,98,108,111,99,107,95,97,114,103,0,111,112,116,95,102,95,98,108,111,99,107,95,97,114,103,0,115,105,110,103,108,101,116,111,110,0,36,64,51,51,0,97,115,115,111,99,95,108,105,115,116,0,97,115,115,111,99,115,0,97,115,115,111,99,0,111,112,101,114,97,116,105,111,110,0,111,112,101,114,97,116,105,111,110,50,0,111,112,101,114,97,116,105,111,110,51,0,100,111,116,95,111,114,95,99,111,108,111,110,0,111,112,116,95,116,101,114,109,115,0,111,112,116,95,110,108,0,114,112,97,114,101,110,0,114,98,114,97,99,107,101,116,0,116,114,97,105,108,101,114,0,116,101,114,109,0,110,108,0,36,64,51,52,0,116,101,114,109,115,0,110,111,110,101,0,98,108,111,99,107,32,97,114,103,117,109,101,110,116,32,115,104,111,117,108,100,32,110,111,116,32,98,101,32,103,105,118,101,110,0,98,111,116,104,32,98,108,111,99,107,32,97,114,103,32,97,110,100,32,97,99,116,117,97,108,32,98,108,111,99,107,32,103,105,118,101,110,0,99,97,110,39,116,32,115,101,116,32,118,97,114,105,97,98,108,101,32,36,37,100,0,99,97,110,39,116,32,115,101,116,32,118,97,114,105,97,98,108,101,32,36,37,99,0,73,110,116,101,114,110,97,108,32,101,114,114,111,114,32,105,110,32,98,97,99,107,114,101,102,95,101,114,114,111,114,40,41,32,58,32,110,61,62,99,97,114,32,61,61,32,37,83,0,39,42,39,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,114,103,117,109,101,110,116,32,112,114,101,102,105,120,0,10,61,101,110,100,0,101,109,98,101,100,100,101,100,32,100,111,99,117,109,101,110,116,32,109,101,101,116,115,32,101,110,100,32,111,102,32,102,105,108,101,0,105,110,99,111,109,112,108,101,116,101,32,99,104,97,114,97,99,116,101,114,32,115,121,110,116,97,120,0,105,110,118,97,108,105,100,32,99,104,97,114,97,99,116,101,114,32,115,121,110,116,97,120,59,32,117,115,101,32,63,92,37,99,0,38,38,0,39,38,39,32,105,110,116,101,114,112,114,101,116,101,100,32,97,115,32,97,114,103,117,109,101,110,116,32,112,114,101,102,105,120,0,124,124,0,110,111,32,46,60,100,105,103,105,116,62,32,102,108,111,97,116,105,110,103,32,108,105,116,101,114,97,108,32,97,110,121,109,111,114,101,59,32,112,117,116,32,48,32,98,101,102,111,114,101,32,100,111,116,0,110,117,109,101,114,105,99,32,108,105,116,101,114,97,108,32,119,105,116,104,111,117,116,32,100,105,103,105,116,115,0,73,110,118,97,108,105,100,32,111,99,116,97,108,32,100,105,103,105,116,0,48,0,116,114,97,105,108,105,110,103,32,39,37,99,39,32,105,110,32,110,117,109,98,101,114,0,99,111,114,114,117,112,116,101,100,32,102,108,111,97,116,32,118,97,108,117,101,32,37,115,0,102,108,111,97,116,32,37,115,32,111,117,116,32,111,102,32,114,97,110,103,101,0,117,110,107,110,111,119,110,32,116,121,112,101,32,111,102,32,37,115,116,114,105,110,103,0,117,110,116,101,114,109,105,110,97,116,101,100,32,113,117,111,116,101,100,32,115,116,114,105,110,103,32,109,101,101,116,115,32,101,110,100,32,111,102,32,102,105,108,101,0,105,110,99,111,109,112,108,101,116,101,32,103,108,111,98,97,108,32,118,97,114,105,97,98,108,101,32,115,121,110,116,97,120,0,99,97,112,116,117,114,101,32,103,114,111,117,112,32,105,110,100,101,120,32,109,117,115,116,32,98,101,32,60,61,32,37,100,0,105,110,99,111,109,112,108,101,116,101,32,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,32,115,121,110,116,97,120,0,105,110,99,111,109,112,108,101,116,101,32,99,108,97,115,115,32,118,97,114,105,97,98,108,101,32,115,121,110,116,97,120,0,39,64,37,99,39,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,97,115,32,97,110,32,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,32,110,97,109,101,0,39,64,64,37,99,39,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,97,115,32,97,32,99,108,97,115,115,32,118,97,114,105,97,98,108,101,32,110,97,109,101,0,73,110,118,97,108,105,100,32,99,104,97,114,32,39,92,120,37,48,50,88,39,32,105,110,32,101,120,112,114,101,115,115,105,111,110,0,95,95,69,78,68,95,95,0,98,114,101,97,107,0,101,108,115,101,0,110,105,108,0,101,110,115,117,114,101,0,110,111,116,0,102,97,108,115,101,0,115,101,108,102,0,101,108,115,105,102,0,114,101,115,99,117,101,0,116,114,117,101,0,117,110,116,105,108,0,117,110,108,101,115,115,0,114,101,116,117,114,110,0,100,101,102,0,97,110,100,0,121,105,101,108,100,0,102,111,114,0,117,110,100,101,102,0,111,114,0,105,110,0,119,104,101,110,0,114,101,116,114,121,0,105,102,0,99,97,115,101,0,114,101,100,111,0,110,101,120,116,0,115,117,112,101,114,0,109,111,100,117,108,101,0,95,95,76,73,78,69,95,95,0,95,95,70,73,76,69,95,95,0,95,95,69,78,67,79,68,73,78,71,95,95,0,69,78,68,0,97,108,105,97,115,0,66,69,71,73,78,0,119,104,105,108,101,0,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,14,51,16,8,11,13,51,51,51,51,10,51,13,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,11,51,13,1,26,4,1,8,28,51,23,51,1,1,27,5,19,21,51,8,3,3,11,51,21,24,16,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,51,97,109,98,105,103,117,111,117,115,32,102,105,114,115,116,32,97,114,103,117,109,101,110,116,59,32,112,117,116,32,112,97,114,101,110,116,104,101,115,101,115,32,111,114,32,101,118,101,110,32,115,112,97,99,101,115,0,115,116,114,105,110,103,32,116,111,111,32,108,111,110,103,32,40,116,114,117,110,99,97,116,101,100,41,0,73,110,118,97,108,105,100,32,101,115,99,97,112,101,32,99,104,97,114,97,99,116,101,114,32,115,121,110,116,97,120,0,73,110,118,97,108,105,100,32,85,110,105,99,111,100,101,32,99,111,100,101,32,112,111,105,110,116,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,0,117,110,116,101,114,109,105,110,97,116,101,100,32,104,101,114,101,32,100,111,99,117,109,101,110,116,32,105,100,101,110,116,105,102,105,101,114,0,99,97,110,39,116,32,102,105,110,100,32,104,101,114,101,100,111,99,32,100,101,108,105,109,105,116,101,114,32,34,37,115,34,32,97,110,121,119,104,101,114,101,32,98,101,102,111,114,101,32,69,79,70,0,117,110,116,101,114,109,105,110,97,116,101,100,32,115,116,114,105,110,103,32,109,101,101,116,115,32,101,110,100,32,111,102,32,102,105,108,101,0,115,0,117,110,107,110,111,119,110,32,114,101,103,101,120,112,32,111,112,116,105,111,110,37,115,32,45,32,37,115,0,108,105,110,101,32,37,100,58,32,37,115,10,0,99,111,100,101,103,101,110,32,101,114,114,111,114,0,97,114,114,97,121,32,115,105,122,101,32,116,111,111,32,98,105,103,0,105,110,100,101,120,32,37,83,32,111,117,116,32,111,102,32,97,114,114,97,121,0,110,101,103,97,116,105,118,101,32,108,101,110,103,116,104,32,40,37,83,41,0,105,110,100,101,120,32,105,115,32,111,117,116,32,111,102,32,97,114,114,97,121,0,116,111,95,97,0,114,101,99,117,114,115,105,118,101,32,97,114,114,97,121,32,106,111,105,110,0,43,0,60,60,0,91,93,61,0,99,108,101,97,114,0,99,111,110,99,97,116,0,100,101,108,101,116,101,95,97,116,0,101,109,112,116,121,63,0,105,110,100,101,120,0,106,111,105,110,0,108,101,110,103,116,104,0,112,111,112,0,112,117,115,104,0,114,101,112,108,97,99,101,0,114,101,118,101,114,115,101,0,114,101,118,101,114,115,101,33,0,114,105,110,100,101,120,0,115,104,105,102,116,0,115,105,122,101,0,115,108,105,99,101,0,117,110,115,104,105,102,116,0,95,95,97,114,121,95,101,113,0,95,95,97,114,121,95,99,109,112,0,95,95,97,114,121,95,105,110,100,101,120,0,124,105,0,110,101,103,97,116,105,118,101,32,97,114,114,97,121,32,115,105,122,101,0,124,83,33,0,65,0,105,0,97,0,111,111,124,111,0,105,42,0,111,124,105,0,110,101,103,97,116,105,118,101,32,97,114,103,117,109,101,110,116,0,35,0,40,117,110,107,110,111,119,110,41,0,58,105,110,32,0,2,8,32,128,1,4,16,64,3,12,48,192,95,95,111,117,116,101,114,95,95,0,95,95,99,108,97,115,115,105,100,95,95,0,37,83,32,105,115,32,110,111,116,32,97,32,99,108,97,115,115,47,109,111,100,117,108,101,0,110,111,32,115,117,112,101,114,32,99,108,97,115,115,32,102,111,114,32,39,37,83,39,44,32,79,98,106,101,99,116,32,97,115,115,117,109,101,100,0,115,117,112,101,114,99,108,97,115,115,32,109,105,115,109,97,116,99,104,32,102,111,114,32,67,108,97,115,115,32,37,83,32,40,37,83,32,110,111,116,32,37,83,41,0,115,117,112,101,114,99,108,97,115,115,32,109,117,115,116,32,98,101,32,97,32,67,108,97,115,115,32,40,37,83,32,103,105,118,101,110,41,0,99,97,110,39,116,32,109,97,107,101,32,115,117,98,99,108,97,115,115,32,111,102,32,115,105,110,103,108,101,116,111,110,32,99,108,97,115,115,0,99,97,110,39,116,32,109,97,107,101,32,115,117,98,99,108,97,115,115,32,111,102,32,67,108,97,115,115,0,105,110,104,101,114,105,116,101,100,0,78,111,116,73,109,112,108,101,109,101,110,116,101,100,69,114,114,111,114,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,0,37,83,32,105,115,32,110,111,116,32,99,108,97,115,115,47,109,111,100,117,108,101,0,82,97,110,103,101,69,114,114,111,114,0,102,108,111,97,116,32,116,111,111,32,98,105,103,32,102,111,114,32,105,110,116,0,110,111,32,105,109,112,108,105,99,105,116,32,99,111,110,118,101,114,115,105,111,110,32,111,102,32,83,116,114,105,110,103,32,105,110,116,111,32,73,110,116,101,103,101,114,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,32,115,112,101,99,105,102,105,101,114,32,37,83,0,72,97,115,104,0,116,111,95,104,97,115,104,0,101,120,112,101,99,116,101,100,32,37,83,0,65,114,114,97,121,0,116,111,95,97,114,121,0,83,116,114,105,110,103,0,116,111,95,115,116,114,0,99,121,99,108,105,99,32,105,110,99,108,117,100,101,32,100,101,116,101,99,116,101,100,0,99,121,99,108,105,99,32,112,114,101,112,101,110,100,32,100,101,116,101,99,116,101,100,0,99,97,110,39,116,32,100,101,102,105,110,101,32,115,105,110,103,108,101,116,111,110,0,117,110,100,101,102,105,110,101,100,32,109,101,116,104,111,100,32,39,37,83,39,32,102,111,114,32,99,108,97,115,115,32,37,83,0,42,38,0,99,97,110,39,116,32,99,114,101,97,116,101,32,105,110,115,116,97,110,99,101,32,111,102,32,115,105,110,103,108,101,116,111,110,32,99,108,97,115,115,0,117,110,100,101,102,105,110,101,100,32,109,101,116,104,111,100,32,39,37,83,39,32,102,111,114,32,37,83,0,95,95,99,108,97,115,115,112,97,116,104,95,95,0,35,60,67,108,97,115,115,58,0,62,0,58,58,0,117,110,100,101,102,105,110,101,100,32,109,101,116,104,111,100,32,39,37,83,39,32,102,111,114,32,99,108,97,115,115,32,39,37,83,39,0,66,97,115,105,99,79,98,106,101,99,116,0,79,98,106,101,99,116,0,77,111,100,117,108,101,0,67,108,97,115,115,0,80,114,111,99,0,33,0,109,101,116,104,111,100,95,109,105,115,115,105,110,103,0,115,117,112,101,114,99,108,97,115,115,0,99,108,97,115,115,95,118,97,114,105,97,98,108,101,95,100,101,102,105,110,101,100,63,0,99,108,97,115,115,95,118,97,114,105,97,98,108,101,95,103,101,116,0,99,108,97,115,115,95,118,97,114,105,97,98,108,101,95,115,101,116,0,112,114,101,112,101,110,100,0,112,114,101,112,101,110,100,101,100,0,112,114,101,112,101,110,100,95,102,101,97,116,117,114,101,115,0,105,110,99,108,117,100,101,0,97,112,112,101,110,100,95,102,101,97,116,117,114,101,115,0,99,108,97,115,115,95,101,118,97,108,0,105,110,99,108,117,100,101,100,0,105,110,99,108,117,100,101,100,95,109,111,100,117,108,101,115,0,105,110,115,116,97,110,99,101,95,109,101,116,104,111,100,115,0,109,101,116,104,111,100,95,100,101,102,105,110,101,100,63,0,109,111,100,117,108,101,95,101,118,97,108,0,109,111,100,117,108,101,95,102,117,110,99,116,105,111,110,0,112,114,105,118,97,116,101,0,112,114,111,116,101,99,116,101,100,0,112,117,98,108,105,99,0,114,101,109,111,118,101,95,99,108,97,115,115,95,118,97,114,105,97,98,108,101,0,114,101,109,111,118,101,95,109,101,116,104,111,100,0,109,101,116,104,111,100,95,114,101,109,111,118,101,100,0,97,116,116,114,95,114,101,97,100,101,114,0,97,116,116,114,95,119,114,105,116,101,114,0,97,110,99,101,115,116,111,114,115,0,99,111,110,115,116,95,100,101,102,105,110,101,100,63,0,99,111,110,115,116,95,103,101,116,0,99,111,110,115,116,95,115,101,116,0,99,111,110,115,116,97,110,116,115,0,114,101,109,111,118,101,95,99,111,110,115,116,0,99,111,110,115,116,95,109,105,115,115,105,110,103,0,100,101,102,105,110,101,95,109,101,116,104,111,100,0,99,108,97,115,115,95,118,97,114,105,97,98,108,101,115,0,77,111,100,117,108,101,46,99,111,110,115,116,97,110,116,115,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,117,110,105,110,105,116,105,97,108,105,122,101,100,32,99,111,110,115,116,97,110,116,32,37,83,58,58,37,83,0,117,110,105,110,105,116,105,97,108,105,122,101,100,32,99,111,110,115,116,97,110,116,32,37,83,0,99,111,110,115,116,97,110,116,32,37,83,32,110,111,116,32,100,101,102,105,110,101,100,0,119,114,111,110,103,32,99,111,110,115,116,97,110,116,32,110,97,109,101,32,37,83,0,110,124,98,0,110,110,0,35,60,77,111,100,117,108,101,58,0,35,60,63,63,63,63,63,63,58,0,64,0,61,0,109,101,116,104,111,100,32,39,37,83,39,32,110,111,116,32,100,101,102,105,110,101,100,32,105,110,32,37,83,0,99,97,110,110,111,116,32,114,101,109,111,118,101,32,37,83,32,102,111,114,32,37,83,0,99,108,97,115,115,32,118,97,114,105,97,98,108,101,32,37,83,32,110,111,116,32,100,101,102,105,110,101,100,32,102,111,114,32,37,83,0,39,37,83,39,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,97,115,32,97,32,99,108,97,115,115,32,118,97,114,105,97,98,108,101,32,110,97,109,101,0,124,38,0,124,67,38,0,110,42,0,105,114,101,112,32,37,112,32,110,114,101,103,115,61,37,100,32,110,108,111,99,97,108,115,61,37,100,32,112,111,111,108,115,61,37,100,32,115,121,109,115,61,37,100,32,114,101,112,115,61,37,100,10,0,102,105,108,101,58,32,37,115,10,0,32,32,32,32,32,32,0,37,53,100,32,0,37,48,51,100,32,0,79,80,95,78,79,80,10,0,79,80,95,77,79,86,69,9,82,37,100,9,82,37,100,9,0,79,80,95,76,79,65,68,76,9,82,37,100,9,76,40,37,100,41,9,59,32,37,115,0,79,80,95,76,79,65,68,73,9,82,37,100,9,37,100,9,0,79,80,95,76,79,65,68,83,89,77,9,82,37,100,9,58,37,115,0,79,80,95,76,79,65,68,78,73,76,9,82,37,100,9,9,0,79,80,95,76,79,65,68,83,69,76,70,9,82,37,100,9,9,0,79,80,95,76,79,65,68,84,9,82,37,100,9,9,0,79,80,95,76,79,65,68,70,9,82,37,100,9,9,0,79,80,95,71,69,84,71,76,79,66,65,76,9,82,37,100,9,58,37,115,0,79,80,95,83,69,84,71,76,79,66,65,76,9,58,37,115,9,82,37,100,9,0,79,80,95,71,69,84,67,79,78,83,84,9,82,37,100,9,58,37,115,0,79,80,95,83,69,84,67,79,78,83,84,9,58,37,115,9,82,37,100,9,0,79,80,95,71,69,84,77,67,78,83,84,9,82,37,100,9,82,37,100,58,58,37,115,0,79,80,95,83,69,84,77,67,78,83,84,9,82,37,100,58,58,37,115,9,82,37,100,0,79,80,95,71,69,84,73,86,9,82,37,100,9,37,115,0,79,80,95,83,69,84,73,86,9,37,115,9,82,37,100,0,79,80,95,71,69,84,85,80,86,65,82,9,82,37,100,9,37,100,9,37,100,0,79,80,95,83,69,84,85,80,86,65,82,9,82,37,100,9,37,100,9,37,100,0,79,80,95,71,69,84,67,86,9,82,37,100,9,37,115,0,79,80,95,83,69,84,67,86,9,37,115,9,82,37,100,0,79,80,95,74,77,80,9,37,48,51,100,10,0,79,80,95,74,77,80,73,70,9,82,37,100,9,37,48,51,100,10,0,79,80,95,74,77,80,78,79,84,9,82,37,100,9,37,48,51,100,10,0,79,80,95,83,69,78,68,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,83,69,78,68,66,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,84,65,73,76,67,65,76,76,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,83,85,80,69,82,9,82,37,100,9,37,100,10,0,79,80,95,65,82,71,65,82,89,9,82,37,100,9,37,100,58,37,100,58,37,100,58,37,100,0,79,80,95,69,78,84,69,82,9,37,100,58,37,100,58,37,100,58,37,100,58,37,100,58,37,100,58,37,100,10,0,79,80,95,82,69,84,85,82,78,9,82,37,100,0,9,114,101,116,117,114,110,9,0,9,98,114,101,97,107,9,0,9,98,114,111,107,101,110,9,0,79,80,95,66,76,75,80,85,83,72,9,82,37,100,9,37,100,58,37,100,58,37,100,58,37,100,0,79,80,95,76,65,77,66,68,65,9,82,37,100,9,73,40,37,43,100,41,9,37,100,0,79,80,95,82,65,78,71,69,9,82,37,100,9,82,37,100,9,37,100,0,79,80,95,77,69,84,72,79,68,9,82,37,100,9,58,37,115,0,79,80,95,65,68,68,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,65,68,68,73,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,83,85,66,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,83,85,66,73,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,77,85,76,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,68,73,86,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,76,84,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,76,69,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,71,84,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,71,69,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,69,81,9,82,37,100,9,58,37,115,9,37,100,10,0,79,80,95,83,84,79,80,10,0,79,80,95,65,82,82,65,89,9,82,37,100,9,82,37,100,9,37,100,0,79,80,95,65,82,89,67,65,84,9,82,37,100,9,82,37,100,9,0,79,80,95,65,82,89,80,85,83,72,9,82,37,100,9,82,37,100,9,0,79,80,95,65,82,69,70,9,82,37,100,9,82,37,100,9,37,100,0,79,80,95,65,80,79,83,84,9,82,37,100,9,37,100,9,37,100,0,79,80,95,83,84,82,73,78,71,9,82,37,100,9,76,40,37,100,41,9,59,32,37,115,0,79,80,95,83,84,82,67,65,84,9,82,37,100,9,82,37,100,9,0,79,80,95,72,65,83,72,9,82,37,100,9,82,37,100,9,37,100,0,79,80,95,79,67,76,65,83,83,9,82,37,100,9,9,0,79,80,95,67,76,65,83,83,9,82,37,100,9,58,37,115,0,79,80,95,77,79,68,85,76,69,9,82,37,100,9,58,37,115,0,79,80,95,69,88,69,67,9,82,37,100,9,73,40,37,43,100,41,0,79,80,95,83,67,76,65,83,83,9,82,37,100,9,82,37,100,9,0,79,80,95,84,67,76,65,83,83,9,82,37,100,9,9,0,79,80,95,69,82,82,9,37,115,10,0,79,80,95,69,80,85,83,72,9,58,73,40,37,43,100,41,10,0,79,80,95,79,78,69,82,82,9,37,48,51,100,10,0,79,80,95,82,69,83,67,85,69,9,82,37,100,9,9,0,79,80,95,82,65,73,83,69,9,82,37,100,9,9,0,79,80,95,80,79,80,69,82,82,9,37,100,9,9,0,79,80,95,69,80,79,80,9,37,100,10,0,79,80,95,117,110,107,110,111,119,110,32,37,100,9,37,100,9,37,100,9,37,100,10,0,10,0,9,59,32,0,32,0,82,37,100,58,37,115,0,99,105,105,100,120,0,102,105,108,101,0,108,105,110,101,0,78,97,109,101,69,114,114,111,114,0,119,97,114,110,105,110,103,58,32,0,98,117,103,58,32,0,101,120,99,101,112,116,105,111,110,0,101,120,99,101,112,116,105,111,110,32,99,108,97,115,115,47,111,98,106,101,99,116,32,101,120,112,101,99,116,101,100,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,37,83,32,102,111,114,32,48,46,46,51,41,0,101,120,99,101,112,116,105,111,110,32,111,98,106,101,99,116,32,101,120,112,101,99,116,101,100,0,115,101,116,95,98,97,99,107,116,114,97,99,101,0,78,111,77,101,116,104,111,100,69,114,114,111,114,0,110,101,119,0,69,120,99,101,112,116,105,111,110,0,109,101,115,115,97,103,101,0,98,97,99,107,116,114,97,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,83,99,114,105,112,116,69,114,114,111,114,0,83,121,110,116,97,120,69,114,114,111,114,0,83,121,115,116,101,109,83,116,97,99,107,69,114,114,111,114,0,109,101,115,103,0,58,0,58,32,0,32,40,0,41,0,124,111,0,119,114,111,110,103,32,97,114,103,117,109,101,110,116,32,116,121,112,101,32,37,83,32,40,101,120,112,101,99,116,101,100,32,37,83,41,0,117,110,105,110,105,116,105,97,108,105,122,101,100,32,37,83,32,40,101,120,112,101,99,116,101,100,32,37,83,41,0,99,97,110,39,116,32,99,108,111,110,101,32,37,83,0,99,97,110,39,116,32,99,108,111,110,101,32,115,105,110,103,108,101,116,111,110,32,99,108,97,115,115,0,99,97,110,39,116,32,100,117,112,32,37,83,0,99,97,110,39,116,32,100,117,112,32,115,105,110,103,108,101,116,111,110,32,99,108,97,115,115,0,95,95,97,116,116,97,99,104,101,100,95,95,0,2,8,32,128,1,4,16,64,3,12,48,192,124,111,111,0,82,117,110,116,105,109,101,69,114,114,111,114,0,108,97,115,116,112,99,0,98,108,111,99,107,95,103,105,118,101,110,63,0,103,108,111,98,97,108,95,118,97,114,105,97,98,108,101,115,0,105,116,101,114,97,116,111,114,63,0,108,111,99,97,108,95,118,97,114,105,97,98,108,101,115,0,114,97,105,115,101,0,115,105,110,103,108,101,116,111,110,95,99,108,97,115,115,0,33,61,0,95,95,105,100,95,95,0,95,95,115,101,110,100,95,95,0,99,108,97,115,115,0,99,108,111,110,101,0,100,117,112,0,101,113,117,97,108,63,0,101,120,116,101,110,100,0,104,97,115,104,0,105,110,115,116,97,110,99,101,95,101,118,97,108,0,105,110,115,116,97,110,99,101,95,111,102,63,0,105,110,115,116,97,110,99,101,95,118,97,114,105,97,98,108,101,95,100,101,102,105,110,101,100,63,0,105,110,115,116,97,110,99,101,95,118,97,114,105,97,98,108,101,95,103,101,116,0,105,110,115,116,97,110,99,101,95,118,97,114,105,97,98,108,101,95,115,101,116,0,105,110,115,116,97,110,99,101,95,118,97,114,105,97,98,108,101,115,0,105,115,95,97,63,0,107,105,110,100,95,111,102,63,0,109,101,116,104,111,100,115,0,110,105,108,63,0,111,98,106,101,99,116,95,105,100,0,112,114,105,118,97,116,101,95,109,101,116,104,111,100,115,0,112,114,111,116,101,99,116,101,100,95,109,101,116,104,111,100,115,0,112,117,98,108,105,99,95,109,101,116,104,111,100,115,0,114,101,109,111,118,101,95,105,110,115,116,97,110,99,101,95,118,97,114,105,97,98,108,101,0,114,101,115,112,111,110,100,95,116,111,63,0,115,101,110,100,0,115,105,110,103,108,101,116,111,110,95,109,101,116,104,111,100,115,0,100,101,102,105,110,101,95,115,105,110,103,108,101,116,111,110,95,109,101,116,104,111,100,0,110,38,0,110,111,32,98,108,111,99,107,32,103,105,118,101,110,0,124,98,0,111,124,98,0,37,83,32,105,115,32,110,111,116,32,97,32,115,121,109,98,111,108,0,114,101,115,112,111,110,100,95,116,111,95,109,105,115,115,105,110,103,63,0,110,0,105,110,115,116,97,110,99,101,32,118,97,114,105,97,98,108,101,32,37,83,32,110,111,116,32,100,101,102,105,110,101,100,0,67,0,110,111,0,105,110,105,116,105,97,108,105,122,101,95,99,111,112,121,32,115,104,111,117,108,100,32,116,97,107,101,32,115,97,109,101,32,99,108,97,115,115,32,111,98,106,101,99,116,0,42,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,40,97,116,32,108,101,97,115,116,32,49,41,0,101,120,116,101,110,100,95,111,98,106,101,99,116,0,101,120,116,101,110,100,101,100,0,67,97,110,39,116,32,103,101,116,32,99,102,117,110,99,32,101,110,118,32,102,114,111,109,32,110,111,110,45,99,102,117,110,99,32,112,114,111,99,46,0,67,97,110,39,116,32,103,101,116,32,99,102,117,110,99,32,101,110,118,32,102,114,111,109,32,99,102,117,110,99,32,80,114,111,99,32,119,105,116,104,111,117,116,32,82,69,110,118,46,0,73,110,100,101,120,69,114,114,111,114,0,69,110,118,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,58,32,37,83,32,40,101,120,112,101,99,116,101,100,58,32,48,32,60,61,32,105,110,100,101,120,32,60,32,37,83,41,0,97,114,105,116,121,0,91,93,0,108,97,109,98,100,97,0,38,0,116,114,105,101,100,32,116,111,32,99,114,101,97,116,101,32,80,114,111,99,32,111,98,106,101,99,116,32,119,105,116,104,111,117,116,32,97,32,98,108,111,99,107,0,110,111,116,32,97,32,112,114,111,99,0,82,97,110,103,101,0,60,61,62,0,65,114,103,117,109,101,110,116,69,114,114,111,114,0,98,97,100,32,118,97,108,117,101,32,102,111,114,32,114,97,110,103,101,0,111,111,124,98,0,111,0,61,61,0,84,121,112,101,69,114,114,111,114,0,98,101,103,105,110,0,101,110,100,0,101,120,99,108,117,100,101,95,101,110,100,63,0,102,105,114,115,116,0,105,110,99,108,117,100,101,63,0,105,110,105,116,105,97,108,105,122,101,0,108,97,115,116,0,109,101,109,98,101,114,63,0,116,111,95,115,0,105,110,115,112,101,99,116,0,101,113,108,63,0,105,110,105,116,105,97,108,105,122,101,95,99,111,112,121,0,119,114,111,110,103,32,97,114,103,117,109,101,110,116,32,99,108,97,115,115,0,46,46,46,0,49,46,50,46,48,0,49,46,57,0,82,85,66,89,95,86,69,82,83,73,79,78,0,109,114,117,98,121,0,82,85,66,89,95,69,78,71,73,78,69,0,82,85,66,89,95,69,78,71,73,78,69,95,86,69,82,83,73,79,78,0,77,82,85,66,89,95,86,69,82,83,73,79,78,0,77,82,85,66,89,95,82,69,76,69,65,83,69,95,78,79,0,50,48,49,53,45,49,49,45,49,55,0,77,82,85,66,89,95,82,69,76,69,65,83,69,95,68,65,84,69,0,109,114,117,98,121,32,49,46,50,46,48,32,40,50,48,49,53,45,49,49,45,49,55,41,32,0,77,82,85,66,89,95,68,69,83,67,82,73,80,84,73,79,78,0,109,114,117,98,121,32,45,32,67,111,112,121,114,105,103,104,116,32,40,99,41,32,50,48,49,48,45,50,48,49,53,32,109,114,117,98,121,32,100,101,118,101,108,111,112,101,114,115,0,77,82,85,66,89,95,67,79,80,89,82,73,71,72,84,0,83,116,97,110,100,97,114,100,69,114,114,111,114,0,95,95,99,97,115,101,95,101,113,113,0,61,61,61,0,95,95,117,112,100,97,116,101,0,99,97,108,108,0,117,110,101,120,112,101,99,116,101,100,32,110,101,120,116,0,117,110,101,120,112,101,99,116,101,100,32,114,101,100,111,0,117,110,101,120,112,101,99,116,101,100,32,114,101,116,114,121,0,36,0,45,0,75,101,114,110,101,108,0,96,0,82,101,103,101,120,112,0,99,111,109,112,105,108,101,0,97,108,105,97,115,95,109,101,116,104,111,100,0,117,110,100,101,102,95,109,101,116,104,111,100,0,105,110,116,101,114,110,0,109,114,98,95,114,101,97,108,108,111,99,0,99,111,100,101,103,101,110,32,101,114,114,111,114,58,37,115,58,37,100,58,32,37,115,10,0,99,111,100,101,103,101,110,32,101,114,114,111,114,58,32,37,115,10,0,109,97,108,102,111,114,109,101,100,32,114,101,97,100,105,110,116,32,105,110,112,117,116,0,117,110,101,120,112,101,99,116,101,100,32,98,114,101,97,107,0,116,111,111,32,99,111,109,112,108,101,120,32,101,120,112,114,101,115,115,105,111,110,0,117,110,101,120,112,101,99,116,101,100,32,115,99,111,112,101,0,101,97,99,104,0,109,114,98,95,109,97,108,108,111,99,0,117,110,107,110,111,119,110,32,108,104,115,32,37,100,10,0,112,111,111,108,32,109,101,109,111,114,121,32,97,108,108,111,99,97,116,105,111,110,0,116,111,111,32,109,97,110,121,32,115,121,109,98,111,108,115,32,40,109,97,120,32,50,53,54,41,0,98,117,103,58,32,100,105,115,112,97,116,99,104,32,111,110,32,110,111,110,32,74,77,80,32,111,112,10,0,67,111,109,112,97,114,97,98,108,101,0,69,110,117,109,101,114,97,98,108,101,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,4,7,3,6,5,0,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,40,110,117,108,108,41,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,105,110,102,0,73,78,70,0,78,65,78,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116,97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121,112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32,108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101,97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101,120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109,0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+61458);
-/* memory initializer */ allocate([32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101,97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116,105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103,101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111,116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111,99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104,97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,105,110,102,105,110,105,116,121,0,110,97,110,0,114,119,97,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+71698);
-
+var ASM_CONSTS = {
+  
+};
+
+
+
+
+// STATICTOP = STATIC_BASE + 78848;
+/* global initializers */  __ATINIT__.push({ func: function() { ___wasm_call_ctors() } });
 
 
@@ -1608,95 +1869,860 @@
 
 /* no memory initializer */
-var tempDoublePtr = STATICTOP; STATICTOP += 16;
-
-assert(tempDoublePtr % 8 == 0);
-
-function copyTempFloat(ptr) { // functions, because inlining this code increases code size too much
-
-  HEAP8[tempDoublePtr] = HEAP8[ptr];
-
-  HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
-
-  HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
-
-  HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
-
-}
-
-function copyTempDouble(ptr) {
-
-  HEAP8[tempDoublePtr] = HEAP8[ptr];
-
-  HEAP8[tempDoublePtr+1] = HEAP8[ptr+1];
-
-  HEAP8[tempDoublePtr+2] = HEAP8[ptr+2];
-
-  HEAP8[tempDoublePtr+3] = HEAP8[ptr+3];
-
-  HEAP8[tempDoublePtr+4] = HEAP8[ptr+4];
-
-  HEAP8[tempDoublePtr+5] = HEAP8[ptr+5];
-
-  HEAP8[tempDoublePtr+6] = HEAP8[ptr+6];
-
-  HEAP8[tempDoublePtr+7] = HEAP8[ptr+7];
-
-}
-
 // {{PRE_LIBRARY}}
 
 
-   
-  Module["_i64Subtract"] = _i64Subtract;
-
-   
-  Module["_i64Add"] = _i64Add;
-
-   
-  Module["_memset"] = _memset;
-
-   
-  Module["_bitshift64Lshr"] = _bitshift64Lshr;
-
-  
-  
-  
-  function _realloc() { throw 'bad' }
-  Module["_realloc"] = _realloc; 
-  Module["_saveSetjmp"] = _saveSetjmp;
-  
-   
-  Module["_testSetjmp"] = _testSetjmp;function _longjmp(env, value) {
-      Module['setThrew'](env, value || 1);
-      throw 'longjmp';
-    }function _emscripten_longjmp(env, value) {
-      _longjmp(env, value);
-    }
-
-   
-  Module["_bitshift64Shl"] = _bitshift64Shl;
-
-  function _abort() {
-      Module['abort']();
-    }
-
-
-  
-  
-  
-  var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};
-  
-  var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can   access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};
-  
-  function ___setErrNo(value) {
-      if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value;
-      else Module.printErr('failed to set errno from JS');
+  
+  
+  function _emscripten_set_main_loop_timing(mode, value) {
+      Browser.mainLoop.timingMode = mode;
+      Browser.mainLoop.timingValue = value;
+  
+      if (!Browser.mainLoop.func) {
+        console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.');
+        return 1; // Return non-zero on failure, can't set timing mode when there is no main loop.
+      }
+  
+      if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) {
+        Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() {
+          var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0;
+          setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop
+        };
+        Browser.mainLoop.method = 'timeout';
+      } else if (mode == 1 /*EM_TIMING_RAF*/) {
+        Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
+          Browser.requestAnimationFrame(Browser.mainLoop.runner);
+        };
+        Browser.mainLoop.method = 'rAF';
+      } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) {
+        if (typeof setImmediate === 'undefined') {
+          // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed)
+          var setImmediates = [];
+          var emscriptenMainLoopMessageId = 'setimmediate';
+          var Browser_setImmediate_messageHandler = function(event) {
+            // When called in current thread or Worker, the main loop ID is structured slightly different to accommodate for --proxy-to-worker runtime listening to Worker events,
+            // so check for both cases.
+            if (event.data === emscriptenMainLoopMessageId || event.data.target === emscriptenMainLoopMessageId) {
+              event.stopPropagation();
+              setImmediates.shift()();
+            }
+          }
+          addEventListener("message", Browser_setImmediate_messageHandler, true);
+          setImmediate = /** @type{function(function(): ?, ...?): number} */(function Browser_emulated_setImmediate(func) {
+            setImmediates.push(func);
+            if (ENVIRONMENT_IS_WORKER) {
+              if (Module['setImmediates'] === undefined) Module['setImmediates'] = [];
+              Module['setImmediates'].push(func);
+              postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js
+            } else postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself.
+          })
+        }
+        Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() {
+          setImmediate(Browser.mainLoop.runner);
+        };
+        Browser.mainLoop.method = 'immediate';
+      }
+      return 0;
+    }
+  
+  var _emscripten_get_now;if (ENVIRONMENT_IS_NODE) {
+    _emscripten_get_now = function() {
+      var t = process['hrtime']();
+      return t[0] * 1e3 + t[1] / 1e6;
+    };
+  } else if (typeof dateNow !== 'undefined') {
+    _emscripten_get_now = dateNow;
+  } else _emscripten_get_now = function() { return performance.now(); }
+  ;/** @param {number|boolean=} noSetTiming */
+  function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) {
+      noExitRuntime = true;
+  
+      assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.');
+  
+      Browser.mainLoop.func = func;
+      Browser.mainLoop.arg = arg;
+  
+      var browserIterationFunc;
+      if (typeof arg !== 'undefined') {
+        browserIterationFunc = function() {
+          Module['dynCall_vi'](func, arg);
+        };
+      } else {
+        browserIterationFunc = function() {
+          Module['dynCall_v'](func);
+        };
+      }
+  
+      var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
+  
+      Browser.mainLoop.runner = function Browser_mainLoop_runner() {
+        if (ABORT) return;
+        if (Browser.mainLoop.queue.length > 0) {
+          var start = Date.now();
+          var blocker = Browser.mainLoop.queue.shift();
+          blocker.func(blocker.arg);
+          if (Browser.mainLoop.remainingBlockers) {
+            var remaining = Browser.mainLoop.remainingBlockers;
+            var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining);
+            if (blocker.counted) {
+              Browser.mainLoop.remainingBlockers = next;
+            } else {
+              // not counted, but move the progress along a tiny bit
+              next = next + 0.5; // do not steal all the next one's progress
+              Browser.mainLoop.remainingBlockers = (8*remaining + next)/9;
+            }
+          }
+          console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers);
+          Browser.mainLoop.updateStatus();
+  
+          // catches pause/resume main loop from blocker execution
+          if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+  
+          setTimeout(Browser.mainLoop.runner, 0);
+          return;
+        }
+  
+        // catch pauses from non-main loop sources
+        if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+  
+        // Implement very basic swap interval control
+        Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
+        if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
+          // Not the scheduled time to render this frame - skip.
+          Browser.mainLoop.scheduler();
+          return;
+        } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) {
+          Browser.mainLoop.tickStartTime = _emscripten_get_now();
+        }
+  
+        // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize
+        // VBO double-buffering and reduce GPU stalls.
+  
+  
+  
+        if (Browser.mainLoop.method === 'timeout' && Module.ctx) {
+          warnOnce('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!');
+          Browser.mainLoop.method = ''; // just warn once per call to set main loop
+        }
+  
+        Browser.mainLoop.runIter(browserIterationFunc);
+  
+        checkStackCookie();
+  
+        // catch pauses from the main loop itself
+        if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
+  
+        // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able
+        // to queue the newest produced audio samples.
+        // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData()
+        //       do not need to be hardcoded into this function, but can be more generic.
+        if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
+  
+        Browser.mainLoop.scheduler();
+      }
+  
+      if (!noSetTiming) {
+        if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps);
+        else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating)
+  
+        Browser.mainLoop.scheduler();
+      }
+  
+      if (simulateInfiniteLoop) {
+        throw 'unwind';
+      }
+    }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function() {
+          Browser.mainLoop.scheduler = null;
+          Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return.
+        },resume:function() {
+          Browser.mainLoop.currentlyRunningMainloop++;
+          var timingMode = Browser.mainLoop.timingMode;
+          var timingValue = Browser.mainLoop.timingValue;
+          var func = Browser.mainLoop.func;
+          Browser.mainLoop.func = null;
+          _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */);
+          _emscripten_set_main_loop_timing(timingMode, timingValue);
+          Browser.mainLoop.scheduler();
+        },updateStatus:function() {
+          if (Module['setStatus']) {
+            var message = Module['statusMessage'] || 'Please wait...';
+            var remaining = Browser.mainLoop.remainingBlockers;
+            var expected = Browser.mainLoop.expectedBlockers;
+            if (remaining) {
+              if (remaining < expected) {
+                Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')');
+              } else {
+                Module['setStatus'](message);
+              }
+            } else {
+              Module['setStatus']('');
+            }
+          }
+        },runIter:function(func) {
+          if (ABORT) return;
+          if (Module['preMainLoop']) {
+            var preRet = Module['preMainLoop']();
+            if (preRet === false) {
+              return; // |return false| skips a frame
+            }
+          }
+          try {
+            func();
+          } catch (e) {
+            if (e instanceof ExitStatus) {
+              return;
+            } else {
+              if (e && typeof e === 'object' && e.stack) err('exception thrown: ' + [e, e.stack]);
+              throw e;
+            }
+          }
+          if (Module['postMainLoop']) Module['postMainLoop']();
+        }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function() {
+        if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers
+  
+        if (Browser.initted) return;
+        Browser.initted = true;
+  
+        try {
+          new Blob();
+          Browser.hasBlobConstructor = true;
+        } catch(e) {
+          Browser.hasBlobConstructor = false;
+          console.log("warning: no blob constructor, cannot create blobs with mimetypes");
+        }
+        Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null));
+        Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined;
+        if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') {
+          console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
+          Module.noImageDecoding = true;
+        }
+  
+        // Support for plugins that can process preloaded files. You can add more of these to
+        // your app by creating and appending to Module.preloadPlugins.
+        //
+        // Each plugin is asked if it can handle a file based on the file's name. If it can,
+        // it is given the file's raw data. When it is done, it calls a callback with the file's
+        // (possibly modified) data. For example, a plugin might decompress a file, or it
+        // might create some side data structure for use later (like an Image element, etc.).
+  
+        var imagePlugin = {};
+        imagePlugin['canHandle'] = function imagePlugin_canHandle(name) {
+          return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
+        };
+        imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) {
+          var b = null;
+          if (Browser.hasBlobConstructor) {
+            try {
+              b = new Blob([byteArray], { type: Browser.getMimetype(name) });
+              if (b.size !== byteArray.length) { // Safari bug #118630
+                // Safari's Blob can only take an ArrayBuffer
+                b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) });
+              }
+            } catch(e) {
+              warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder');
+            }
+          }
+          if (!b) {
+            var bb = new Browser.BlobBuilder();
+            bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range
+            b = bb.getBlob();
+          }
+          var url = Browser.URLObject.createObjectURL(b);
+          assert(typeof url == 'string', 'createObjectURL must return a url as a string');
+          var img = new Image();
+          img.onload = function img_onload() {
+            assert(img.complete, 'Image ' + name + ' could not be decoded');
+            var canvas = document.createElement('canvas');
+            canvas.width = img.width;
+            canvas.height = img.height;
+            var ctx = canvas.getContext('2d');
+            ctx.drawImage(img, 0, 0);
+            Module["preloadedImages"][name] = canvas;
+            Browser.URLObject.revokeObjectURL(url);
+            if (onload) onload(byteArray);
+          };
+          img.onerror = function img_onerror(event) {
+            console.log('Image ' + url + ' could not be decoded');
+            if (onerror) onerror();
+          };
+          img.src = url;
+        };
+        Module['preloadPlugins'].push(imagePlugin);
+  
+        var audioPlugin = {};
+        audioPlugin['canHandle'] = function audioPlugin_canHandle(name) {
+          return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 };
+        };
+        audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) {
+          var done = false;
+          function finish(audio) {
+            if (done) return;
+            done = true;
+            Module["preloadedAudios"][name] = audio;
+            if (onload) onload(byteArray);
+          }
+          function fail() {
+            if (done) return;
+            done = true;
+            Module["preloadedAudios"][name] = new Audio(); // empty shim
+            if (onerror) onerror();
+          }
+          if (Browser.hasBlobConstructor) {
+            try {
+              var b = new Blob([byteArray], { type: Browser.getMimetype(name) });
+            } catch(e) {
+              return fail();
+            }
+            var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this!
+            assert(typeof url == 'string', 'createObjectURL must return a url as a string');
+            var audio = new Audio();
+            audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926
+            audio.onerror = function audio_onerror(event) {
+              if (done) return;
+              console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach');
+              function encode64(data) {
+                var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+                var PAD = '=';
+                var ret = '';
+                var leftchar = 0;
+                var leftbits = 0;
+                for (var i = 0; i < data.length; i++) {
+                  leftchar = (leftchar << 8) | data[i];
+                  leftbits += 8;
+                  while (leftbits >= 6) {
+                    var curr = (leftchar >> (leftbits-6)) & 0x3f;
+                    leftbits -= 6;
+                    ret += BASE[curr];
+                  }
+                }
+                if (leftbits == 2) {
+                  ret += BASE[(leftchar&3) << 4];
+                  ret += PAD + PAD;
+                } else if (leftbits == 4) {
+                  ret += BASE[(leftchar&0xf) << 2];
+                  ret += PAD;
+                }
+                return ret;
+              }
+              audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray);
+              finish(audio); // we don't wait for confirmation this worked - but it's worth trying
+            };
+            audio.src = url;
+            // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror
+            Browser.safeSetTimeout(function() {
+              finish(audio); // try to use it even though it is not necessarily ready to play
+            }, 10000);
+          } else {
+            return fail();
+          }
+        };
+        Module['preloadPlugins'].push(audioPlugin);
+  
+  
+        // Canvas event setup
+  
+        function pointerLockChange() {
+          Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] ||
+                                document['mozPointerLockElement'] === Module['canvas'] ||
+                                document['webkitPointerLockElement'] === Module['canvas'] ||
+                                document['msPointerLockElement'] === Module['canvas'];
+        }
+        var canvas = Module['canvas'];
+        if (canvas) {
+          // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module
+          // Module['forcedAspectRatio'] = 4 / 3;
+  
+          canvas.requestPointerLock = canvas['requestPointerLock'] ||
+                                      canvas['mozRequestPointerLock'] ||
+                                      canvas['webkitRequestPointerLock'] ||
+                                      canvas['msRequestPointerLock'] ||
+                                      function(){};
+          canvas.exitPointerLock = document['exitPointerLock'] ||
+                                   document['mozExitPointerLock'] ||
+                                   document['webkitExitPointerLock'] ||
+                                   document['msExitPointerLock'] ||
+                                   function(){}; // no-op if function does not exist
+          canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
+  
+          document.addEventListener('pointerlockchange', pointerLockChange, false);
+          document.addEventListener('mozpointerlockchange', pointerLockChange, false);
+          document.addEventListener('webkitpointerlockchange', pointerLockChange, false);
+          document.addEventListener('mspointerlockchange', pointerLockChange, false);
+  
+          if (Module['elementPointerLock']) {
+            canvas.addEventListener("click", function(ev) {
+              if (!Browser.pointerLock && Module['canvas'].requestPointerLock) {
+                Module['canvas'].requestPointerLock();
+                ev.preventDefault();
+              }
+            }, false);
+          }
+        }
+      },createContext:function(canvas, useWebGL, setInModule, webGLContextAttributes) {
+        if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas.
+  
+        var ctx;
+        var contextHandle;
+        if (useWebGL) {
+          // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults.
+          var contextAttributes = {
+            antialias: false,
+            alpha: false,
+            majorVersion: 1,
+          };
+  
+          if (webGLContextAttributes) {
+            for (var attribute in webGLContextAttributes) {
+              contextAttributes[attribute] = webGLContextAttributes[attribute];
+            }
+          }
+  
+          // This check of existence of GL is here to satisfy Closure compiler, which yells if variable GL is referenced below but GL object is not
+          // actually compiled in because application is not doing any GL operations. TODO: Ideally if GL is not being used, this function
+          // Browser.createContext() should not even be emitted.
+          if (typeof GL !== 'undefined') {
+            contextHandle = GL.createContext(canvas, contextAttributes);
+            if (contextHandle) {
+              ctx = GL.getContext(contextHandle).GLctx;
+            }
+          }
+        } else {
+          ctx = canvas.getContext('2d');
+        }
+  
+        if (!ctx) return null;
+  
+        if (setInModule) {
+          if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it');
+  
+          Module.ctx = ctx;
+          if (useWebGL) GL.makeContextCurrent(contextHandle);
+          Module.useWebGL = useWebGL;
+          Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() });
+          Browser.init();
+        }
+        return ctx;
+      },destroyContext:function(canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function(lockPointer, resizeCanvas) {
+        Browser.lockPointer = lockPointer;
+        Browser.resizeCanvas = resizeCanvas;
+        if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true;
+        if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false;
+  
+        var canvas = Module['canvas'];
+        function fullscreenChange() {
+          Browser.isFullscreen = false;
+          var canvasContainer = canvas.parentNode;
+          if ((document['fullscreenElement'] || document['mozFullScreenElement'] ||
+               document['msFullscreenElement'] || document['webkitFullscreenElement'] ||
+               document['webkitCurrentFullScreenElement']) === canvasContainer) {
+            canvas.exitFullscreen = Browser.exitFullscreen;
+            if (Browser.lockPointer) canvas.requestPointerLock();
+            Browser.isFullscreen = true;
+            if (Browser.resizeCanvas) {
+              Browser.setFullscreenCanvasSize();
+            } else {
+              Browser.updateCanvasDimensions(canvas);
+            }
+          } else {
+            // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen
+            canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
+            canvasContainer.parentNode.removeChild(canvasContainer);
+  
+            if (Browser.resizeCanvas) {
+              Browser.setWindowedCanvasSize();
+            } else {
+              Browser.updateCanvasDimensions(canvas);
+            }
+          }
+          if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen);
+          if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen);
+        }
+  
+        if (!Browser.fullscreenHandlersInstalled) {
+          Browser.fullscreenHandlersInstalled = true;
+          document.addEventListener('fullscreenchange', fullscreenChange, false);
+          document.addEventListener('mozfullscreenchange', fullscreenChange, false);
+          document.addEventListener('webkitfullscreenchange', fullscreenChange, false);
+          document.addEventListener('MSFullscreenChange', fullscreenChange, false);
+        }
+  
+        // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root
+        var canvasContainer = document.createElement("div");
+        canvas.parentNode.insertBefore(canvasContainer, canvas);
+        canvasContainer.appendChild(canvas);
+  
+        // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size)
+        canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] ||
+                                            canvasContainer['mozRequestFullScreen'] ||
+                                            canvasContainer['msRequestFullscreen'] ||
+                                           (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) ||
+                                           (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null);
+  
+        canvasContainer.requestFullscreen();
+      },requestFullScreen:function() {
+        abort('Module.requestFullScreen has been replaced by Module.requestFullscreen (without a capital S)');
+      },exitFullscreen:function() {
+        // This is workaround for chrome. Trying to exit from fullscreen
+        // not in fullscreen state will cause "TypeError: Document not active"
+        // in chrome. See https://github.com/emscripten-core/emscripten/pull/8236
+        if (!Browser.isFullscreen) {
+          return false;
+        }
+  
+        var CFS = document['exitFullscreen'] ||
+                  document['cancelFullScreen'] ||
+                  document['mozCancelFullScreen'] ||
+                  document['msExitFullscreen'] ||
+                  document['webkitCancelFullScreen'] ||
+            (function() {});
+        CFS.apply(document, []);
+        return true;
+      },nextRAF:0,fakeRequestAnimationFrame:function(func) {
+        // try to keep 60fps between calls to here
+        var now = Date.now();
+        if (Browser.nextRAF === 0) {
+          Browser.nextRAF = now + 1000/60;
+        } else {
+          while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0
+            Browser.nextRAF += 1000/60;
+          }
+        }
+        var delay = Math.max(Browser.nextRAF - now, 0);
+        setTimeout(func, delay);
+      },requestAnimationFrame:function(func) {
+        if (typeof requestAnimationFrame === 'function') {
+          requestAnimationFrame(func);
+          return;
+        }
+        var RAF = Browser.fakeRequestAnimationFrame;
+        RAF(func);
+      },safeCallback:function(func) {
+        return function() {
+          if (!ABORT) return func.apply(null, arguments);
+        };
+      },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function() {
+        Browser.allowAsyncCallbacks = false;
+      },resumeAsyncCallbacks:function() { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now
+        Browser.allowAsyncCallbacks = true;
+        if (Browser.queuedAsyncCallbacks.length > 0) {
+          var callbacks = Browser.queuedAsyncCallbacks;
+          Browser.queuedAsyncCallbacks = [];
+          callbacks.forEach(function(func) {
+            func();
+          });
+        }
+      },safeRequestAnimationFrame:function(func) {
+        return Browser.requestAnimationFrame(function() {
+          if (ABORT) return;
+          if (Browser.allowAsyncCallbacks) {
+            func();
+          } else {
+            Browser.queuedAsyncCallbacks.push(func);
+          }
+        });
+      },safeSetTimeout:function(func, timeout) {
+        noExitRuntime = true;
+        return setTimeout(function() {
+          if (ABORT) return;
+          if (Browser.allowAsyncCallbacks) {
+            func();
+          } else {
+            Browser.queuedAsyncCallbacks.push(func);
+          }
+        }, timeout);
+      },safeSetInterval:function(func, timeout) {
+        noExitRuntime = true;
+        return setInterval(function() {
+          if (ABORT) return;
+          if (Browser.allowAsyncCallbacks) {
+            func();
+          } // drop it on the floor otherwise, next interval will kick in
+        }, timeout);
+      },getMimetype:function(name) {
+        return {
+          'jpg': 'image/jpeg',
+          'jpeg': 'image/jpeg',
+          'png': 'image/png',
+          'bmp': 'image/bmp',
+          'ogg': 'audio/ogg',
+          'wav': 'audio/wav',
+          'mp3': 'audio/mpeg'
+        }[name.substr(name.lastIndexOf('.')+1)];
+      },getUserMedia:function(func) {
+        if(!window.getUserMedia) {
+          window.getUserMedia = navigator['getUserMedia'] ||
+                                navigator['mozGetUserMedia'];
+        }
+        window.getUserMedia(func);
+      },getMovementX:function(event) {
+        return event['movementX'] ||
+               event['mozMovementX'] ||
+               event['webkitMovementX'] ||
+               0;
+      },getMovementY:function(event) {
+        return event['movementY'] ||
+               event['mozMovementY'] ||
+               event['webkitMovementY'] ||
+               0;
+      },getMouseWheelDelta:function(event) {
+        var delta = 0;
+        switch (event.type) {
+          case 'DOMMouseScroll':
+            // 3 lines make up a step
+            delta = event.detail / 3;
+            break;
+          case 'mousewheel':
+            // 120 units make up a step
+            delta = event.wheelDelta / 120;
+            break;
+          case 'wheel':
+            delta = event.deltaY
+            switch(event.deltaMode) {
+              case 0:
+                // DOM_DELTA_PIXEL: 100 pixels make up a step
+                delta /= 100;
+                break;
+              case 1:
+                // DOM_DELTA_LINE: 3 lines make up a step
+                delta /= 3;
+                break;
+              case 2:
+                // DOM_DELTA_PAGE: A page makes up 80 steps
+                delta *= 80;
+                break;
+              default:
+                throw 'unrecognized mouse wheel delta mode: ' + event.deltaMode;
+            }
+            break;
+          default:
+            throw 'unrecognized mouse wheel event: ' + event.type;
+        }
+        return delta;
+      },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(event) { // event should be mousemove, mousedown or mouseup
+        if (Browser.pointerLock) {
+          // When the pointer is locked, calculate the coordinates
+          // based on the movement of the mouse.
+          // Workaround for Firefox bug 764498
+          if (event.type != 'mousemove' &&
+              ('mozMovementX' in event)) {
+            Browser.mouseMovementX = Browser.mouseMovementY = 0;
+          } else {
+            Browser.mouseMovementX = Browser.getMovementX(event);
+            Browser.mouseMovementY = Browser.getMovementY(event);
+          }
+  
+          // check if SDL is available
+          if (typeof SDL != "undefined") {
+            Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
+            Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
+          } else {
+            // just add the mouse delta to the current absolut mouse position
+            // FIXME: ideally this should be clamped against the canvas size and zero
+            Browser.mouseX += Browser.mouseMovementX;
+            Browser.mouseY += Browser.mouseMovementY;
+          }
+        } else {
+          // Otherwise, calculate the movement based on the changes
+          // in the coordinates.
+          var rect = Module["canvas"].getBoundingClientRect();
+          var cw = Module["canvas"].width;
+          var ch = Module["canvas"].height;
+  
+          // Neither .scrollX or .pageXOffset are defined in a spec, but
+          // we prefer .scrollX because it is currently in a spec draft.
+          // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/)
+          var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset);
+          var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset);
+          // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset
+          // and we have no viable fallback.
+          assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.');
+  
+          if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') {
+            var touch = event.touch;
+            if (touch === undefined) {
+              return; // the "touch" property is only defined in SDL
+  
+            }
+            var adjustedX = touch.pageX - (scrollX + rect.left);
+            var adjustedY = touch.pageY - (scrollY + rect.top);
+  
+            adjustedX = adjustedX * (cw / rect.width);
+            adjustedY = adjustedY * (ch / rect.height);
+  
+            var coords = { x: adjustedX, y: adjustedY };
+  
+            if (event.type === 'touchstart') {
+              Browser.lastTouches[touch.identifier] = coords;
+              Browser.touches[touch.identifier] = coords;
+            } else if (event.type === 'touchend' || event.type === 'touchmove') {
+              var last = Browser.touches[touch.identifier];
+              if (!last) last = coords;
+              Browser.lastTouches[touch.identifier] = last;
+              Browser.touches[touch.identifier] = coords;
+            }
+            return;
+          }
+  
+          var x = event.pageX - (scrollX + rect.left);
+          var y = event.pageY - (scrollY + rect.top);
+  
+          // the canvas might be CSS-scaled compared to its backbuffer;
+          // SDL-using content will want mouse coordinates in terms
+          // of backbuffer units.
+          x = x * (cw / rect.width);
+          y = y * (ch / rect.height);
+  
+          Browser.mouseMovementX = x - Browser.mouseX;
+          Browser.mouseMovementY = y - Browser.mouseY;
+          Browser.mouseX = x;
+          Browser.mouseY = y;
+        }
+      },asyncLoad:function(url, onload, onerror, noRunDep) {
+        var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : '';
+        readAsync(url, function(arrayBuffer) {
+          assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
+          onload(new Uint8Array(arrayBuffer));
+          if (dep) removeRunDependency(dep);
+        }, function(event) {
+          if (onerror) {
+            onerror();
+          } else {
+            throw 'Loading data file "' + url + '" failed.';
+          }
+        });
+        if (dep) addRunDependency(dep);
+      },resizeListeners:[],updateResizeListeners:function() {
+        var canvas = Module['canvas'];
+        Browser.resizeListeners.forEach(function(listener) {
+          listener(canvas.width, canvas.height);
+        });
+      },setCanvasSize:function(width, height, noUpdates) {
+        var canvas = Module['canvas'];
+        Browser.updateCanvasDimensions(canvas, width, height);
+        if (!noUpdates) Browser.updateResizeListeners();
+      },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function() {
+        // check if SDL is available
+        if (typeof SDL != "undefined") {
+          var flags = HEAPU32[((SDL.screen)>>2)];
+          flags = flags | 0x00800000; // set SDL_FULLSCREEN flag
+          HEAP32[((SDL.screen)>>2)]=flags
+        }
+        Browser.updateCanvasDimensions(Module['canvas']);
+        Browser.updateResizeListeners();
+      },setWindowedCanvasSize:function() {
+        // check if SDL is available
+        if (typeof SDL != "undefined") {
+          var flags = HEAPU32[((SDL.screen)>>2)];
+          flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag
+          HEAP32[((SDL.screen)>>2)]=flags
+        }
+        Browser.updateCanvasDimensions(Module['canvas']);
+        Browser.updateResizeListeners();
+      },updateCanvasDimensions:function(canvas, wNative, hNative) {
+        if (wNative && hNative) {
+          canvas.widthNative = wNative;
+          canvas.heightNative = hNative;
+        } else {
+          wNative = canvas.widthNative;
+          hNative = canvas.heightNative;
+        }
+        var w = wNative;
+        var h = hNative;
+        if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) {
+          if (w/h < Module['forcedAspectRatio']) {
+            w = Math.round(h * Module['forcedAspectRatio']);
+          } else {
+            h = Math.round(w / Module['forcedAspectRatio']);
+          }
+        }
+        if (((document['fullscreenElement'] || document['mozFullScreenElement'] ||
+             document['msFullscreenElement'] || document['webkitFullscreenElement'] ||
+             document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) {
+           var factor = Math.min(screen.width / w, screen.height / h);
+           w = Math.round(w * factor);
+           h = Math.round(h * factor);
+        }
+        if (Browser.resizeCanvas) {
+          if (canvas.width  != w) canvas.width  = w;
+          if (canvas.height != h) canvas.height = h;
+          if (typeof canvas.style != 'undefined') {
+            canvas.style.removeProperty( "width");
+            canvas.style.removeProperty("height");
+          }
+        } else {
+          if (canvas.width  != wNative) canvas.width  = wNative;
+          if (canvas.height != hNative) canvas.height = hNative;
+          if (typeof canvas.style != 'undefined') {
+            if (w != wNative || h != hNative) {
+              canvas.style.setProperty( "width", w + "px", "important");
+              canvas.style.setProperty("height", h + "px", "important");
+            } else {
+              canvas.style.removeProperty( "width");
+              canvas.style.removeProperty("height");
+            }
+          }
+        }
+      },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function() {
+        var handle = Browser.nextWgetRequestHandle;
+        Browser.nextWgetRequestHandle++;
+        return handle;
+      }};
+
+  function abortStackOverflow(allocSize) {
+      abort('Stack overflow! Attempted to allocate ' + allocSize + ' bytes on the stack, but stack has only ' + (STACK_MAX - stackSave() + allocSize) + ' bytes available!');
+    }
+
+  function demangle(func) {
+      warnOnce('warning: build with  -s DEMANGLE_SUPPORT=1  to link in libcxxabi demangling');
+      return func;
+    }
+
+  function demangleAll(text) {
+      var regex =
+        /\b_Z[\w\d_]+/g;
+      return text.replace(regex,
+        function(x) {
+          var y = demangle(x);
+          return x === y ? x : (y + ' [' + x + ']');
+        });
+    }
+
+  function jsStackTrace() {
+      var err = new Error();
+      if (!err.stack) {
+        // IE10+ special cases: It does have callstack info, but it is only populated if an Error object is thrown,
+        // so try that as a special-case.
+        try {
+          throw new Error();
+        } catch(e) {
+          err = e;
+        }
+        if (!err.stack) {
+          return '(no stack trace available)';
+        }
+      }
+      return err.stack.toString();
+    }
+
+  function stackTrace() {
+      var js = jsStackTrace();
+      if (Module['extraStackTrace']) js += '\n' + Module['extraStackTrace']();
+      return demangleAll(js);
+    }
+
+  function ___handle_stack_overflow() {
+      abort('stack overflow')
+    }
+
+  
+  function setErrNo(value) {
+      HEAP32[((___errno_location())>>2)]=value;
       return value;
     }
   
-  var PATH={splitPath:function (filename) {
+  
+  var PATH={splitPath:function(filename) {
         var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
         return splitPathRe.exec(filename).slice(1);
-      },normalizeArray:function (parts, allowAboveRoot) {
+      },normalizeArray:function(parts, allowAboveRoot) {
         // if the path tries to go above the root, `up` ends up > 0
         var up = 0;
@@ -1715,10 +2741,10 @@
         // if the path is allowed to go above the root, restore leading ..s
         if (allowAboveRoot) {
-          for (; up--; up) {
+          for (; up; up--) {
             parts.unshift('..');
           }
         }
         return parts;
-      },normalize:function (path) {
+      },normalize:function(path) {
         var isAbsolute = path.charAt(0) === '/',
             trailingSlash = path.substr(-1) === '/';
@@ -1734,5 +2760,5 @@
         }
         return (isAbsolute ? '/' : '') + path;
-      },dirname:function (path) {
+      },dirname:function(path) {
         var result = PATH.splitPath(path),
             root = result[0],
@@ -1747,5 +2773,5 @@
         }
         return root + dir;
-      },basename:function (path) {
+      },basename:function(path) {
         // EMSCRIPTEN return '/'' for '/', not an empty string
         if (path === '/') return '/';
@@ -1753,12 +2779,15 @@
         if (lastSlash === -1) return path;
         return path.substr(lastSlash+1);
-      },extname:function (path) {
+      },extname:function(path) {
         return PATH.splitPath(path)[3];
-      },join:function () {
+      },join:function() {
         var paths = Array.prototype.slice.call(arguments, 0);
         return PATH.normalize(paths.join('/'));
-      },join2:function (l, r) {
+      },join2:function(l, r) {
         return PATH.normalize(l + '/' + r);
-      },resolve:function () {
+      }};
+  
+  
+  var PATH_FS={resolve:function() {
         var resolvedPath = '',
           resolvedAbsolute = false;
@@ -1780,7 +2809,7 @@
         }), !resolvedAbsolute).join('/');
         return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
-      },relative:function (from, to) {
-        from = PATH.resolve(from).substr(1);
-        to = PATH.resolve(to).substr(1);
+      },relative:function(from, to) {
+        from = PATH_FS.resolve(from).substr(1);
+        to = PATH_FS.resolve(to).substr(1);
         function trim(arr) {
           var start = 0;
@@ -1814,5 +2843,5 @@
   
   var TTY={ttys:[],init:function () {
-        // https://github.com/kripken/emscripten/pull/1555
+        // https://github.com/emscripten-core/emscripten/pull/1555
         // if (ENVIRONMENT_IS_NODE) {
         //   // currently, FS.init does not distinguish if process.stdin is a file or TTY
@@ -1822,6 +2851,6 @@
         //   process['stdin']['setEncoding']('utf8');
         // }
-      },shutdown:function () {
-        // https://github.com/kripken/emscripten/pull/1555
+      },shutdown:function() {
+        // https://github.com/emscripten-core/emscripten/pull/1555
         // if (ENVIRONMENT_IS_NODE) {
         //   // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)?
@@ -1832,22 +2861,22 @@
         //   process['stdin']['pause']();
         // }
-      },register:function (dev, ops) {
+      },register:function(dev, ops) {
         TTY.ttys[dev] = { input: [], output: [], ops: ops };
         FS.registerDevice(dev, TTY.stream_ops);
-      },stream_ops:{open:function (stream) {
+      },stream_ops:{open:function(stream) {
           var tty = TTY.ttys[stream.node.rdev];
           if (!tty) {
-            throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+            throw new FS.ErrnoError(43);
           }
           stream.tty = tty;
           stream.seekable = false;
-        },close:function (stream) {
+        },close:function(stream) {
           // flush any pending line data
           stream.tty.ops.flush(stream.tty);
-        },flush:function (stream) {
+        },flush:function(stream) {
           stream.tty.ops.flush(stream.tty);
-        },read:function (stream, buffer, offset, length, pos /* ignored */) {
+        },read:function(stream, buffer, offset, length, pos /* ignored */) {
           if (!stream.tty || !stream.tty.ops.get_char) {
-            throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
+            throw new FS.ErrnoError(60);
           }
           var bytesRead = 0;
@@ -1857,8 +2886,8 @@
               result = stream.tty.ops.get_char(stream.tty);
             } catch (e) {
-              throw new FS.ErrnoError(ERRNO_CODES.EIO);
+              throw new FS.ErrnoError(29);
             }
             if (result === undefined && bytesRead === 0) {
-              throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
+              throw new FS.ErrnoError(6);
             }
             if (result === null || result === undefined) break;
@@ -1870,14 +2899,14 @@
           }
           return bytesRead;
-        },write:function (stream, buffer, offset, length, pos) {
+        },write:function(stream, buffer, offset, length, pos) {
           if (!stream.tty || !stream.tty.ops.put_char) {
-            throw new FS.ErrnoError(ERRNO_CODES.ENXIO);
-          }
-          for (var i = 0; i < length; i++) {
-            try {
+            throw new FS.ErrnoError(60);
+          }
+          try {
+            for (var i = 0; i < length; i++) {
               stream.tty.ops.put_char(stream.tty, buffer[offset+i]);
-            } catch (e) {
-              throw new FS.ErrnoError(ERRNO_CODES.EIO);
             }
+          } catch (e) {
+            throw new FS.ErrnoError(29);
           }
           if (length) {
@@ -1885,5 +2914,5 @@
           }
           return i;
-        }},default_tty_ops:{get_char:function (tty) {
+        }},default_tty_ops:{get_char:function(tty) {
           if (!tty.input.length) {
             var result = null;
@@ -1891,21 +2920,9 @@
               // we will read data by chunks of BUFSIZE
               var BUFSIZE = 256;
-              var buf = new Buffer(BUFSIZE);
+              var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);
               var bytesRead = 0;
   
-              var isPosixPlatform = (process.platform != 'win32'); // Node doesn't offer a direct check, so test by exclusion
-  
-              var fd = process.stdin.fd;
-              if (isPosixPlatform) {
-                // Linux and Mac cannot use process.stdin.fd (which isn't set up as sync)
-                var usingDevice = false;
-                try {
-                  fd = fs.openSync('/dev/stdin', 'r');
-                  usingDevice = true;
-                } catch (e) {}
-              }
-  
               try {
-                bytesRead = fs.readSync(fd, buf, 0, BUFSIZE, null);
+                bytesRead = nodeFS.readSync(process.stdin.fd, buf, 0, BUFSIZE, null);
               } catch(e) {
                 // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes,
@@ -1915,5 +2932,4 @@
               }
   
-              if (usingDevice) { fs.closeSync(fd); }
               if (bytesRead > 0) {
                 result = buf.slice(0, bytesRead).toString('utf-8');
@@ -1921,6 +2937,6 @@
                 result = null;
               }
-  
-            } else if (typeof window != 'undefined' &&
+            } else
+            if (typeof window != 'undefined' &&
               typeof window.prompt == 'function') {
               // Browser.
@@ -1942,36 +2958,36 @@
           }
           return tty.input.shift();
-        },put_char:function (tty, val) {
+        },put_char:function(tty, val) {
           if (val === null || val === 10) {
-            Module['print'](UTF8ArrayToString(tty.output, 0));
+            out(UTF8ArrayToString(tty.output, 0));
             tty.output = [];
           } else {
             if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle.
           }
-        },flush:function (tty) {
+        },flush:function(tty) {
           if (tty.output && tty.output.length > 0) {
-            Module['print'](UTF8ArrayToString(tty.output, 0));
+            out(UTF8ArrayToString(tty.output, 0));
             tty.output = [];
           }
-        }},default_tty1_ops:{put_char:function (tty, val) {
+        }},default_tty1_ops:{put_char:function(tty, val) {
           if (val === null || val === 10) {
-            Module['printErr'](UTF8ArrayToString(tty.output, 0));
+            err(UTF8ArrayToString(tty.output, 0));
             tty.output = [];
           } else {
             if (val != 0) tty.output.push(val);
           }
-        },flush:function (tty) {
+        },flush:function(tty) {
           if (tty.output && tty.output.length > 0) {
-            Module['printErr'](UTF8ArrayToString(tty.output, 0));
+            err(UTF8ArrayToString(tty.output, 0));
             tty.output = [];
           }
         }}};
   
-  var MEMFS={ops_table:null,mount:function (mount) {
+  var MEMFS={ops_table:null,mount:function(mount) {
         return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0);
-      },createNode:function (parent, name, mode, dev) {
+      },createNode:function(parent, name, mode, dev) {
         if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {
           // no supported
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+          throw new FS.ErrnoError(63);
         }
         if (!MEMFS.ops_table) {
@@ -2050,5 +3066,5 @@
         }
         return node;
-      },getFileDataAsRegularArray:function (node) {
+      },getFileDataAsRegularArray:function(node) {
         if (node.contents && node.contents.subarray) {
           var arr = [];
@@ -2057,35 +3073,22 @@
         }
         return node.contents; // No-op, the file contents are already in a JS array. Return as-is.
-      },getFileDataAsTypedArray:function (node) {
-        if (!node.contents) return new Uint8Array;
+      },getFileDataAsTypedArray:function(node) {
+        if (!node.contents) return new Uint8Array(0);
         if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes.
         return new Uint8Array(node.contents);
-      },expandFileStorage:function (node, newCapacity) {
-        // If we are asked to expand the size of a file that already exists, revert to using a standard JS array to store the file
-        // instead of a typed array. This makes resizing the array more flexible because we can just .push() elements at the back to
-        // increase the size.
-        if (node.contents && node.contents.subarray && newCapacity > node.contents.length) {
-          node.contents = MEMFS.getFileDataAsRegularArray(node);
-          node.usedBytes = node.contents.length; // We might be writing to a lazy-loaded file which had overridden this property, so force-reset it.
-        }
-  
-        if (!node.contents || node.contents.subarray) { // Keep using a typed array if creating a new storage, or if old one was a typed array as well.
-          var prevCapacity = node.contents ? node.contents.length : 0;
-          if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
-          // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
-          // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
-          // avoid overshooting the allocation cap by a very large margin.
-          var CAPACITY_DOUBLING_MAX = 1024 * 1024;
-          newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) | 0);
-          if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
-          var oldContents = node.contents;
-          node.contents = new Uint8Array(newCapacity); // Allocate new storage.
-          if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
-          return;
-        }
-        // Not using a typed array to back the file storage. Use a standard JS array instead.
-        if (!node.contents && newCapacity > 0) node.contents = [];
-        while (node.contents.length < newCapacity) node.contents.push(0);
-      },resizeFileStorage:function (node, newSize) {
+      },expandFileStorage:function(node, newCapacity) {
+        var prevCapacity = node.contents ? node.contents.length : 0;
+        if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough.
+        // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity.
+        // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to
+        // avoid overshooting the allocation cap by a very large margin.
+        var CAPACITY_DOUBLING_MAX = 1024 * 1024;
+        newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0);
+        if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding.
+        var oldContents = node.contents;
+        node.contents = new Uint8Array(newCapacity); // Allocate new storage.
+        if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage.
+        return;
+      },resizeFileStorage:function(node, newSize) {
         if (node.usedBytes == newSize) return;
         if (newSize == 0) {
@@ -2096,5 +3099,5 @@
         if (!node.contents || node.contents.subarray) { // Resize a typed array if that is being used as the backing store.
           var oldContents = node.contents;
-          node.contents = new Uint8Array(new ArrayBuffer(newSize)); // Allocate new storage.
+          node.contents = new Uint8Array(newSize); // Allocate new storage.
           if (oldContents) {
             node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage.
@@ -2108,5 +3111,5 @@
         else while (node.contents.length < newSize) node.contents.push(0);
         node.usedBytes = newSize;
-      },node_ops:{getattr:function (node) {
+      },node_ops:{getattr:function(node) {
           var attr = {};
           // device numbers reuse inode numbers.
@@ -2135,5 +3138,5 @@
           attr.blocks = Math.ceil(attr.size / attr.blksize);
           return attr;
-        },setattr:function (node, attr) {
+        },setattr:function(node, attr) {
           if (attr.mode !== undefined) {
             node.mode = attr.mode;
@@ -2145,9 +3148,9 @@
             MEMFS.resizeFileStorage(node, attr.size);
           }
-        },lookup:function (parent, name) {
-          throw FS.genericErrors[ERRNO_CODES.ENOENT];
-        },mknod:function (parent, name, mode, dev) {
+        },lookup:function(parent, name) {
+          throw FS.genericErrors[44];
+        },mknod:function(parent, name, mode, dev) {
           return MEMFS.createNode(parent, name, mode, dev);
-        },rename:function (old_node, new_dir, new_name) {
+        },rename:function(old_node, new_dir, new_name) {
           // if we're overwriting a directory at new_name, make sure it's empty.
           if (FS.isDir(old_node.mode)) {
@@ -2159,5 +3162,5 @@
             if (new_node) {
               for (var i in new_node.contents) {
-                throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
+                throw new FS.ErrnoError(55);
               }
             }
@@ -2168,14 +3171,14 @@
           new_dir.contents[new_name] = old_node;
           old_node.parent = new_dir;
-        },unlink:function (parent, name) {
+        },unlink:function(parent, name) {
           delete parent.contents[name];
-        },rmdir:function (parent, name) {
+        },rmdir:function(parent, name) {
           var node = FS.lookupNode(parent, name);
           for (var i in node.contents) {
-            throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
+            throw new FS.ErrnoError(55);
           }
           delete parent.contents[name];
-        },readdir:function (node) {
-          var entries = ['.', '..']
+        },readdir:function(node) {
+          var entries = ['.', '..'];
           for (var key in node.contents) {
             if (!node.contents.hasOwnProperty(key)) {
@@ -2185,14 +3188,14 @@
           }
           return entries;
-        },symlink:function (parent, newname, oldpath) {
+        },symlink:function(parent, newname, oldpath) {
           var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0);
           node.link = oldpath;
           return node;
-        },readlink:function (node) {
+        },readlink:function(node) {
           if (!FS.isLink(node.mode)) {
-            throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+            throw new FS.ErrnoError(28);
           }
           return node.link;
-        }},stream_ops:{read:function (stream, buffer, offset, length, position) {
+        }},stream_ops:{read:function(stream, buffer, offset, length, position) {
           var contents = stream.node.contents;
           if (position >= stream.node.usedBytes) return 0;
@@ -2205,5 +3208,8 @@
           }
           return size;
-        },write:function (stream, buffer, offset, length, position, canOwn) {
+        },write:function(stream, buffer, offset, length, position, canOwn) {
+          // The data buffer should be a typed array view
+          assert(!(buffer instanceof ArrayBuffer));
+  
           if (!length) return 0;
           var node = stream.node;
@@ -2217,5 +3223,5 @@
               return length;
             } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data.
-              node.contents = new Uint8Array(buffer.subarray(offset, offset + length));
+              node.contents = buffer.slice(offset, offset + length);
               node.usedBytes = length;
               return length;
@@ -2234,11 +3240,11 @@
             }
           }
-          node.usedBytes = Math.max(node.usedBytes, position+length);
+          node.usedBytes = Math.max(node.usedBytes, position + length);
           return length;
-        },llseek:function (stream, offset, whence) {
+        },llseek:function(stream, offset, whence) {
           var position = offset;
-          if (whence === 1) {  // SEEK_CUR.
+          if (whence === 1) {
             position += stream.position;
-          } else if (whence === 2) {  // SEEK_END.
+          } else if (whence === 2) {
             if (FS.isFile(stream.node.mode)) {
               position += stream.node.usedBytes;
@@ -2246,13 +3252,16 @@
           }
           if (position < 0) {
-            throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+            throw new FS.ErrnoError(28);
           }
           return position;
-        },allocate:function (stream, offset, length) {
+        },allocate:function(stream, offset, length) {
           MEMFS.expandFileStorage(stream.node, offset + length);
           stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);
-        },mmap:function (stream, buffer, offset, length, position, prot, flags) {
+        },mmap:function(stream, address, length, position, prot, flags) {
+          // We don't currently support location hints for the address of the mapping
+          assert(address === 0);
+  
           if (!FS.isFile(stream.node.mode)) {
-            throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+            throw new FS.ErrnoError(43);
           }
           var ptr;
@@ -2260,6 +3269,5 @@
           var contents = stream.node.contents;
           // Only make a new copy when MAP_PRIVATE is specified.
-          if ( !(flags & 2) &&
-                (contents.buffer === buffer || contents.buffer === buffer.buffer) ) {
+          if (!(flags & 2) && contents.buffer === buffer) {
             // We can't emulate MAP_SHARED when the file is not backed by the buffer
             // we're mapping to (e.g. the HEAP buffer).
@@ -2268,5 +3276,5 @@
           } else {
             // Try to avoid unnecessary slices.
-            if (position > 0 || position + length < stream.node.usedBytes) {
+            if (position > 0 || position + length < contents.length) {
               if (contents.subarray) {
                 contents = contents.subarray(position, position + length);
@@ -2278,12 +3286,12 @@
             ptr = _malloc(length);
             if (!ptr) {
-              throw new FS.ErrnoError(ERRNO_CODES.ENOMEM);
+              throw new FS.ErrnoError(48);
             }
-            buffer.set(contents, ptr);
+            HEAP8.set(contents, ptr);
           }
           return { ptr: ptr, allocated: allocated };
-        },msync:function (stream, buffer, offset, length, mmapFlags) {
+        },msync:function(stream, buffer, offset, length, mmapFlags) {
           if (!FS.isFile(stream.node.mode)) {
-            throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+            throw new FS.ErrnoError(43);
           }
           if (mmapFlags & 2) {
@@ -2297,653 +3305,11 @@
         }}};
   
-  var IDBFS={dbs:{},indexedDB:function () {
-        if (typeof indexedDB !== 'undefined') return indexedDB;
-        var ret = null;
-        if (typeof window === 'object') ret = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
-        assert(ret, 'IDBFS used, but indexedDB not supported');
-        return ret;
-      },DB_VERSION:21,DB_STORE_NAME:"FILE_DATA",mount:function (mount) {
-        // reuse all of the core MEMFS functionality
-        return MEMFS.mount.apply(null, arguments);
-      },syncfs:function (mount, populate, callback) {
-        IDBFS.getLocalSet(mount, function(err, local) {
-          if (err) return callback(err);
-  
-          IDBFS.getRemoteSet(mount, function(err, remote) {
-            if (err) return callback(err);
-  
-            var src = populate ? remote : local;
-            var dst = populate ? local : remote;
-  
-            IDBFS.reconcile(src, dst, callback);
-          });
-        });
-      },getDB:function (name, callback) {
-        // check the cache first
-        var db = IDBFS.dbs[name];
-        if (db) {
-          return callback(null, db);
-        }
-  
-        var req;
-        try {
-          req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION);
-        } catch (e) {
-          return callback(e);
-        }
-        if (!req) {
-          return callback("Unable to connect to IndexedDB");
-        }
-        req.onupgradeneeded = function(e) {
-          var db = e.target.result;
-          var transaction = e.target.transaction;
-  
-          var fileStore;
-  
-          if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) {
-            fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME);
-          } else {
-            fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME);
-          }
-  
-          if (!fileStore.indexNames.contains('timestamp')) {
-            fileStore.createIndex('timestamp', 'timestamp', { unique: false });
-          }
-        };
-        req.onsuccess = function() {
-          db = req.result;
-  
-          // add to the cache
-          IDBFS.dbs[name] = db;
-          callback(null, db);
-        };
-        req.onerror = function(e) {
-          callback(this.error);
-          e.preventDefault();
-        };
-      },getLocalSet:function (mount, callback) {
-        var entries = {};
-  
-        function isRealDir(p) {
-          return p !== '.' && p !== '..';
-        };
-        function toAbsolute(root) {
-          return function(p) {
-            return PATH.join2(root, p);
-          }
-        };
-  
-        var check = FS.readdir(mount.mountpoint).filter(isRealDir).map(toAbsolute(mount.mountpoint));
-  
-        while (check.length) {
-          var path = check.pop();
-          var stat;
-  
-          try {
-            stat = FS.stat(path);
-          } catch (e) {
-            return callback(e);
-          }
-  
-          if (FS.isDir(stat.mode)) {
-            check.push.apply(check, FS.readdir(path).filter(isRealDir).map(toAbsolute(path)));
-          }
-  
-          entries[path] = { timestamp: stat.mtime };
-        }
-  
-        return callback(null, { type: 'local', entries: entries });
-      },getRemoteSet:function (mount, callback) {
-        var entries = {};
-  
-        IDBFS.getDB(mount.mountpoint, function(err, db) {
-          if (err) return callback(err);
-  
-          var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readonly');
-          transaction.onerror = function(e) {
-            callback(this.error);
-            e.preventDefault();
-          };
-  
-          var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
-          var index = store.index('timestamp');
-  
-          index.openKeyCursor().onsuccess = function(event) {
-            var cursor = event.target.result;
-  
-            if (!cursor) {
-              return callback(null, { type: 'remote', db: db, entries: entries });
-            }
-  
-            entries[cursor.primaryKey] = { timestamp: cursor.key };
-  
-            cursor.continue();
-          };
-        });
-      },loadLocalEntry:function (path, callback) {
-        var stat, node;
-  
-        try {
-          var lookup = FS.lookupPath(path);
-          node = lookup.node;
-          stat = FS.stat(path);
-        } catch (e) {
-          return callback(e);
-        }
-  
-        if (FS.isDir(stat.mode)) {
-          return callback(null, { timestamp: stat.mtime, mode: stat.mode });
-        } else if (FS.isFile(stat.mode)) {
-          // Performance consideration: storing a normal JavaScript array to a IndexedDB is much slower than storing a typed array.
-          // Therefore always convert the file contents to a typed array first before writing the data to IndexedDB.
-          node.contents = MEMFS.getFileDataAsTypedArray(node);
-          return callback(null, { timestamp: stat.mtime, mode: stat.mode, contents: node.contents });
-        } else {
-          return callback(new Error('node type not supported'));
-        }
-      },storeLocalEntry:function (path, entry, callback) {
-        try {
-          if (FS.isDir(entry.mode)) {
-            FS.mkdir(path, entry.mode);
-          } else if (FS.isFile(entry.mode)) {
-            FS.writeFile(path, entry.contents, { encoding: 'binary', canOwn: true });
-          } else {
-            return callback(new Error('node type not supported'));
-          }
-  
-          FS.chmod(path, entry.mode);
-          FS.utime(path, entry.timestamp, entry.timestamp);
-        } catch (e) {
-          return callback(e);
-        }
-  
-        callback(null);
-      },removeLocalEntry:function (path, callback) {
-        try {
-          var lookup = FS.lookupPath(path);
-          var stat = FS.stat(path);
-  
-          if (FS.isDir(stat.mode)) {
-            FS.rmdir(path);
-          } else if (FS.isFile(stat.mode)) {
-            FS.unlink(path);
-          }
-        } catch (e) {
-          return callback(e);
-        }
-  
-        callback(null);
-      },loadRemoteEntry:function (store, path, callback) {
-        var req = store.get(path);
-        req.onsuccess = function(event) { callback(null, event.target.result); };
-        req.onerror = function(e) {
-          callback(this.error);
-          e.preventDefault();
-        };
-      },storeRemoteEntry:function (store, path, entry, callback) {
-        var req = store.put(entry, path);
-        req.onsuccess = function() { callback(null); };
-        req.onerror = function(e) {
-          callback(this.error);
-          e.preventDefault();
-        };
-      },removeRemoteEntry:function (store, path, callback) {
-        var req = store.delete(path);
-        req.onsuccess = function() { callback(null); };
-        req.onerror = function(e) {
-          callback(this.error);
-          e.preventDefault();
-        };
-      },reconcile:function (src, dst, callback) {
-        var total = 0;
-  
-        var create = [];
-        Object.keys(src.entries).forEach(function (key) {
-          var e = src.entries[key];
-          var e2 = dst.entries[key];
-          if (!e2 || e.timestamp > e2.timestamp) {
-            create.push(key);
-            total++;
-          }
-        });
-  
-        var remove = [];
-        Object.keys(dst.entries).forEach(function (key) {
-          var e = dst.entries[key];
-          var e2 = src.entries[key];
-          if (!e2) {
-            remove.push(key);
-            total++;
-          }
-        });
-  
-        if (!total) {
-          return callback(null);
-        }
-  
-        var errored = false;
-        var completed = 0;
-        var db = src.type === 'remote' ? src.db : dst.db;
-        var transaction = db.transaction([IDBFS.DB_STORE_NAME], 'readwrite');
-        var store = transaction.objectStore(IDBFS.DB_STORE_NAME);
-  
-        function done(err) {
-          if (err) {
-            if (!done.errored) {
-              done.errored = true;
-              return callback(err);
-            }
-            return;
-          }
-          if (++completed >= total) {
-            return callback(null);
-          }
-        };
-  
-        transaction.onerror = function(e) {
-          done(this.error);
-          e.preventDefault();
-        };
-  
-        // sort paths in ascending order so directory entries are created
-        // before the files inside them
-        create.sort().forEach(function (path) {
-          if (dst.type === 'local') {
-            IDBFS.loadRemoteEntry(store, path, function (err, entry) {
-              if (err) return done(err);
-              IDBFS.storeLocalEntry(path, entry, done);
-            });
-          } else {
-            IDBFS.loadLocalEntry(path, function (err, entry) {
-              if (err) return done(err);
-              IDBFS.storeRemoteEntry(store, path, entry, done);
-            });
-          }
-        });
-  
-        // sort paths in descending order so files are deleted before their
-        // parent directories
-        remove.sort().reverse().forEach(function(path) {
-          if (dst.type === 'local') {
-            IDBFS.removeLocalEntry(path, done);
-          } else {
-            IDBFS.removeRemoteEntry(store, path, done);
-          }
-        });
-      }};
-  
-  var NODEFS={isWindows:false,staticInit:function () {
-        NODEFS.isWindows = !!process.platform.match(/^win/);
-      },mount:function (mount) {
-        assert(ENVIRONMENT_IS_NODE);
-        return NODEFS.createNode(null, '/', NODEFS.getMode(mount.opts.root), 0);
-      },createNode:function (parent, name, mode, dev) {
-        if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-        }
-        var node = FS.createNode(parent, name, mode);
-        node.node_ops = NODEFS.node_ops;
-        node.stream_ops = NODEFS.stream_ops;
-        return node;
-      },getMode:function (path) {
-        var stat;
-        try {
-          stat = fs.lstatSync(path);
-          if (NODEFS.isWindows) {
-            // On Windows, directories return permission bits 'rw-rw-rw-', even though they have 'rwxrwxrwx', so
-            // propagate write bits to execute bits.
-            stat.mode = stat.mode | ((stat.mode & 146) >> 1);
-          }
-        } catch (e) {
-          if (!e.code) throw e;
-          throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-        }
-        return stat.mode;
-      },realPath:function (node) {
-        var parts = [];
-        while (node.parent !== node) {
-          parts.push(node.name);
-          node = node.parent;
-        }
-        parts.push(node.mount.opts.root);
-        parts.reverse();
-        return PATH.join.apply(null, parts);
-      },flagsToPermissionStringMap:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w",578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},flagsToPermissionString:function (flags) {
-        flags &= ~0x200000 /*O_PATH*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
-        flags &= ~0x800 /*O_NONBLOCK*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
-        flags &= ~0x8000 /*O_LARGEFILE*/; // Ignore this flag from musl, otherwise node.js fails to open the file.
-        flags &= ~0x80000 /*O_CLOEXEC*/; // Some applications may pass it; it makes no sense for a single process.
-        if (flags in NODEFS.flagsToPermissionStringMap) {
-          return NODEFS.flagsToPermissionStringMap[flags];
-        } else {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-        }
-      },node_ops:{getattr:function (node) {
-          var path = NODEFS.realPath(node);
-          var stat;
-          try {
-            stat = fs.lstatSync(path);
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-          // node.js v0.10.20 doesn't report blksize and blocks on Windows. Fake them with default blksize of 4096.
-          // See http://support.microsoft.com/kb/140365
-          if (NODEFS.isWindows && !stat.blksize) {
-            stat.blksize = 4096;
-          }
-          if (NODEFS.isWindows && !stat.blocks) {
-            stat.blocks = (stat.size+stat.blksize-1)/stat.blksize|0;
-          }
-          return {
-            dev: stat.dev,
-            ino: stat.ino,
-            mode: stat.mode,
-            nlink: stat.nlink,
-            uid: stat.uid,
-            gid: stat.gid,
-            rdev: stat.rdev,
-            size: stat.size,
-            atime: stat.atime,
-            mtime: stat.mtime,
-            ctime: stat.ctime,
-            blksize: stat.blksize,
-            blocks: stat.blocks
-          };
-        },setattr:function (node, attr) {
-          var path = NODEFS.realPath(node);
-          try {
-            if (attr.mode !== undefined) {
-              fs.chmodSync(path, attr.mode);
-              // update the common node structure mode as well
-              node.mode = attr.mode;
-            }
-            if (attr.timestamp !== undefined) {
-              var date = new Date(attr.timestamp);
-              fs.utimesSync(path, date, date);
-            }
-            if (attr.size !== undefined) {
-              fs.truncateSync(path, attr.size);
-            }
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-        },lookup:function (parent, name) {
-          var path = PATH.join2(NODEFS.realPath(parent), name);
-          var mode = NODEFS.getMode(path);
-          return NODEFS.createNode(parent, name, mode);
-        },mknod:function (parent, name, mode, dev) {
-          var node = NODEFS.createNode(parent, name, mode, dev);
-          // create the backing node for this in the fs root as well
-          var path = NODEFS.realPath(node);
-          try {
-            if (FS.isDir(node.mode)) {
-              fs.mkdirSync(path, node.mode);
-            } else {
-              fs.writeFileSync(path, '', { mode: node.mode });
-            }
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-          return node;
-        },rename:function (oldNode, newDir, newName) {
-          var oldPath = NODEFS.realPath(oldNode);
-          var newPath = PATH.join2(NODEFS.realPath(newDir), newName);
-          try {
-            fs.renameSync(oldPath, newPath);
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-        },unlink:function (parent, name) {
-          var path = PATH.join2(NODEFS.realPath(parent), name);
-          try {
-            fs.unlinkSync(path);
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-        },rmdir:function (parent, name) {
-          var path = PATH.join2(NODEFS.realPath(parent), name);
-          try {
-            fs.rmdirSync(path);
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-        },readdir:function (node) {
-          var path = NODEFS.realPath(node);
-          try {
-            return fs.readdirSync(path);
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-        },symlink:function (parent, newName, oldPath) {
-          var newPath = PATH.join2(NODEFS.realPath(parent), newName);
-          try {
-            fs.symlinkSync(oldPath, newPath);
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-        },readlink:function (node) {
-          var path = NODEFS.realPath(node);
-          try {
-            path = fs.readlinkSync(path);
-            path = NODEJS_PATH.relative(NODEJS_PATH.resolve(node.mount.opts.root), path);
-            return path;
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-        }},stream_ops:{open:function (stream) {
-          var path = NODEFS.realPath(stream.node);
-          try {
-            if (FS.isFile(stream.node.mode)) {
-              stream.nfd = fs.openSync(path, NODEFS.flagsToPermissionString(stream.flags));
-            }
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-        },close:function (stream) {
-          try {
-            if (FS.isFile(stream.node.mode) && stream.nfd) {
-              fs.closeSync(stream.nfd);
-            }
-          } catch (e) {
-            if (!e.code) throw e;
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-        },read:function (stream, buffer, offset, length, position) {
-          if (length === 0) return 0; // node errors on 0 length reads
-          // FIXME this is terrible.
-          var nbuffer = new Buffer(length);
-          var res;
-          try {
-            res = fs.readSync(stream.nfd, nbuffer, 0, length, position);
-          } catch (e) {
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-          if (res > 0) {
-            for (var i = 0; i < res; i++) {
-              buffer[offset + i] = nbuffer[i];
-            }
-          }
-          return res;
-        },write:function (stream, buffer, offset, length, position) {
-          // FIXME this is terrible.
-          var nbuffer = new Buffer(buffer.subarray(offset, offset + length));
-          var res;
-          try {
-            res = fs.writeSync(stream.nfd, nbuffer, 0, length, position);
-          } catch (e) {
-            throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-          }
-          return res;
-        },llseek:function (stream, offset, whence) {
-          var position = offset;
-          if (whence === 1) {  // SEEK_CUR.
-            position += stream.position;
-          } else if (whence === 2) {  // SEEK_END.
-            if (FS.isFile(stream.node.mode)) {
-              try {
-                var stat = fs.fstatSync(stream.nfd);
-                position += stat.size;
-              } catch (e) {
-                throw new FS.ErrnoError(ERRNO_CODES[e.code]);
-              }
-            }
-          }
-  
-          if (position < 0) {
-            throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-          }
-  
-          return position;
-        }}};
-  
-  var WORKERFS={DIR_MODE:16895,FILE_MODE:33279,reader:null,mount:function (mount) {
-        assert(ENVIRONMENT_IS_WORKER);
-        if (!WORKERFS.reader) WORKERFS.reader = new FileReaderSync();
-        var root = WORKERFS.createNode(null, '/', WORKERFS.DIR_MODE, 0);
-        var createdParents = {};
-        function ensureParent(path) {
-          // return the parent node, creating subdirs as necessary
-          var parts = path.split('/');
-          var parent = root;
-          for (var i = 0; i < parts.length-1; i++) {
-            var curr = parts.slice(0, i+1).join('/');
-            // Issue 4254: Using curr as a node name will prevent the node
-            // from being found in FS.nameTable when FS.open is called on
-            // a path which holds a child of this node,
-            // given that all FS functions assume node names
-            // are just their corresponding parts within their given path,
-            // rather than incremental aggregates which include their parent's
-            // directories.
-            if (!createdParents[curr]) {
-              createdParents[curr] = WORKERFS.createNode(parent, parts[i], WORKERFS.DIR_MODE, 0);
-            }
-            parent = createdParents[curr];
-          }
-          return parent;
-        }
-        function base(path) {
-          var parts = path.split('/');
-          return parts[parts.length-1];
-        }
-        // We also accept FileList here, by using Array.prototype
-        Array.prototype.forEach.call(mount.opts["files"] || [], function(file) {
-          WORKERFS.createNode(ensureParent(file.name), base(file.name), WORKERFS.FILE_MODE, 0, file, file.lastModifiedDate);
-        });
-        (mount.opts["blobs"] || []).forEach(function(obj) {
-          WORKERFS.createNode(ensureParent(obj["name"]), base(obj["name"]), WORKERFS.FILE_MODE, 0, obj["data"]);
-        });
-        (mount.opts["packages"] || []).forEach(function(pack) {
-          pack['metadata'].files.forEach(function(file) {
-            var name = file.filename.substr(1); // remove initial slash
-            WORKERFS.createNode(ensureParent(name), base(name), WORKERFS.FILE_MODE, 0, pack['blob'].slice(file.start, file.end));
-          });
-        });
-        return root;
-      },createNode:function (parent, name, mode, dev, contents, mtime) {
-        var node = FS.createNode(parent, name, mode);
-        node.mode = mode;
-        node.node_ops = WORKERFS.node_ops;
-        node.stream_ops = WORKERFS.stream_ops;
-        node.timestamp = (mtime || new Date).getTime();
-        assert(WORKERFS.FILE_MODE !== WORKERFS.DIR_MODE);
-        if (mode === WORKERFS.FILE_MODE) {
-          node.size = contents.size;
-          node.contents = contents;
-        } else {
-          node.size = 4096;
-          node.contents = {};
-        }
-        if (parent) {
-          parent.contents[name] = node;
-        }
-        return node;
-      },node_ops:{getattr:function (node) {
-          return {
-            dev: 1,
-            ino: undefined,
-            mode: node.mode,
-            nlink: 1,
-            uid: 0,
-            gid: 0,
-            rdev: undefined,
-            size: node.size,
-            atime: new Date(node.timestamp),
-            mtime: new Date(node.timestamp),
-            ctime: new Date(node.timestamp),
-            blksize: 4096,
-            blocks: Math.ceil(node.size / 4096),
-          };
-        },setattr:function (node, attr) {
-          if (attr.mode !== undefined) {
-            node.mode = attr.mode;
-          }
-          if (attr.timestamp !== undefined) {
-            node.timestamp = attr.timestamp;
-          }
-        },lookup:function (parent, name) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
-        },mknod:function (parent, name, mode, dev) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-        },rename:function (oldNode, newDir, newName) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-        },unlink:function (parent, name) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-        },rmdir:function (parent, name) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-        },readdir:function (node) {
-          var entries = ['.', '..'];
-          for (var key in node.contents) {
-            if (!node.contents.hasOwnProperty(key)) {
-              continue;
-            }
-            entries.push(key);
-          }
-          return entries;
-        },symlink:function (parent, newName, oldPath) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-        },readlink:function (node) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
-        }},stream_ops:{read:function (stream, buffer, offset, length, position) {
-          if (position >= stream.node.size) return 0;
-          var chunk = stream.node.contents.slice(position, position + length);
-          var ab = WORKERFS.reader.readAsArrayBuffer(chunk);
-          buffer.set(new Uint8Array(ab), offset);
-          return chunk.size;
-        },write:function (stream, buffer, offset, length, position) {
-          throw new FS.ErrnoError(ERRNO_CODES.EIO);
-        },llseek:function (stream, offset, whence) {
-          var position = offset;
-          if (whence === 1) {  // SEEK_CUR.
-            position += stream.position;
-          } else if (whence === 2) {  // SEEK_END.
-            if (FS.isFile(stream.node.mode)) {
-              position += stream.node.size;
-            }
-          }
-          if (position < 0) {
-            throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-          }
-          return position;
-        }}};
-  
-  var _stdin=STATICTOP; STATICTOP += 16;;
-  
-  var _stdout=STATICTOP; STATICTOP += 16;;
-  
-  var _stderr=STATICTOP; STATICTOP += 16;;var FS={root:null,mounts:[],devices:[null],streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) {
+  var ERRNO_MESSAGES={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can   access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"};
+  
+  var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e) {
         if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace();
-        return ___setErrNo(e.errno);
-      },lookupPath:function (path, opts) {
-        path = PATH.resolve(FS.cwd(), path);
+        return setErrNo(e.errno);
+      },lookupPath:function(path, opts) {
+        path = PATH_FS.resolve(FS.cwd(), path);
         opts = opts || {};
   
@@ -2961,5 +3327,5 @@
   
         if (opts.recurse_count > 8) {  // max recursive lookup of 8
-          throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
+          throw new FS.ErrnoError(32);
         }
   
@@ -2996,5 +3362,5 @@
             while (FS.isLink(current.mode)) {
               var link = FS.readlink(current_path);
-              current_path = PATH.resolve(PATH.dirname(current_path), link);
+              current_path = PATH_FS.resolve(PATH.dirname(current_path), link);
   
               var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count });
@@ -3002,5 +3368,5 @@
   
               if (count++ > 40) {  // limit max consecutive symlinks to 40 (SYMLOOP_MAX).
-                throw new FS.ErrnoError(ERRNO_CODES.ELOOP);
+                throw new FS.ErrnoError(32);
               }
             }
@@ -3009,5 +3375,5 @@
   
         return { path: current_path, node: current };
-      },getPath:function (node) {
+      },getPath:function(node) {
         var path;
         while (true) {
@@ -3020,5 +3386,5 @@
           node = node.parent;
         }
-      },hashName:function (parentid, name) {
+      },hashName:function(parentid, name) {
         var hash = 0;
   
@@ -3028,9 +3394,9 @@
         }
         return ((parentid + hash) >>> 0) % FS.nameTable.length;
-      },hashAddNode:function (node) {
+      },hashAddNode:function(node) {
         var hash = FS.hashName(node.parent.id, node.name);
         node.name_next = FS.nameTable[hash];
         FS.nameTable[hash] = node;
-      },hashRemoveNode:function (node) {
+      },hashRemoveNode:function(node) {
         var hash = FS.hashName(node.parent.id, node.name);
         if (FS.nameTable[hash] === node) {
@@ -3046,8 +3412,8 @@
           }
         }
-      },lookupNode:function (parent, name) {
-        var err = FS.mayLookup(parent);
-        if (err) {
-          throw new FS.ErrnoError(err, parent);
+      },lookupNode:function(parent, name) {
+        var errCode = FS.mayLookup(parent);
+        if (errCode) {
+          throw new FS.ErrnoError(errCode, parent);
         }
         var hash = FS.hashName(parent.id, name);
@@ -3060,47 +3426,5 @@
         // if we failed to find it in the cache, call into the VFS
         return FS.lookup(parent, name);
-      },createNode:function (parent, name, mode, rdev) {
-        if (!FS.FSNode) {
-          FS.FSNode = function(parent, name, mode, rdev) {
-            if (!parent) {
-              parent = this;  // root node sets parent to itself
-            }
-            this.parent = parent;
-            this.mount = parent.mount;
-            this.mounted = null;
-            this.id = FS.nextInode++;
-            this.name = name;
-            this.mode = mode;
-            this.node_ops = {};
-            this.stream_ops = {};
-            this.rdev = rdev;
-          };
-  
-          FS.FSNode.prototype = {};
-  
-          // compatibility
-          var readMode = 292 | 73;
-          var writeMode = 146;
-  
-          // NOTE we must use Object.defineProperties instead of individual calls to
-          // Object.defineProperty in order to make closure compiler happy
-          Object.defineProperties(FS.FSNode.prototype, {
-            read: {
-              get: function() { return (this.mode & readMode) === readMode; },
-              set: function(val) { val ? this.mode |= readMode : this.mode &= ~readMode; }
-            },
-            write: {
-              get: function() { return (this.mode & writeMode) === writeMode; },
-              set: function(val) { val ? this.mode |= writeMode : this.mode &= ~writeMode; }
-            },
-            isFolder: {
-              get: function() { return FS.isDir(this.mode); }
-            },
-            isDevice: {
-              get: function() { return FS.isChrdev(this.mode); }
-            }
-          });
-        }
-  
+      },createNode:function(parent, name, mode, rdev) {
         var node = new FS.FSNode(parent, name, mode, rdev);
   
@@ -3108,25 +3432,25 @@
   
         return node;
-      },destroyNode:function (node) {
+      },destroyNode:function(node) {
         FS.hashRemoveNode(node);
-      },isRoot:function (node) {
+      },isRoot:function(node) {
         return node === node.parent;
-      },isMountpoint:function (node) {
+      },isMountpoint:function(node) {
         return !!node.mounted;
-      },isFile:function (mode) {
+      },isFile:function(mode) {
         return (mode & 61440) === 32768;
-      },isDir:function (mode) {
+      },isDir:function(mode) {
         return (mode & 61440) === 16384;
-      },isLink:function (mode) {
+      },isLink:function(mode) {
         return (mode & 61440) === 40960;
-      },isChrdev:function (mode) {
+      },isChrdev:function(mode) {
         return (mode & 61440) === 8192;
-      },isBlkdev:function (mode) {
+      },isBlkdev:function(mode) {
         return (mode & 61440) === 24576;
-      },isFIFO:function (mode) {
+      },isFIFO:function(mode) {
         return (mode & 61440) === 4096;
-      },isSocket:function (mode) {
+      },isSocket:function(mode) {
         return (mode & 49152) === 49152;
-      },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function (str) {
+      },flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str) {
         var flags = FS.flagModes[str];
         if (typeof flags === 'undefined') {
@@ -3134,5 +3458,5 @@
         }
         return flags;
-      },flagsToPermissionString:function (flag) {
+      },flagsToPermissionString:function(flag) {
         var perms = ['r', 'w', 'rw'][flag & 3];
         if ((flag & 512)) {
@@ -3140,5 +3464,5 @@
         }
         return perms;
-      },nodePermissions:function (node, perms) {
+      },nodePermissions:function(node, perms) {
         if (FS.ignorePermissions) {
           return 0;
@@ -3146,24 +3470,24 @@
         // return 0 if any user, group or owner bits are set.
         if (perms.indexOf('r') !== -1 && !(node.mode & 292)) {
-          return ERRNO_CODES.EACCES;
+          return 2;
         } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) {
-          return ERRNO_CODES.EACCES;
+          return 2;
         } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) {
-          return ERRNO_CODES.EACCES;
+          return 2;
         }
         return 0;
-      },mayLookup:function (dir) {
-        var err = FS.nodePermissions(dir, 'x');
-        if (err) return err;
-        if (!dir.node_ops.lookup) return ERRNO_CODES.EACCES;
+      },mayLookup:function(dir) {
+        var errCode = FS.nodePermissions(dir, 'x');
+        if (errCode) return errCode;
+        if (!dir.node_ops.lookup) return 2;
         return 0;
-      },mayCreate:function (dir, name) {
+      },mayCreate:function(dir, name) {
         try {
           var node = FS.lookupNode(dir, name);
-          return ERRNO_CODES.EEXIST;
+          return 20;
         } catch (e) {
         }
         return FS.nodePermissions(dir, 'wx');
-      },mayDelete:function (dir, name, isdir) {
+      },mayDelete:function(dir, name, isdir) {
         var node;
         try {
@@ -3172,35 +3496,35 @@
           return e.errno;
         }
-        var err = FS.nodePermissions(dir, 'wx');
-        if (err) {
-          return err;
+        var errCode = FS.nodePermissions(dir, 'wx');
+        if (errCode) {
+          return errCode;
         }
         if (isdir) {
           if (!FS.isDir(node.mode)) {
-            return ERRNO_CODES.ENOTDIR;
+            return 54;
           }
           if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {
-            return ERRNO_CODES.EBUSY;
+            return 10;
           }
         } else {
           if (FS.isDir(node.mode)) {
-            return ERRNO_CODES.EISDIR;
+            return 31;
           }
         }
         return 0;
-      },mayOpen:function (node, flags) {
+      },mayOpen:function(node, flags) {
         if (!node) {
-          return ERRNO_CODES.ENOENT;
+          return 44;
         }
         if (FS.isLink(node.mode)) {
-          return ERRNO_CODES.ELOOP;
+          return 32;
         } else if (FS.isDir(node.mode)) {
           if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write
               (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only)
-            return ERRNO_CODES.EISDIR;
+            return 31;
           }
         }
         return FS.nodePermissions(node, FS.flagsToPermissionString(flags));
-      },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) {
+      },MAX_OPEN_FDS:4096,nextfd:function(fd_start, fd_end) {
         fd_start = fd_start || 0;
         fd_end = fd_end || FS.MAX_OPEN_FDS;
@@ -3210,13 +3534,11 @@
           }
         }
-        throw new FS.ErrnoError(ERRNO_CODES.EMFILE);
-      },getStream:function (fd) {
+        throw new FS.ErrnoError(33);
+      },getStream:function(fd) {
         return FS.streams[fd];
-      },createStream:function (stream, fd_start, fd_end) {
+      },createStream:function(stream, fd_start, fd_end) {
         if (!FS.FSStream) {
-          FS.FSStream = function(){};
-          FS.FSStream.prototype = {};
-          // compatibility
-          Object.defineProperties(FS.FSStream.prototype, {
+          FS.FSStream = /** @constructor */ function(){};
+          FS.FSStream.prototype = {
             object: {
               get: function() { return this.node; },
@@ -3232,5 +3554,5 @@
               get: function() { return (this.flags & 1024); }
             }
-          });
+          };
         }
         // clone it, so we can return an instance of FSStream
@@ -3244,7 +3566,7 @@
         FS.streams[fd] = stream;
         return stream;
-      },closeStream:function (fd) {
+      },closeStream:function(fd) {
         FS.streams[fd] = null;
-      },chrdev_stream_ops:{open:function (stream) {
+      },chrdev_stream_ops:{open:function(stream) {
           var device = FS.getDevice(stream.node.rdev);
           // override node's stream ops with the device's
@@ -3254,17 +3576,17 @@
             stream.stream_ops.open(stream);
           }
-        },llseek:function () {
-          throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
-        }},major:function (dev) {
+        },llseek:function() {
+          throw new FS.ErrnoError(70);
+        }},major:function(dev) {
         return ((dev) >> 8);
-      },minor:function (dev) {
+      },minor:function(dev) {
         return ((dev) & 0xff);
-      },makedev:function (ma, mi) {
+      },makedev:function(ma, mi) {
         return ((ma) << 8 | (mi));
-      },registerDevice:function (dev, ops) {
+      },registerDevice:function(dev, ops) {
         FS.devices[dev] = { stream_ops: ops };
-      },getDevice:function (dev) {
+      },getDevice:function(dev) {
         return FS.devices[dev];
-      },getMounts:function (mount) {
+      },getMounts:function(mount) {
         var mounts = [];
         var check = [mount];
@@ -3279,5 +3601,5 @@
   
         return mounts;
-      },syncfs:function (populate, callback) {
+      },syncfs:function(populate, callback) {
         if (typeof(populate) === 'function') {
           callback = populate;
@@ -3288,5 +3610,5 @@
   
         if (FS.syncFSRequests > 1) {
-          console.log('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work');
+          err('warning: ' + FS.syncFSRequests + ' FS.syncfs operations in flight at once, probably just doing extra work');
         }
   
@@ -3294,15 +3616,15 @@
         var completed = 0;
   
-        function doCallback(err) {
+        function doCallback(errCode) {
           assert(FS.syncFSRequests > 0);
           FS.syncFSRequests--;
-          return callback(err);
-        }
-  
-        function done(err) {
-          if (err) {
+          return callback(errCode);
+        }
+  
+        function done(errCode) {
+          if (errCode) {
             if (!done.errored) {
               done.errored = true;
-              return doCallback(err);
+              return doCallback(errCode);
             }
             return;
@@ -3320,5 +3642,10 @@
           mount.type.syncfs(mount, populate, done);
         });
-      },mount:function (type, opts, mountpoint) {
+      },mount:function(type, opts, mountpoint) {
+        if (typeof type === 'string') {
+          // The filesystem was not included, and instead we have an error
+          // message stored in the variable.
+          throw type;
+        }
         var root = mountpoint === '/';
         var pseudo = !mountpoint;
@@ -3326,5 +3653,5 @@
   
         if (root && FS.root) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+          throw new FS.ErrnoError(10);
         } else if (!root && !pseudo) {
           var lookup = FS.lookupPath(mountpoint, { follow_mount: false });
@@ -3334,9 +3661,9 @@
   
           if (FS.isMountpoint(node)) {
-            throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+            throw new FS.ErrnoError(10);
           }
   
           if (!FS.isDir(node.mode)) {
-            throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
+            throw new FS.ErrnoError(54);
           }
         }
@@ -3371,5 +3698,5 @@
   
         if (!FS.isMountpoint(lookup.node)) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+          throw new FS.ErrnoError(28);
         }
   
@@ -3400,32 +3727,32 @@
         assert(idx !== -1);
         node.mount.mounts.splice(idx, 1);
-      },lookup:function (parent, name) {
+      },lookup:function(parent, name) {
         return parent.node_ops.lookup(parent, name);
-      },mknod:function (path, mode, dev) {
+      },mknod:function(path, mode, dev) {
         var lookup = FS.lookupPath(path, { parent: true });
         var parent = lookup.node;
         var name = PATH.basename(path);
         if (!name || name === '.' || name === '..') {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-        }
-        var err = FS.mayCreate(parent, name);
-        if (err) {
-          throw new FS.ErrnoError(err);
+          throw new FS.ErrnoError(28);
+        }
+        var errCode = FS.mayCreate(parent, name);
+        if (errCode) {
+          throw new FS.ErrnoError(errCode);
         }
         if (!parent.node_ops.mknod) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+          throw new FS.ErrnoError(63);
         }
         return parent.node_ops.mknod(parent, name, mode, dev);
-      },create:function (path, mode) {
+      },create:function(path, mode) {
         mode = mode !== undefined ? mode : 438 /* 0666 */;
         mode &= 4095;
         mode |= 32768;
         return FS.mknod(path, mode, 0);
-      },mkdir:function (path, mode) {
+      },mkdir:function(path, mode) {
         mode = mode !== undefined ? mode : 511 /* 0777 */;
         mode &= 511 | 512;
         mode |= 16384;
         return FS.mknod(path, mode, 0);
-      },mkdirTree:function (path, mode) {
+      },mkdirTree:function(path, mode) {
         var dirs = path.split('/');
         var d = '';
@@ -3436,8 +3763,8 @@
             FS.mkdir(d, mode);
           } catch(e) {
-            if (e.errno != ERRNO_CODES.EEXIST) throw e;
-          }
-        }
-      },mkdev:function (path, mode, dev) {
+            if (e.errno != 20) throw e;
+          }
+        }
+      },mkdev:function(path, mode, dev) {
         if (typeof(dev) === 'undefined') {
           dev = mode;
@@ -3446,23 +3773,23 @@
         mode |= 8192;
         return FS.mknod(path, mode, dev);
-      },symlink:function (oldpath, newpath) {
-        if (!PATH.resolve(oldpath)) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+      },symlink:function(oldpath, newpath) {
+        if (!PATH_FS.resolve(oldpath)) {
+          throw new FS.ErrnoError(44);
         }
         var lookup = FS.lookupPath(newpath, { parent: true });
         var parent = lookup.node;
         if (!parent) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+          throw new FS.ErrnoError(44);
         }
         var newname = PATH.basename(newpath);
-        var err = FS.mayCreate(parent, newname);
-        if (err) {
-          throw new FS.ErrnoError(err);
+        var errCode = FS.mayCreate(parent, newname);
+        if (errCode) {
+          throw new FS.ErrnoError(errCode);
         }
         if (!parent.node_ops.symlink) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+          throw new FS.ErrnoError(63);
         }
         return parent.node_ops.symlink(parent, newname, oldpath);
-      },rename:function (old_path, new_path) {
+      },rename:function(old_path, new_path) {
         var old_dirname = PATH.dirname(old_path);
         var new_dirname = PATH.dirname(new_path);
@@ -3477,22 +3804,22 @@
           new_dir = lookup.node;
         } catch (e) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
-        }
-        if (!old_dir || !new_dir) throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+          throw new FS.ErrnoError(10);
+        }
+        if (!old_dir || !new_dir) throw new FS.ErrnoError(44);
         // need to be part of the same mount
         if (old_dir.mount !== new_dir.mount) {
-          throw new FS.ErrnoError(ERRNO_CODES.EXDEV);
+          throw new FS.ErrnoError(75);
         }
         // source must exist
         var old_node = FS.lookupNode(old_dir, old_name);
         // old path should not be an ancestor of the new path
-        var relative = PATH.relative(old_path, new_dirname);
+        var relative = PATH_FS.relative(old_path, new_dirname);
         if (relative.charAt(0) !== '.') {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+          throw new FS.ErrnoError(28);
         }
         // new path should not be an ancestor of the old path
-        relative = PATH.relative(new_path, old_dirname);
+        relative = PATH_FS.relative(new_path, old_dirname);
         if (relative.charAt(0) !== '.') {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOTEMPTY);
+          throw new FS.ErrnoError(55);
         }
         // see if the new path already exists
@@ -3509,27 +3836,27 @@
         // we'll need to delete the old entry
         var isdir = FS.isDir(old_node.mode);
-        var err = FS.mayDelete(old_dir, old_name, isdir);
-        if (err) {
-          throw new FS.ErrnoError(err);
+        var errCode = FS.mayDelete(old_dir, old_name, isdir);
+        if (errCode) {
+          throw new FS.ErrnoError(errCode);
         }
         // need delete permissions if we'll be overwriting.
         // need create permissions if new doesn't already exist.
-        err = new_node ?
+        errCode = new_node ?
           FS.mayDelete(new_dir, new_name, isdir) :
           FS.mayCreate(new_dir, new_name);
-        if (err) {
-          throw new FS.ErrnoError(err);
+        if (errCode) {
+          throw new FS.ErrnoError(errCode);
         }
         if (!old_dir.node_ops.rename) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+          throw new FS.ErrnoError(63);
         }
         if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+          throw new FS.ErrnoError(10);
         }
         // if we are going to change the parent, check write permissions
         if (new_dir !== old_dir) {
-          err = FS.nodePermissions(old_dir, 'w');
-          if (err) {
-            throw new FS.ErrnoError(err);
+          errCode = FS.nodePermissions(old_dir, 'w');
+          if (errCode) {
+            throw new FS.ErrnoError(errCode);
           }
         }
@@ -3539,5 +3866,5 @@
           }
         } catch(e) {
-          console.log("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
+          err("FS.trackingDelegate['willMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
         }
         // remove the node from the lookup hash
@@ -3556,20 +3883,20 @@
           if (FS.trackingDelegate['onMovePath']) FS.trackingDelegate['onMovePath'](old_path, new_path);
         } catch(e) {
-          console.log("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
-        }
-      },rmdir:function (path) {
+          err("FS.trackingDelegate['onMovePath']('"+old_path+"', '"+new_path+"') threw an exception: " + e.message);
+        }
+      },rmdir:function(path) {
         var lookup = FS.lookupPath(path, { parent: true });
         var parent = lookup.node;
         var name = PATH.basename(path);
         var node = FS.lookupNode(parent, name);
-        var err = FS.mayDelete(parent, name, true);
-        if (err) {
-          throw new FS.ErrnoError(err);
+        var errCode = FS.mayDelete(parent, name, true);
+        if (errCode) {
+          throw new FS.ErrnoError(errCode);
         }
         if (!parent.node_ops.rmdir) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+          throw new FS.ErrnoError(63);
         }
         if (FS.isMountpoint(node)) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+          throw new FS.ErrnoError(10);
         }
         try {
@@ -3578,5 +3905,5 @@
           }
         } catch(e) {
-          console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
+          err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
         }
         parent.node_ops.rmdir(parent, name);
@@ -3585,30 +3912,30 @@
           if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
         } catch(e) {
-          console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
-        }
-      },readdir:function (path) {
+          err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
+        }
+      },readdir:function(path) {
         var lookup = FS.lookupPath(path, { follow: true });
         var node = lookup.node;
         if (!node.node_ops.readdir) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
+          throw new FS.ErrnoError(54);
         }
         return node.node_ops.readdir(node);
-      },unlink:function (path) {
+      },unlink:function(path) {
         var lookup = FS.lookupPath(path, { parent: true });
         var parent = lookup.node;
         var name = PATH.basename(path);
         var node = FS.lookupNode(parent, name);
-        var err = FS.mayDelete(parent, name, false);
-        if (err) {
+        var errCode = FS.mayDelete(parent, name, false);
+        if (errCode) {
           // According to POSIX, we should map EISDIR to EPERM, but
           // we instead do what Linux does (and we must, as we use
           // the musl linux libc).
-          throw new FS.ErrnoError(err);
+          throw new FS.ErrnoError(errCode);
         }
         if (!parent.node_ops.unlink) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+          throw new FS.ErrnoError(63);
         }
         if (FS.isMountpoint(node)) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBUSY);
+          throw new FS.ErrnoError(10);
         }
         try {
@@ -3617,5 +3944,5 @@
           }
         } catch(e) {
-          console.log("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
+          err("FS.trackingDelegate['willDeletePath']('"+path+"') threw an exception: " + e.message);
         }
         parent.node_ops.unlink(parent, name);
@@ -3624,29 +3951,29 @@
           if (FS.trackingDelegate['onDeletePath']) FS.trackingDelegate['onDeletePath'](path);
         } catch(e) {
-          console.log("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
-        }
-      },readlink:function (path) {
+          err("FS.trackingDelegate['onDeletePath']('"+path+"') threw an exception: " + e.message);
+        }
+      },readlink:function(path) {
         var lookup = FS.lookupPath(path);
         var link = lookup.node;
         if (!link) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+          throw new FS.ErrnoError(44);
         }
         if (!link.node_ops.readlink) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-        }
-        return PATH.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
-      },stat:function (path, dontFollow) {
+          throw new FS.ErrnoError(28);
+        }
+        return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link));
+      },stat:function(path, dontFollow) {
         var lookup = FS.lookupPath(path, { follow: !dontFollow });
         var node = lookup.node;
         if (!node) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+          throw new FS.ErrnoError(44);
         }
         if (!node.node_ops.getattr) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+          throw new FS.ErrnoError(63);
         }
         return node.node_ops.getattr(node);
-      },lstat:function (path) {
+      },lstat:function(path) {
         return FS.stat(path, true);
-      },chmod:function (path, mode, dontFollow) {
+      },chmod:function(path, mode, dontFollow) {
         var node;
         if (typeof path === 'string') {
@@ -3657,5 +3984,5 @@
         }
         if (!node.node_ops.setattr) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+          throw new FS.ErrnoError(63);
         }
         node.node_ops.setattr(node, {
@@ -3663,13 +3990,13 @@
           timestamp: Date.now()
         });
-      },lchmod:function (path, mode) {
+      },lchmod:function(path, mode) {
         FS.chmod(path, mode, true);
-      },fchmod:function (fd, mode) {
+      },fchmod:function(fd, mode) {
         var stream = FS.getStream(fd);
         if (!stream) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+          throw new FS.ErrnoError(8);
         }
         FS.chmod(stream.node, mode);
-      },chown:function (path, uid, gid, dontFollow) {
+      },chown:function(path, uid, gid, dontFollow) {
         var node;
         if (typeof path === 'string') {
@@ -3680,5 +4007,5 @@
         }
         if (!node.node_ops.setattr) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+          throw new FS.ErrnoError(63);
         }
         node.node_ops.setattr(node, {
@@ -3686,15 +4013,15 @@
           // we ignore the uid / gid for now
         });
-      },lchown:function (path, uid, gid) {
+      },lchown:function(path, uid, gid) {
         FS.chown(path, uid, gid, true);
-      },fchown:function (fd, uid, gid) {
+      },fchown:function(fd, uid, gid) {
         var stream = FS.getStream(fd);
         if (!stream) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+          throw new FS.ErrnoError(8);
         }
         FS.chown(stream.node, uid, gid);
-      },truncate:function (path, len) {
+      },truncate:function(path, len) {
         if (len < 0) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+          throw new FS.ErrnoError(28);
         }
         var node;
@@ -3706,15 +4033,15 @@
         }
         if (!node.node_ops.setattr) {
-          throw new FS.ErrnoError(ERRNO_CODES.EPERM);
+          throw new FS.ErrnoError(63);
         }
         if (FS.isDir(node.mode)) {
-          throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
+          throw new FS.ErrnoError(31);
         }
         if (!FS.isFile(node.mode)) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-        }
-        var err = FS.nodePermissions(node, 'w');
-        if (err) {
-          throw new FS.ErrnoError(err);
+          throw new FS.ErrnoError(28);
+        }
+        var errCode = FS.nodePermissions(node, 'w');
+        if (errCode) {
+          throw new FS.ErrnoError(errCode);
         }
         node.node_ops.setattr(node, {
@@ -3722,14 +4049,14 @@
           timestamp: Date.now()
         });
-      },ftruncate:function (fd, len) {
+      },ftruncate:function(fd, len) {
         var stream = FS.getStream(fd);
         if (!stream) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+          throw new FS.ErrnoError(8);
         }
         if ((stream.flags & 2097155) === 0) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+          throw new FS.ErrnoError(28);
         }
         FS.truncate(stream.node, len);
-      },utime:function (path, atime, mtime) {
+      },utime:function(path, atime, mtime) {
         var lookup = FS.lookupPath(path, { follow: true });
         var node = lookup.node;
@@ -3737,7 +4064,7 @@
           timestamp: Math.max(atime, mtime)
         });
-      },open:function (path, flags, mode, fd_start, fd_end) {
+      },open:function(path, flags, mode, fd_start, fd_end) {
         if (path === "") {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+          throw new FS.ErrnoError(44);
         }
         flags = typeof flags === 'string' ? FS.modeStringToFlags(flags) : flags;
@@ -3768,5 +4095,5 @@
             // if O_CREAT and O_EXCL are set, error out if the node already exists
             if ((flags & 128)) {
-              throw new FS.ErrnoError(ERRNO_CODES.EEXIST);
+              throw new FS.ErrnoError(20);
             }
           } else {
@@ -3777,5 +4104,5 @@
         }
         if (!node) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+          throw new FS.ErrnoError(44);
         }
         // can't truncate a device
@@ -3785,5 +4112,5 @@
         // if asked only for a directory, then this must be one
         if ((flags & 65536) && !FS.isDir(node.mode)) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
+          throw new FS.ErrnoError(54);
         }
         // check permissions, if this is not a file we just created now (it is ok to
@@ -3791,7 +4118,7 @@
         // for later use)
         if (!created) {
-          var err = FS.mayOpen(node, flags);
-          if (err) {
-            throw new FS.ErrnoError(err);
+          var errCode = FS.mayOpen(node, flags);
+          if (errCode) {
+            throw new FS.ErrnoError(errCode);
           }
         }
@@ -3801,5 +4128,5 @@
         }
         // we've already handled these, don't pass down to the underlying vfs
-        flags &= ~(128 | 512);
+        flags &= ~(128 | 512 | 131072);
   
         // register the stream with the filesystem
@@ -3823,5 +4150,5 @@
           if (!(path in FS.readFiles)) {
             FS.readFiles[path] = 1;
-            Module['printErr']('read file: ' + path);
+            err("FS.trackingDelegate error on read file: " + path);
           }
         }
@@ -3838,8 +4165,11 @@
           }
         } catch(e) {
-          console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message);
+          err("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message);
         }
         return stream;
-      },close:function (stream) {
+      },close:function(stream) {
+        if (FS.isClosed(stream)) {
+          throw new FS.ErrnoError(8);
+        }
         if (stream.getdents) stream.getdents = null; // free readdir state
         try {
@@ -3852,57 +4182,70 @@
           FS.closeStream(stream.fd);
         }
-      },llseek:function (stream, offset, whence) {
+        stream.fd = null;
+      },isClosed:function(stream) {
+        return stream.fd === null;
+      },llseek:function(stream, offset, whence) {
+        if (FS.isClosed(stream)) {
+          throw new FS.ErrnoError(8);
+        }
         if (!stream.seekable || !stream.stream_ops.llseek) {
-          throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
+          throw new FS.ErrnoError(70);
+        }
+        if (whence != 0 && whence != 1 && whence != 2) {
+          throw new FS.ErrnoError(28);
         }
         stream.position = stream.stream_ops.llseek(stream, offset, whence);
         stream.ungotten = [];
         return stream.position;
-      },read:function (stream, buffer, offset, length, position) {
+      },read:function(stream, buffer, offset, length, position) {
         if (length < 0 || position < 0) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+          throw new FS.ErrnoError(28);
+        }
+        if (FS.isClosed(stream)) {
+          throw new FS.ErrnoError(8);
         }
         if ((stream.flags & 2097155) === 1) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+          throw new FS.ErrnoError(8);
         }
         if (FS.isDir(stream.node.mode)) {
-          throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
+          throw new FS.ErrnoError(31);
         }
         if (!stream.stream_ops.read) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-        }
-        var seeking = true;
-        if (typeof position === 'undefined') {
+          throw new FS.ErrnoError(28);
+        }
+        var seeking = typeof position !== 'undefined';
+        if (!seeking) {
           position = stream.position;
-          seeking = false;
         } else if (!stream.seekable) {
-          throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
+          throw new FS.ErrnoError(70);
         }
         var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position);
         if (!seeking) stream.position += bytesRead;
         return bytesRead;
-      },write:function (stream, buffer, offset, length, position, canOwn) {
+      },write:function(stream, buffer, offset, length, position, canOwn) {
         if (length < 0 || position < 0) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+          throw new FS.ErrnoError(28);
+        }
+        if (FS.isClosed(stream)) {
+          throw new FS.ErrnoError(8);
         }
         if ((stream.flags & 2097155) === 0) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+          throw new FS.ErrnoError(8);
         }
         if (FS.isDir(stream.node.mode)) {
-          throw new FS.ErrnoError(ERRNO_CODES.EISDIR);
+          throw new FS.ErrnoError(31);
         }
         if (!stream.stream_ops.write) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
-        }
-        if (stream.flags & 1024) {
+          throw new FS.ErrnoError(28);
+        }
+        if (stream.seekable && stream.flags & 1024) {
           // seek to the end before writing in append mode
           FS.llseek(stream, 0, 2);
         }
-        var seeking = true;
-        if (typeof position === 'undefined') {
+        var seeking = typeof position !== 'undefined';
+        if (!seeking) {
           position = stream.position;
-          seeking = false;
         } else if (!stream.seekable) {
-          throw new FS.ErrnoError(ERRNO_CODES.ESPIPE);
+          throw new FS.ErrnoError(70);
         }
         var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn);
@@ -3911,43 +4254,56 @@
           if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path);
         } catch(e) {
-          console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: " + e.message);
+          err("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: " + e.message);
         }
         return bytesWritten;
-      },allocate:function (stream, offset, length) {
+      },allocate:function(stream, offset, length) {
+        if (FS.isClosed(stream)) {
+          throw new FS.ErrnoError(8);
+        }
         if (offset < 0 || length <= 0) {
-          throw new FS.ErrnoError(ERRNO_CODES.EINVAL);
+          throw new FS.ErrnoError(28);
         }
         if ((stream.flags & 2097155) === 0) {
-          throw new FS.ErrnoError(ERRNO_CODES.EBADF);
-        }
-        if (!FS.isFile(stream.node.mode) && !FS.isDir(node.mode)) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
+          throw new FS.ErrnoError(8);
+        }
+        if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {
+          throw new FS.ErrnoError(43);
         }
         if (!stream.stream_ops.allocate) {
-          throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);
+          throw new FS.ErrnoError(138);
         }
         stream.stream_ops.allocate(stream, offset, length);
-      },mmap:function (stream, buffer, offset, length, position, prot, flags) {
-        // TODO if PROT is PROT_WRITE, make sure we have write access
+      },mmap:function(stream, address, length, position, prot, flags) {
+        // User requests writing to file (prot & PROT_WRITE != 0).
+        // Checking if we have permissions to write to the file unless
+        // MAP_PRIVATE flag is set. According to POSIX spec it is possible
+        // to write to file opened in read-only mode with MAP_PRIVATE flag,
+        // as all modifications will be visible only in the memory of
+        // the current process.
+        if ((prot & 2) !== 0
+            && (flags & 2) === 0
+            && (stream.flags & 2097155) !== 2) {
+          throw new FS.ErrnoError(2);
+        }
         if ((stream.flags & 2097155) === 1) {
-          throw new FS.ErrnoError(ERRNO_CODES.EACCES);
+          throw new FS.ErrnoError(2);
         }
         if (!stream.stream_ops.mmap) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENODEV);
-        }
-        return stream.stream_ops.mmap(stream, buffer, offset, length, position, prot, flags);
-      },msync:function (stream, buffer, offset, length, mmapFlags) {
+          throw new FS.ErrnoError(43);
+        }
+        return stream.stream_ops.mmap(stream, address, length, position, prot, flags);
+      },msync:function(stream, buffer, offset, length, mmapFlags) {
         if (!stream || !stream.stream_ops.msync) {
           return 0;
         }
         return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);
-      },munmap:function (stream) {
+      },munmap:function(stream) {
         return 0;
-      },ioctl:function (stream, cmd, arg) {
+      },ioctl:function(stream, cmd, arg) {
         if (!stream.stream_ops.ioctl) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);
+          throw new FS.ErrnoError(59);
         }
         return stream.stream_ops.ioctl(stream, cmd, arg);
-      },readFile:function (path, opts) {
+      },readFile:function(path, opts) {
         opts = opts || {};
         opts.flags = opts.flags || 'r';
@@ -3969,40 +4325,38 @@
         FS.close(stream);
         return ret;
-      },writeFile:function (path, data, opts) {
+      },writeFile:function(path, data, opts) {
         opts = opts || {};
         opts.flags = opts.flags || 'w';
-        opts.encoding = opts.encoding || 'utf8';
-        if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') {
-          throw new Error('Invalid encoding type "' + opts.encoding + '"');
-        }
         var stream = FS.open(path, opts.flags, opts.mode);
-        if (opts.encoding === 'utf8') {
+        if (typeof data === 'string') {
           var buf = new Uint8Array(lengthBytesUTF8(data)+1);
           var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);
-          FS.write(stream, buf, 0, actualNumBytes, 0, opts.canOwn);
-        } else if (opts.encoding === 'binary') {
-          FS.write(stream, data, 0, data.length, 0, opts.canOwn);
+          FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);
+        } else if (ArrayBuffer.isView(data)) {
+          FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);
+        } else {
+          throw new Error('Unsupported data type');
         }
         FS.close(stream);
-      },cwd:function () {
+      },cwd:function() {
         return FS.currentPath;
-      },chdir:function (path) {
+      },chdir:function(path) {
         var lookup = FS.lookupPath(path, { follow: true });
         if (lookup.node === null) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOENT);
+          throw new FS.ErrnoError(44);
         }
         if (!FS.isDir(lookup.node.mode)) {
-          throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR);
-        }
-        var err = FS.nodePermissions(lookup.node, 'x');
-        if (err) {
-          throw new FS.ErrnoError(err);
+          throw new FS.ErrnoError(54);
+        }
+        var errCode = FS.nodePermissions(lookup.node, 'x');
+        if (errCode) {
+          throw new FS.ErrnoError(errCode);
         }
         FS.currentPath = lookup.path;
-      },createDefaultDirectories:function () {
+      },createDefaultDirectories:function() {
         FS.mkdir('/tmp');
         FS.mkdir('/home');
         FS.mkdir('/home/web_user');
-      },createDefaultDevices:function () {
+      },createDefaultDevices:function() {
         // create /dev
         FS.mkdir('/dev');
@@ -4022,14 +4376,23 @@
         // setup /dev/[u]random
         var random_device;
-        if (typeof crypto !== 'undefined') {
+        if (typeof crypto === 'object' && typeof crypto['getRandomValues'] === 'function') {
           // for modern web browsers
           var randomBuffer = new Uint8Array(1);
           random_device = function() { crypto.getRandomValues(randomBuffer); return randomBuffer[0]; };
-        } else if (ENVIRONMENT_IS_NODE) {
-          // for nodejs
-          random_device = function() { return require('crypto').randomBytes(1)[0]; };
-        } else {
-          // default for ES5 platforms
-          random_device = function() { return (Math.random()*256)|0; };
+        } else
+        if (ENVIRONMENT_IS_NODE) {
+          // for nodejs with or without crypto support included
+          try {
+            var crypto_module = require('crypto');
+            // nodejs has crypto support
+            random_device = function() { return crypto_module['randomBytes'](1)[0]; };
+          } catch (e) {
+            // nodejs doesn't have crypto support
+          }
+        } else
+        {}
+        if (!random_device) {
+          // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096
+          random_device = function() { abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };"); };
         }
         FS.createDevice('/dev', 'random', random_device);
@@ -4039,5 +4402,5 @@
         FS.mkdir('/dev/shm');
         FS.mkdir('/dev/shm/tmp');
-      },createSpecialDirectories:function () {
+      },createSpecialDirectories:function() {
         // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the name of the stream for fd 6 (see test_unistd_ttyname)
         FS.mkdir('/proc');
@@ -4051,5 +4414,5 @@
                 var fd = +name;
                 var stream = FS.getStream(fd);
-                if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+                if (!stream) throw new FS.ErrnoError(8);
                 var ret = {
                   parent: null,
@@ -4064,5 +4427,5 @@
           }
         }, {}, '/proc/self/fd');
-      },createStandardStreams:function () {
+      },createStandardStreams:function() {
         // TODO deprecate the old functionality of a single
         // input / output callback and that utilizes FS.createDevice
@@ -4091,17 +4454,14 @@
         // open default streams for the stdin, stdout and stderr devices
         var stdin = FS.open('/dev/stdin', 'r');
+        var stdout = FS.open('/dev/stdout', 'w');
+        var stderr = FS.open('/dev/stderr', 'w');
         assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')');
-  
-        var stdout = FS.open('/dev/stdout', 'w');
         assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')');
-  
-        var stderr = FS.open('/dev/stderr', 'w');
         assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')');
-      },ensureErrnoError:function () {
+      },ensureErrnoError:function() {
         if (FS.ErrnoError) return;
-        FS.ErrnoError = function ErrnoError(errno, node) {
-          //Module.printErr(stackTrace()); // useful for debugging
+        FS.ErrnoError = /** @this{Object} */ function ErrnoError(errno, node) {
           this.node = node;
-          this.setErrno = function(errno) {
+          this.setErrno = /** @this{Object} */ function(errno) {
             this.errno = errno;
             for (var key in ERRNO_CODES) {
@@ -4114,14 +4474,21 @@
           this.setErrno(errno);
           this.message = ERRNO_MESSAGES[errno];
-          if (this.stack) this.stack = demangleAll(this.stack);
+  
+          // Try to get a maximally helpful stack trace. On Node.js, getting Error.stack
+          // now ensures it shows what we want.
+          if (this.stack) {
+            // Define the stack property for Node.js 4, which otherwise errors on the next line.
+            Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true });
+            this.stack = demangleAll(this.stack);
+          }
         };
         FS.ErrnoError.prototype = new Error();
         FS.ErrnoError.prototype.constructor = FS.ErrnoError;
         // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info)
-        [ERRNO_CODES.ENOENT].forEach(function(code) {
+        [44].forEach(function(code) {
           FS.genericErrors[code] = new FS.ErrnoError(code);
           FS.genericErrors[code].stack = '<generic error, no stack>';
         });
-      },staticInit:function () {
+      },staticInit:function() {
         FS.ensureErrnoError();
   
@@ -4136,9 +4503,6 @@
         FS.filesystems = {
           'MEMFS': MEMFS,
-          'IDBFS': IDBFS,
-          'NODEFS': NODEFS,
-          'WORKERFS': WORKERFS,
         };
-      },init:function (input, output, error) {
+      },init:function(input, output, error) {
         assert(!FS.init.initialized, 'FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)');
         FS.init.initialized = true;
@@ -4152,5 +4516,5 @@
   
         FS.createStandardStreams();
-      },quit:function () {
+      },quit:function() {
         FS.init.initialized = false;
         // force-flush all streams, so we get musl std streams printed out
@@ -4165,26 +4529,26 @@
           FS.close(stream);
         }
-      },getMode:function (canRead, canWrite) {
+      },getMode:function(canRead, canWrite) {
         var mode = 0;
         if (canRead) mode |= 292 | 73;
         if (canWrite) mode |= 146;
         return mode;
-      },joinPath:function (parts, forceRelative) {
+      },joinPath:function(parts, forceRelative) {
         var path = PATH.join.apply(null, parts);
         if (forceRelative && path[0] == '/') path = path.substr(1);
         return path;
-      },absolutePath:function (relative, base) {
-        return PATH.resolve(base, relative);
-      },standardizePath:function (path) {
+      },absolutePath:function(relative, base) {
+        return PATH_FS.resolve(base, relative);
+      },standardizePath:function(path) {
         return PATH.normalize(path);
-      },findObject:function (path, dontResolveLastLink) {
+      },findObject:function(path, dontResolveLastLink) {
         var ret = FS.analyzePath(path, dontResolveLastLink);
         if (ret.exists) {
           return ret.object;
         } else {
-          ___setErrNo(ret.error);
+          setErrNo(ret.error);
           return null;
         }
-      },analyzePath:function (path, dontResolveLastLink) {
+      },analyzePath:function(path, dontResolveLastLink) {
         // operate from within the context of the symlink's target
         try {
@@ -4213,9 +4577,9 @@
         };
         return ret;
-      },createFolder:function (parent, name, canRead, canWrite) {
+      },createFolder:function(parent, name, canRead, canWrite) {
         var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
         var mode = FS.getMode(canRead, canWrite);
         return FS.mkdir(path, mode);
-      },createPath:function (parent, path, canRead, canWrite) {
+      },createPath:function(parent, path, canRead, canWrite) {
         parent = typeof parent === 'string' ? parent : FS.getPath(parent);
         var parts = path.split('/').reverse();
@@ -4232,9 +4596,9 @@
         }
         return current;
-      },createFile:function (parent, name, properties, canRead, canWrite) {
+      },createFile:function(parent, name, properties, canRead, canWrite) {
         var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
         var mode = FS.getMode(canRead, canWrite);
         return FS.create(path, mode);
-      },createDataFile:function (parent, name, data, canRead, canWrite, canOwn) {
+      },createDataFile:function(parent, name, data, canRead, canWrite, canOwn) {
         var path = name ? PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name) : parent;
         var mode = FS.getMode(canRead, canWrite);
@@ -4254,5 +4618,5 @@
         }
         return node;
-      },createDevice:function (parent, name, input, output) {
+      },createDevice:function(parent, name, input, output) {
         var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
         var mode = FS.getMode(!!input, !!output);
@@ -4278,8 +4642,8 @@
                 result = input();
               } catch (e) {
-                throw new FS.ErrnoError(ERRNO_CODES.EIO);
+                throw new FS.ErrnoError(29);
               }
               if (result === undefined && bytesRead === 0) {
-                throw new FS.ErrnoError(ERRNO_CODES.EAGAIN);
+                throw new FS.ErrnoError(6);
               }
               if (result === null || result === undefined) break;
@@ -4297,5 +4661,5 @@
                 output(buffer[offset+i]);
               } catch (e) {
-                throw new FS.ErrnoError(ERRNO_CODES.EIO);
+                throw new FS.ErrnoError(29);
               }
             }
@@ -4307,18 +4671,18 @@
         });
         return FS.mkdev(path, mode, dev);
-      },createLink:function (parent, name, target, canRead, canWrite) {
+      },createLink:function(parent, name, target, canRead, canWrite) {
         var path = PATH.join2(typeof parent === 'string' ? parent : FS.getPath(parent), name);
         return FS.symlink(target, path);
-      },forceLoadFile:function (obj) {
+      },forceLoadFile:function(obj) {
         if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;
         var success = true;
         if (typeof XMLHttpRequest !== 'undefined') {
           throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");
-        } else if (Module['read']) {
+        } else if (read_) {
           // Command-line.
           try {
             // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as
             //          read() will try to parse UTF8.
-            obj.contents = intArrayFromString(Module['read'](obj.url), true);
+            obj.contents = intArrayFromString(read_(obj.url), true);
             obj.usedBytes = obj.contents.length;
           } catch (e) {
@@ -4328,13 +4692,14 @@
           throw new Error('Cannot load without read() or XMLHttpRequest.');
         }
-        if (!success) ___setErrNo(ERRNO_CODES.EIO);
+        if (!success) setErrNo(29);
         return success;
-      },createLazyFile:function (parent, name, url, canRead, canWrite) {
+      },createLazyFile:function(parent, name, url, canRead, canWrite) {
         // Lazy chunked Uint8Array (implements get and length from Uint8Array). Actual getting is abstracted away for eventual reuse.
+        /** @constructor */
         function LazyUint8Array() {
           this.lengthKnown = false;
           this.chunks = []; // Loaded chunks. Index is the chunk number
         }
-        LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {
+        LazyUint8Array.prototype.get = /** @this{Object} */ function LazyUint8Array_get(idx) {
           if (idx > this.length-1 || idx < 0) {
             return undefined;
@@ -4343,8 +4708,8 @@
           var chunkNum = (idx / this.chunkSize)|0;
           return this.getter(chunkNum)[chunkOffset];
-        }
+        };
         LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(getter) {
           this.getter = getter;
-        }
+        };
         LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {
           // Find length
@@ -4381,5 +4746,5 @@
             if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status);
             if (xhr.response !== undefined) {
-              return new Uint8Array(xhr.response || []);
+              return new Uint8Array(/** @type{Array<number>} */(xhr.response || []));
             } else {
               return intArrayFromString(xhr.responseText || '', true);
@@ -4403,5 +4768,5 @@
             datalength = this.getter(0).length;
             chunkSize = datalength;
-            console.log("LazyFiles on gzip forces download of the whole file when length is accessed");
+            out("LazyFiles on gzip forces download of the whole file when length is accessed");
           }
   
@@ -4409,5 +4774,5 @@
           this._chunkSize = chunkSize;
           this.lengthKnown = true;
-        }
+        };
         if (typeof XMLHttpRequest !== 'undefined') {
           if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc';
@@ -4415,5 +4780,5 @@
           Object.defineProperties(lazyArray, {
             length: {
-              get: function() {
+              get: /** @this{Object} */ function() {
                 if(!this.lengthKnown) {
                   this.cacheLength();
@@ -4423,5 +4788,5 @@
             },
             chunkSize: {
-              get: function() {
+              get: /** @this{Object} */ function() {
                 if(!this.lengthKnown) {
                   this.cacheLength();
@@ -4450,5 +4815,5 @@
         Object.defineProperties(node, {
           usedBytes: {
-            get: function() { return this.contents.length; }
+            get: /** @this {FSNode} */ function() { return this.contents.length; }
           }
         });
@@ -4460,5 +4825,5 @@
           stream_ops[key] = function forceLoadLazyFile() {
             if (!FS.forceLoadFile(node)) {
-              throw new FS.ErrnoError(ERRNO_CODES.EIO);
+              throw new FS.ErrnoError(29);
             }
             return fn.apply(null, arguments);
@@ -4468,5 +4833,5 @@
         stream_ops.read = function stream_ops_read(stream, buffer, offset, length, position) {
           if (!FS.forceLoadFile(node)) {
-            throw new FS.ErrnoError(ERRNO_CODES.EIO);
+            throw new FS.ErrnoError(29);
           }
           var contents = stream.node.contents;
@@ -4488,9 +4853,9 @@
         node.stream_ops = stream_ops;
         return node;
-      },createPreloadedFile:function (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
+      },createPreloadedFile:function(parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) {
         Browser.init(); // XXX perhaps this method should move onto Browser?
         // TODO we should allow people to just pass in a complete filename instead
         // of parent and name being that we just join them anyways
-        var fullname = name ? PATH.resolve(PATH.join2(parent, name)) : parent;
+        var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;
         var dep = getUniqueRunDependency('cp ' + fullname); // might have several active requests for the same fullname
         function processData(byteArray) {
@@ -4524,9 +4889,9 @@
           processData(url);
         }
-      },indexedDB:function () {
+      },indexedDB:function() {
         return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
-      },DB_NAME:function () {
+      },DB_NAME:function() {
         return 'EM_FS_' + window.location.pathname;
-      },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function (paths, onload, onerror) {
+      },DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:function(paths, onload, onerror) {
         onload = onload || function(){};
         onerror = onerror || function(){};
@@ -4538,5 +4903,5 @@
         }
         openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {
-          console.log('creating db');
+          out('creating db');
           var db = openRequest.result;
           db.createObjectStore(FS.DB_STORE_NAME);
@@ -4558,5 +4923,5 @@
         };
         openRequest.onerror = onerror;
-      },loadFilesFromDB:function (paths, onload, onerror) {
+      },loadFilesFromDB:function(paths, onload, onerror) {
         onload = onload || function(){};
         onerror = onerror || function(){};
@@ -4596,5 +4961,5 @@
         };
         openRequest.onerror = onerror;
-      }};var SYSCALLS={DEFAULT_POLLMASK:5,mappings:{},umask:511,calculateAt:function (dirfd, path) {
+      }};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,umask:511,calculateAt:function(dirfd, path) {
         if (path[0] !== '/') {
           // relative path
@@ -4604,5 +4969,5 @@
           } else {
             var dirstream = FS.getStream(dirfd);
-            if (!dirstream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+            if (!dirstream) throw new FS.ErrnoError(8);
             dir = dirstream.path;
           }
@@ -4610,5 +4975,5 @@
         }
         return path;
-      },doStat:function (func, path, buf) {
+      },doStat:function(func, path, buf) {
         try {
           var stat = func(path);
@@ -4616,5 +4981,5 @@
           if (e && e.node && PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))) {
             // an error occurred while trying to look up the path; we should just report ENOTDIR
-            return -ERRNO_CODES.ENOTDIR;
+            return -54;
           }
           throw e;
@@ -4629,19 +4994,19 @@
         HEAP32[(((buf)+(28))>>2)]=stat.rdev;
         HEAP32[(((buf)+(32))>>2)]=0;
-        HEAP32[(((buf)+(36))>>2)]=stat.size;
-        HEAP32[(((buf)+(40))>>2)]=4096;
-        HEAP32[(((buf)+(44))>>2)]=stat.blocks;
-        HEAP32[(((buf)+(48))>>2)]=(stat.atime.getTime() / 1000)|0;
-        HEAP32[(((buf)+(52))>>2)]=0;
-        HEAP32[(((buf)+(56))>>2)]=(stat.mtime.getTime() / 1000)|0;
+        (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)]=tempI64[0],HEAP32[(((buf)+(44))>>2)]=tempI64[1]);
+        HEAP32[(((buf)+(48))>>2)]=4096;
+        HEAP32[(((buf)+(52))>>2)]=stat.blocks;
+        HEAP32[(((buf)+(56))>>2)]=(stat.atime.getTime() / 1000)|0;
         HEAP32[(((buf)+(60))>>2)]=0;
-        HEAP32[(((buf)+(64))>>2)]=(stat.ctime.getTime() / 1000)|0;
+        HEAP32[(((buf)+(64))>>2)]=(stat.mtime.getTime() / 1000)|0;
         HEAP32[(((buf)+(68))>>2)]=0;
-        HEAP32[(((buf)+(72))>>2)]=stat.ino;
+        HEAP32[(((buf)+(72))>>2)]=(stat.ctime.getTime() / 1000)|0;
+        HEAP32[(((buf)+(76))>>2)]=0;
+        (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[(((buf)+(80))>>2)]=tempI64[0],HEAP32[(((buf)+(84))>>2)]=tempI64[1]);
         return 0;
-      },doMsync:function (addr, stream, len, flags) {
-        var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));
-        FS.msync(stream, buffer, 0, len, flags);
-      },doMkdir:function (path, mode) {
+      },doMsync:function(addr, stream, len, flags, offset) {
+        var buffer = HEAPU8.slice(addr, addr + len);
+        FS.msync(stream, buffer, offset, len, flags);
+      },doMkdir:function(path, mode) {
         // remove a trailing slash, if one - /a/b/ has basename of '', but
         // we want to create b in the context of this function
@@ -4650,5 +5015,5 @@
         FS.mkdir(path, mode, 0);
         return 0;
-      },doMknod:function (path, mode, dev) {
+      },doMknod:function(path, mode, dev) {
         // we don't want this in the JS API as it uses mknod to create all nodes.
         switch (mode & 61440) {
@@ -4659,10 +5024,10 @@
           case 49152:
             break;
-          default: return -ERRNO_CODES.EINVAL;
+          default: return -28;
         }
         FS.mknod(path, mode, dev);
         return 0;
-      },doReadlink:function (path, buf, bufsize) {
-        if (bufsize <= 0) return -ERRNO_CODES.EINVAL;
+      },doReadlink:function(path, buf, bufsize) {
+        if (bufsize <= 0) return -28;
         var ret = FS.readlink(path);
   
@@ -4675,12 +5040,15 @@
   
         return len;
-      },doAccess:function (path, amode) {
+      },doAccess:function(path, amode) {
         if (amode & ~7) {
           // need a valid mode
-          return -ERRNO_CODES.EINVAL;
+          return -28;
         }
         var node;
         var lookup = FS.lookupPath(path, { follow: true });
         node = lookup.node;
+        if (!node) {
+          return -44;
+        }
         var perms = '';
         if (amode & 4) perms += 'r';
@@ -4688,12 +5056,12 @@
         if (amode & 1) perms += 'x';
         if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) {
-          return -ERRNO_CODES.EACCES;
+          return -2;
         }
         return 0;
-      },doDup:function (path, flags, suggestFD) {
+      },doDup:function(path, flags, suggestFD) {
         var suggest = FS.getStream(suggestFD);
         if (suggest) FS.close(suggest);
         return FS.open(path, flags, 0, suggestFD, suggestFD).fd;
-      },doReadv:function (stream, iov, iovcnt, offset) {
+      },doReadv:function(stream, iov, iovcnt, offset) {
         var ret = 0;
         for (var i = 0; i < iovcnt; i++) {
@@ -4706,5 +5074,5 @@
         }
         return ret;
-      },doWritev:function (stream, iov, iovcnt, offset) {
+      },doWritev:function(stream, iov, iovcnt, offset) {
         var ret = 0;
         for (var i = 0; i < iovcnt; i++) {
@@ -4716,940 +5084,29 @@
         }
         return ret;
-      },varargs:0,get:function (varargs) {
+      },varargs:undefined,get:function() {
+        assert(SYSCALLS.varargs != undefined);
         SYSCALLS.varargs += 4;
         var ret = HEAP32[(((SYSCALLS.varargs)-(4))>>2)];
         return ret;
-      },getStr:function () {
-        var ret = Pointer_stringify(SYSCALLS.get());
+      },getStr:function(ptr) {
+        var ret = UTF8ToString(ptr);
         return ret;
-      },getStreamFromFD:function () {
-        var stream = FS.getStream(SYSCALLS.get());
-        if (!stream) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
+      },getStreamFromFD:function(fd) {
+        var stream = FS.getStream(fd);
+        if (!stream) throw new FS.ErrnoError(8);
         return stream;
-      },getSocketFromFD:function () {
-        var socket = SOCKFS.getSocket(SYSCALLS.get());
-        if (!socket) throw new FS.ErrnoError(ERRNO_CODES.EBADF);
-        return socket;
-      },getSocketAddress:function (allowNull) {
-        var addrp = SYSCALLS.get(), addrlen = SYSCALLS.get();
-        if (allowNull && addrp === 0) return null;
-        var info = __read_sockaddr(addrp, addrlen);
-        if (info.errno) throw new FS.ErrnoError(info.errno);
-        info.addr = DNS.lookup_addr(info.addr) || info.addr;
-        return info;
-      },get64:function () {
-        var low = SYSCALLS.get(), high = SYSCALLS.get();
+      },get64:function(low, high) {
         if (low >= 0) assert(high === 0);
         else assert(high === -1);
         return low;
-      },getZero:function () {
-        assert(SYSCALLS.get() === 0);
-      }};function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs;
+      }};function ___sys_fcntl64(fd, cmd, varargs) {SYSCALLS.varargs = varargs;
   try {
-   // open
-      var pathname = SYSCALLS.getStr(), flags = SYSCALLS.get(), mode = SYSCALLS.get() // optional TODO
-      var stream = FS.open(pathname, flags, mode);
-      return stream.fd;
-    } catch (e) {
-    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
-    return -e.errno;
-  }
-  }
-
-  function ___lock() {}
-
-  function ___unlock() {}
-
-  function ___syscall6(which, varargs) {SYSCALLS.varargs = varargs;
-  try {
-   // close
-      var stream = SYSCALLS.getStreamFromFD();
-      FS.close(stream);
-      return 0;
-    } catch (e) {
-    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
-    return -e.errno;
-  }
-  }
-
-   
-  Module["_llvm_bswap_i32"] = _llvm_bswap_i32;
-
-  
-  
-  var cttz_i8 = allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0], "i8", ALLOC_STATIC); 
-  Module["_llvm_cttz_i32"] = _llvm_cttz_i32; 
-  Module["___udivmoddi4"] = ___udivmoddi4; 
-  Module["___udivdi3"] = ___udivdi3;
-
-  
-   
-  Module["___muldsi3"] = ___muldsi3; 
-  Module["___muldi3"] = ___muldi3;
-
-  var _llvm_pow_f64=Math_pow;
-
-   
-  Module["_sbrk"] = _sbrk;
-
-  
-  
-  function _emscripten_memcpy_big(dest, src, num) {
-      HEAPU8.set(HEAPU8.subarray(src, src+num), dest);
-      return dest;
-    } 
-  Module["_memcpy"] = _memcpy; 
-  Module["_memmove"] = _memmove;
-
-
-   
-  Module["___uremdi3"] = ___uremdi3;
-
-
-
-  
-  function __exit(status) {
-      // void _exit(int status);
-      // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
-      Module['exit'](status);
-    }function _exit(status) {
-      __exit(status);
-    }
-
-  
-  
-  function _emscripten_set_main_loop_timing(mode, value) {
-      Browser.mainLoop.timingMode = mode;
-      Browser.mainLoop.timingValue = value;
-  
-      if (!Browser.mainLoop.func) {
-        console.error('emscripten_set_main_loop_timing: Cannot set timing mode for main loop since a main loop does not exist! Call emscripten_set_main_loop first to set one up.');
-        return 1; // Return non-zero on failure, can't set timing mode when there is no main loop.
-      }
-  
-      if (mode == 0 /*EM_TIMING_SETTIMEOUT*/) {
-        Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() {
-          var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now())|0;
-          setTimeout(Browser.mainLoop.runner, timeUntilNextTick); // doing this each time means that on exception, we stop
-        };
-        Browser.mainLoop.method = 'timeout';
-      } else if (mode == 1 /*EM_TIMING_RAF*/) {
-        Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() {
-          Browser.requestAnimationFrame(Browser.mainLoop.runner);
-        };
-        Browser.mainLoop.method = 'rAF';
-      } else if (mode == 2 /*EM_TIMING_SETIMMEDIATE*/) {
-        if (!window['setImmediate']) {
-          // Emulate setImmediate. (note: not a complete polyfill, we don't emulate clearImmediate() to keep code size to minimum, since not needed)
-          var setImmediates = [];
-          var emscriptenMainLoopMessageId = 'setimmediate';
-          function Browser_setImmediate_messageHandler(event) {
-            if (event.source === window && event.data === emscriptenMainLoopMessageId) {
-              event.stopPropagation();
-              setImmediates.shift()();
-            }
-          }
-          window.addEventListener("message", Browser_setImmediate_messageHandler, true);
-          window['setImmediate'] = function Browser_emulated_setImmediate(func) {
-            setImmediates.push(func);
-            if (ENVIRONMENT_IS_WORKER) {
-              if (Module['setImmediates'] === undefined) Module['setImmediates'] = [];
-              Module['setImmediates'].push(func);
-              window.postMessage({target: emscriptenMainLoopMessageId}); // In --proxy-to-worker, route the message via proxyClient.js
-            } else window.postMessage(emscriptenMainLoopMessageId, "*"); // On the main thread, can just send the message to itself.
-          }
-        }
-        Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() {
-          window['setImmediate'](Browser.mainLoop.runner);
-        };
-        Browser.mainLoop.method = 'immediate';
-      }
-      return 0;
-    }
-  
-  function _emscripten_get_now() { abort() }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) {
-      Module['noExitRuntime'] = true;
-  
-      assert(!Browser.mainLoop.func, 'emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.');
-  
-      Browser.mainLoop.func = func;
-      Browser.mainLoop.arg = arg;
-  
-      var browserIterationFunc;
-      if (typeof arg !== 'undefined') {
-        browserIterationFunc = function() {
-          Module['dynCall_vi'](func, arg);
-        };
-      } else {
-        browserIterationFunc = function() {
-          Module['dynCall_v'](func);
-        };
-      }
-  
-      var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
-  
-      Browser.mainLoop.runner = function Browser_mainLoop_runner() {
-        if (ABORT) return;
-        if (Browser.mainLoop.queue.length > 0) {
-          var start = Date.now();
-          var blocker = Browser.mainLoop.queue.shift();
-          blocker.func(blocker.arg);
-          if (Browser.mainLoop.remainingBlockers) {
-            var remaining = Browser.mainLoop.remainingBlockers;
-            var next = remaining%1 == 0 ? remaining-1 : Math.floor(remaining);
-            if (blocker.counted) {
-              Browser.mainLoop.remainingBlockers = next;
-            } else {
-              // not counted, but move the progress along a tiny bit
-              next = next + 0.5; // do not steal all the next one's progress
-              Browser.mainLoop.remainingBlockers = (8*remaining + next)/9;
-            }
-          }
-          console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + ' ms'); //, left: ' + Browser.mainLoop.remainingBlockers);
-          Browser.mainLoop.updateStatus();
-          
-          // catches pause/resume main loop from blocker execution
-          if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
-          
-          setTimeout(Browser.mainLoop.runner, 0);
-          return;
-        }
-  
-        // catch pauses from non-main loop sources
-        if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
-  
-        // Implement very basic swap interval control
-        Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
-        if (Browser.mainLoop.timingMode == 1/*EM_TIMING_RAF*/ && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
-          // Not the scheduled time to render this frame - skip.
-          Browser.mainLoop.scheduler();
-          return;
-        } else if (Browser.mainLoop.timingMode == 0/*EM_TIMING_SETTIMEOUT*/) {
-          Browser.mainLoop.tickStartTime = _emscripten_get_now();
-        }
-  
-        // Signal GL rendering layer that processing of a new frame is about to start. This helps it optimize
-        // VBO double-buffering and reduce GPU stalls.
-  
-  
-        if (Browser.mainLoop.method === 'timeout' && Module.ctx) {
-          Module.printErr('Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!');
-          Browser.mainLoop.method = ''; // just warn once per call to set main loop
-        }
-  
-        Browser.mainLoop.runIter(browserIterationFunc);
-  
-        checkStackCookie();
-  
-        // catch pauses from the main loop itself
-        if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;
-  
-        // Queue new audio data. This is important to be right after the main loop invocation, so that we will immediately be able
-        // to queue the newest produced audio samples.
-        // TODO: Consider adding pre- and post- rAF callbacks so that GL.newRenderingFrameStarted() and SDL.audio.queueNewAudioData()
-        //       do not need to be hardcoded into this function, but can be more generic.
-        if (typeof SDL === 'object' && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
-  
-        Browser.mainLoop.scheduler();
-      }
-  
-      if (!noSetTiming) {
-        if (fps && fps > 0) _emscripten_set_main_loop_timing(0/*EM_TIMING_SETTIMEOUT*/, 1000.0 / fps);
-        else _emscripten_set_main_loop_timing(1/*EM_TIMING_RAF*/, 1); // Do rAF by rendering each frame (no decimating)
-  
-        Browser.mainLoop.scheduler();
-      }
-  
-      if (simulateInfiniteLoop) {
-        throw 'SimulateInfiniteLoop';
-      }
-    }var Browser={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function () {
-          Browser.mainLoop.scheduler = null;
-          Browser.mainLoop.currentlyRunningMainloop++; // Incrementing this signals the previous main loop that it's now become old, and it must return.
-        },resume:function () {
-          Browser.mainLoop.currentlyRunningMainloop++;
-          var timingMode = Browser.mainLoop.timingMode;
-          var timingValue = Browser.mainLoop.timingValue;
-          var func = Browser.mainLoop.func;
-          Browser.mainLoop.func = null;
-          _emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true /* do not set timing and call scheduler, we will do it on the next lines */);
-          _emscripten_set_main_loop_timing(timingMode, timingValue);
-          Browser.mainLoop.scheduler();
-        },updateStatus:function () {
-          if (Module['setStatus']) {
-            var message = Module['statusMessage'] || 'Please wait...';
-            var remaining = Browser.mainLoop.remainingBlockers;
-            var expected = Browser.mainLoop.expectedBlockers;
-            if (remaining) {
-              if (remaining < expected) {
-                Module['setStatus'](message + ' (' + (expected - remaining) + '/' + expected + ')');
-              } else {
-                Module['setStatus'](message);
-              }
-            } else {
-              Module['setStatus']('');
-            }
-          }
-        },runIter:function (func) {
-          if (ABORT) return;
-          if (Module['preMainLoop']) {
-            var preRet = Module['preMainLoop']();
-            if (preRet === false) {
-              return; // |return false| skips a frame
-            }
-          }
-          try {
-            func();
-          } catch (e) {
-            if (e instanceof ExitStatus) {
-              return;
-            } else {
-              if (e && typeof e === 'object' && e.stack) Module.printErr('exception thrown: ' + [e, e.stack]);
-              throw e;
-            }
-          }
-          if (Module['postMainLoop']) Module['postMainLoop']();
-        }},isFullscreen:false,pointerLock:false,moduleContextCreatedCallbacks:[],workers:[],init:function () {
-        if (!Module["preloadPlugins"]) Module["preloadPlugins"] = []; // needs to exist even in workers
-  
-        if (Browser.initted) return;
-        Browser.initted = true;
-  
-        try {
-          new Blob();
-          Browser.hasBlobConstructor = true;
-        } catch(e) {
-          Browser.hasBlobConstructor = false;
-          console.log("warning: no blob constructor, cannot create blobs with mimetypes");
-        }
-        Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : (typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : (!Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null));
-        Browser.URLObject = typeof window != "undefined" ? (window.URL ? window.URL : window.webkitURL) : undefined;
-        if (!Module.noImageDecoding && typeof Browser.URLObject === 'undefined') {
-          console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");
-          Module.noImageDecoding = true;
-        }
-  
-        // Support for plugins that can process preloaded files. You can add more of these to
-        // your app by creating and appending to Module.preloadPlugins.
-        //
-        // Each plugin is asked if it can handle a file based on the file's name. If it can,
-        // it is given the file's raw data. When it is done, it calls a callback with the file's
-        // (possibly modified) data. For example, a plugin might decompress a file, or it
-        // might create some side data structure for use later (like an Image element, etc.).
-  
-        var imagePlugin = {};
-        imagePlugin['canHandle'] = function imagePlugin_canHandle(name) {
-          return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name);
-        };
-        imagePlugin['handle'] = function imagePlugin_handle(byteArray, name, onload, onerror) {
-          var b = null;
-          if (Browser.hasBlobConstructor) {
-            try {
-              b = new Blob([byteArray], { type: Browser.getMimetype(name) });
-              if (b.size !== byteArray.length) { // Safari bug #118630
-                // Safari's Blob can only take an ArrayBuffer
-                b = new Blob([(new Uint8Array(byteArray)).buffer], { type: Browser.getMimetype(name) });
-              }
-            } catch(e) {
-              Runtime.warnOnce('Blob constructor present but fails: ' + e + '; falling back to blob builder');
-            }
-          }
-          if (!b) {
-            var bb = new Browser.BlobBuilder();
-            bb.append((new Uint8Array(byteArray)).buffer); // we need to pass a buffer, and must copy the array to get the right data range
-            b = bb.getBlob();
-          }
-          var url = Browser.URLObject.createObjectURL(b);
-          assert(typeof url == 'string', 'createObjectURL must return a url as a string');
-          var img = new Image();
-          img.onload = function img_onload() {
-            assert(img.complete, 'Image ' + name + ' could not be decoded');
-            var canvas = document.createElement('canvas');
-            canvas.width = img.width;
-            canvas.height = img.height;
-            var ctx = canvas.getContext('2d');
-            ctx.drawImage(img, 0, 0);
-            Module["preloadedImages"][name] = canvas;
-            Browser.URLObject.revokeObjectURL(url);
-            if (onload) onload(byteArray);
-          };
-          img.onerror = function img_onerror(event) {
-            console.log('Image ' + url + ' could not be decoded');
-            if (onerror) onerror();
-          };
-          img.src = url;
-        };
-        Module['preloadPlugins'].push(imagePlugin);
-  
-        var audioPlugin = {};
-        audioPlugin['canHandle'] = function audioPlugin_canHandle(name) {
-          return !Module.noAudioDecoding && name.substr(-4) in { '.ogg': 1, '.wav': 1, '.mp3': 1 };
-        };
-        audioPlugin['handle'] = function audioPlugin_handle(byteArray, name, onload, onerror) {
-          var done = false;
-          function finish(audio) {
-            if (done) return;
-            done = true;
-            Module["preloadedAudios"][name] = audio;
-            if (onload) onload(byteArray);
-          }
-          function fail() {
-            if (done) return;
-            done = true;
-            Module["preloadedAudios"][name] = new Audio(); // empty shim
-            if (onerror) onerror();
-          }
-          if (Browser.hasBlobConstructor) {
-            try {
-              var b = new Blob([byteArray], { type: Browser.getMimetype(name) });
-            } catch(e) {
-              return fail();
-            }
-            var url = Browser.URLObject.createObjectURL(b); // XXX we never revoke this!
-            assert(typeof url == 'string', 'createObjectURL must return a url as a string');
-            var audio = new Audio();
-            audio.addEventListener('canplaythrough', function() { finish(audio) }, false); // use addEventListener due to chromium bug 124926
-            audio.onerror = function audio_onerror(event) {
-              if (done) return;
-              console.log('warning: browser could not fully decode audio ' + name + ', trying slower base64 approach');
-              function encode64(data) {
-                var BASE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
-                var PAD = '=';
-                var ret = '';
-                var leftchar = 0;
-                var leftbits = 0;
-                for (var i = 0; i < data.length; i++) {
-                  leftchar = (leftchar << 8) | data[i];
-                  leftbits += 8;
-                  while (leftbits >= 6) {
-                    var curr = (leftchar >> (leftbits-6)) & 0x3f;
-                    leftbits -= 6;
-                    ret += BASE[curr];
-                  }
-                }
-                if (leftbits == 2) {
-                  ret += BASE[(leftchar&3) << 4];
-                  ret += PAD + PAD;
-                } else if (leftbits == 4) {
-                  ret += BASE[(leftchar&0xf) << 2];
-                  ret += PAD;
-                }
-                return ret;
-              }
-              audio.src = 'data:audio/x-' + name.substr(-3) + ';base64,' + encode64(byteArray);
-              finish(audio); // we don't wait for confirmation this worked - but it's worth trying
-            };
-            audio.src = url;
-            // workaround for chrome bug 124926 - we do not always get oncanplaythrough or onerror
-            Browser.safeSetTimeout(function() {
-              finish(audio); // try to use it even though it is not necessarily ready to play
-            }, 10000);
-          } else {
-            return fail();
-          }
-        };
-        Module['preloadPlugins'].push(audioPlugin);
-  
-        // Canvas event setup
-  
-        function pointerLockChange() {
-          Browser.pointerLock = document['pointerLockElement'] === Module['canvas'] ||
-                                document['mozPointerLockElement'] === Module['canvas'] ||
-                                document['webkitPointerLockElement'] === Module['canvas'] ||
-                                document['msPointerLockElement'] === Module['canvas'];
-        }
-        var canvas = Module['canvas'];
-        if (canvas) {
-          // forced aspect ratio can be enabled by defining 'forcedAspectRatio' on Module
-          // Module['forcedAspectRatio'] = 4 / 3;
-          
-          canvas.requestPointerLock = canvas['requestPointerLock'] ||
-                                      canvas['mozRequestPointerLock'] ||
-                                      canvas['webkitRequestPointerLock'] ||
-                                      canvas['msRequestPointerLock'] ||
-                                      function(){};
-          canvas.exitPointerLock = document['exitPointerLock'] ||
-                                   document['mozExitPointerLock'] ||
-                                   document['webkitExitPointerLock'] ||
-                                   document['msExitPointerLock'] ||
-                                   function(){}; // no-op if function does not exist
-          canvas.exitPointerLock = canvas.exitPointerLock.bind(document);
-  
-          document.addEventListener('pointerlockchange', pointerLockChange, false);
-          document.addEventListener('mozpointerlockchange', pointerLockChange, false);
-          document.addEventListener('webkitpointerlockchange', pointerLockChange, false);
-          document.addEventListener('mspointerlockchange', pointerLockChange, false);
-  
-          if (Module['elementPointerLock']) {
-            canvas.addEventListener("click", function(ev) {
-              if (!Browser.pointerLock && Module['canvas'].requestPointerLock) {
-                Module['canvas'].requestPointerLock();
-                ev.preventDefault();
-              }
-            }, false);
-          }
-        }
-      },createContext:function (canvas, useWebGL, setInModule, webGLContextAttributes) {
-        if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx; // no need to recreate GL context if it's already been created for this canvas.
-  
-        var ctx;
-        var contextHandle;
-        if (useWebGL) {
-          // For GLES2/desktop GL compatibility, adjust a few defaults to be different to WebGL defaults, so that they align better with the desktop defaults.
-          var contextAttributes = {
-            antialias: false,
-            alpha: false
-          };
-  
-          if (webGLContextAttributes) {
-            for (var attribute in webGLContextAttributes) {
-              contextAttributes[attribute] = webGLContextAttributes[attribute];
-            }
-          }
-  
-          contextHandle = GL.createContext(canvas, contextAttributes);
-          if (contextHandle) {
-            ctx = GL.getContext(contextHandle).GLctx;
-          }
-        } else {
-          ctx = canvas.getContext('2d');
-        }
-  
-        if (!ctx) return null;
-  
-        if (setInModule) {
-          if (!useWebGL) assert(typeof GLctx === 'undefined', 'cannot set in module if GLctx is used, but we are a non-GL context that would replace it');
-  
-          Module.ctx = ctx;
-          if (useWebGL) GL.makeContextCurrent(contextHandle);
-          Module.useWebGL = useWebGL;
-          Browser.moduleContextCreatedCallbacks.forEach(function(callback) { callback() });
-          Browser.init();
-        }
-        return ctx;
-      },destroyContext:function (canvas, useWebGL, setInModule) {},fullscreenHandlersInstalled:false,lockPointer:undefined,resizeCanvas:undefined,requestFullscreen:function (lockPointer, resizeCanvas, vrDevice) {
-        Browser.lockPointer = lockPointer;
-        Browser.resizeCanvas = resizeCanvas;
-        Browser.vrDevice = vrDevice;
-        if (typeof Browser.lockPointer === 'undefined') Browser.lockPointer = true;
-        if (typeof Browser.resizeCanvas === 'undefined') Browser.resizeCanvas = false;
-        if (typeof Browser.vrDevice === 'undefined') Browser.vrDevice = null;
-  
-        var canvas = Module['canvas'];
-        function fullscreenChange() {
-          Browser.isFullscreen = false;
-          var canvasContainer = canvas.parentNode;
-          if ((document['fullscreenElement'] || document['mozFullScreenElement'] ||
-               document['msFullscreenElement'] || document['webkitFullscreenElement'] ||
-               document['webkitCurrentFullScreenElement']) === canvasContainer) {
-            canvas.exitFullscreen = document['exitFullscreen'] ||
-                                    document['cancelFullScreen'] ||
-                                    document['mozCancelFullScreen'] ||
-                                    document['msExitFullscreen'] ||
-                                    document['webkitCancelFullScreen'] ||
-                                    function() {};
-            canvas.exitFullscreen = canvas.exitFullscreen.bind(document);
-            if (Browser.lockPointer) canvas.requestPointerLock();
-            Browser.isFullscreen = true;
-            if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize();
-          } else {
-            
-            // remove the full screen specific parent of the canvas again to restore the HTML structure from before going full screen
-            canvasContainer.parentNode.insertBefore(canvas, canvasContainer);
-            canvasContainer.parentNode.removeChild(canvasContainer);
-            
-            if (Browser.resizeCanvas) Browser.setWindowedCanvasSize();
-          }
-          if (Module['onFullScreen']) Module['onFullScreen'](Browser.isFullscreen);
-          if (Module['onFullscreen']) Module['onFullscreen'](Browser.isFullscreen);
-          Browser.updateCanvasDimensions(canvas);
-        }
-  
-        if (!Browser.fullscreenHandlersInstalled) {
-          Browser.fullscreenHandlersInstalled = true;
-          document.addEventListener('fullscreenchange', fullscreenChange, false);
-          document.addEventListener('mozfullscreenchange', fullscreenChange, false);
-          document.addEventListener('webkitfullscreenchange', fullscreenChange, false);
-          document.addEventListener('MSFullscreenChange', fullscreenChange, false);
-        }
-  
-        // create a new parent to ensure the canvas has no siblings. this allows browsers to optimize full screen performance when its parent is the full screen root
-        var canvasContainer = document.createElement("div");
-        canvas.parentNode.insertBefore(canvasContainer, canvas);
-        canvasContainer.appendChild(canvas);
-  
-        // use parent of canvas as full screen root to allow aspect ratio correction (Firefox stretches the root to screen size)
-        canvasContainer.requestFullscreen = canvasContainer['requestFullscreen'] ||
-                                            canvasContainer['mozRequestFullScreen'] ||
-                                            canvasContainer['msRequestFullscreen'] ||
-                                           (canvasContainer['webkitRequestFullscreen'] ? function() { canvasContainer['webkitRequestFullscreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null) ||
-                                           (canvasContainer['webkitRequestFullScreen'] ? function() { canvasContainer['webkitRequestFullScreen'](Element['ALLOW_KEYBOARD_INPUT']) } : null);
-  
-        if (vrDevice) {
-          canvasContainer.requestFullscreen({ vrDisplay: vrDevice });
-        } else {
-          canvasContainer.requestFullscreen();
-        }
-      },requestFullScreen:function (lockPointer, resizeCanvas, vrDevice) {
-          Module.printErr('Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.');
-          Browser.requestFullScreen = function(lockPointer, resizeCanvas, vrDevice) {
-            return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
-          }
-          return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice);
-      },nextRAF:0,fakeRequestAnimationFrame:function (func) {
-        // try to keep 60fps between calls to here
-        var now = Date.now();
-        if (Browser.nextRAF === 0) {
-          Browser.nextRAF = now + 1000/60;
-        } else {
-          while (now + 2 >= Browser.nextRAF) { // fudge a little, to avoid timer jitter causing us to do lots of delay:0
-            Browser.nextRAF += 1000/60;
-          }
-        }
-        var delay = Math.max(Browser.nextRAF - now, 0);
-        setTimeout(func, delay);
-      },requestAnimationFrame:function requestAnimationFrame(func) {
-        if (typeof window === 'undefined') { // Provide fallback to setTimeout if window is undefined (e.g. in Node.js)
-          Browser.fakeRequestAnimationFrame(func);
-        } else {
-          if (!window.requestAnimationFrame) {
-            window.requestAnimationFrame = window['requestAnimationFrame'] ||
-                                           window['mozRequestAnimationFrame'] ||
-                                           window['webkitRequestAnimationFrame'] ||
-                                           window['msRequestAnimationFrame'] ||
-                                           window['oRequestAnimationFrame'] ||
-                                           Browser.fakeRequestAnimationFrame;
-          }
-          window.requestAnimationFrame(func);
-        }
-      },safeCallback:function (func) {
-        return function() {
-          if (!ABORT) return func.apply(null, arguments);
-        };
-      },allowAsyncCallbacks:true,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function () {
-        Browser.allowAsyncCallbacks = false;
-      },resumeAsyncCallbacks:function () { // marks future callbacks as ok to execute, and synchronously runs any remaining ones right now
-        Browser.allowAsyncCallbacks = true;
-        if (Browser.queuedAsyncCallbacks.length > 0) {
-          var callbacks = Browser.queuedAsyncCallbacks;
-          Browser.queuedAsyncCallbacks = [];
-          callbacks.forEach(function(func) {
-            func();
-          });
-        }
-      },safeRequestAnimationFrame:function (func) {
-        return Browser.requestAnimationFrame(function() {
-          if (ABORT) return;
-          if (Browser.allowAsyncCallbacks) {
-            func();
-          } else {
-            Browser.queuedAsyncCallbacks.push(func);
-          }
-        });
-      },safeSetTimeout:function (func, timeout) {
-        Module['noExitRuntime'] = true;
-        return setTimeout(function() {
-          if (ABORT) return;
-          if (Browser.allowAsyncCallbacks) {
-            func();
-          } else {
-            Browser.queuedAsyncCallbacks.push(func);
-          }
-        }, timeout);
-      },safeSetInterval:function (func, timeout) {
-        Module['noExitRuntime'] = true;
-        return setInterval(function() {
-          if (ABORT) return;
-          if (Browser.allowAsyncCallbacks) {
-            func();
-          } // drop it on the floor otherwise, next interval will kick in
-        }, timeout);
-      },getMimetype:function (name) {
-        return {
-          'jpg': 'image/jpeg',
-          'jpeg': 'image/jpeg',
-          'png': 'image/png',
-          'bmp': 'image/bmp',
-          'ogg': 'audio/ogg',
-          'wav': 'audio/wav',
-          'mp3': 'audio/mpeg'
-        }[name.substr(name.lastIndexOf('.')+1)];
-      },getUserMedia:function (func) {
-        if(!window.getUserMedia) {
-          window.getUserMedia = navigator['getUserMedia'] ||
-                                navigator['mozGetUserMedia'];
-        }
-        window.getUserMedia(func);
-      },getMovementX:function (event) {
-        return event['movementX'] ||
-               event['mozMovementX'] ||
-               event['webkitMovementX'] ||
-               0;
-      },getMovementY:function (event) {
-        return event['movementY'] ||
-               event['mozMovementY'] ||
-               event['webkitMovementY'] ||
-               0;
-      },getMouseWheelDelta:function (event) {
-        var delta = 0;
-        switch (event.type) {
-          case 'DOMMouseScroll': 
-            delta = event.detail;
-            break;
-          case 'mousewheel': 
-            delta = event.wheelDelta;
-            break;
-          case 'wheel': 
-            delta = event['deltaY'];
-            break;
-          default:
-            throw 'unrecognized mouse wheel event: ' + event.type;
-        }
-        return delta;
-      },mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function (event) { // event should be mousemove, mousedown or mouseup
-        if (Browser.pointerLock) {
-          // When the pointer is locked, calculate the coordinates
-          // based on the movement of the mouse.
-          // Workaround for Firefox bug 764498
-          if (event.type != 'mousemove' &&
-              ('mozMovementX' in event)) {
-            Browser.mouseMovementX = Browser.mouseMovementY = 0;
-          } else {
-            Browser.mouseMovementX = Browser.getMovementX(event);
-            Browser.mouseMovementY = Browser.getMovementY(event);
-          }
-          
-          // check if SDL is available
-          if (typeof SDL != "undefined") {
-          	Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;
-          	Browser.mouseY = SDL.mouseY + Browser.mouseMovementY;
-          } else {
-          	// just add the mouse delta to the current absolut mouse position
-          	// FIXME: ideally this should be clamped against the canvas size and zero
-          	Browser.mouseX += Browser.mouseMovementX;
-          	Browser.mouseY += Browser.mouseMovementY;
-          }        
-        } else {
-          // Otherwise, calculate the movement based on the changes
-          // in the coordinates.
-          var rect = Module["canvas"].getBoundingClientRect();
-          var cw = Module["canvas"].width;
-          var ch = Module["canvas"].height;
-  
-          // Neither .scrollX or .pageXOffset are defined in a spec, but
-          // we prefer .scrollX because it is currently in a spec draft.
-          // (see: http://www.w3.org/TR/2013/WD-cssom-view-20131217/)
-          var scrollX = ((typeof window.scrollX !== 'undefined') ? window.scrollX : window.pageXOffset);
-          var scrollY = ((typeof window.scrollY !== 'undefined') ? window.scrollY : window.pageYOffset);
-          // If this assert lands, it's likely because the browser doesn't support scrollX or pageXOffset
-          // and we have no viable fallback.
-          assert((typeof scrollX !== 'undefined') && (typeof scrollY !== 'undefined'), 'Unable to retrieve scroll position, mouse positions likely broken.');
-  
-          if (event.type === 'touchstart' || event.type === 'touchend' || event.type === 'touchmove') {
-            var touch = event.touch;
-            if (touch === undefined) {
-              return; // the "touch" property is only defined in SDL
-  
-            }
-            var adjustedX = touch.pageX - (scrollX + rect.left);
-            var adjustedY = touch.pageY - (scrollY + rect.top);
-  
-            adjustedX = adjustedX * (cw / rect.width);
-            adjustedY = adjustedY * (ch / rect.height);
-  
-            var coords = { x: adjustedX, y: adjustedY };
-            
-            if (event.type === 'touchstart') {
-              Browser.lastTouches[touch.identifier] = coords;
-              Browser.touches[touch.identifier] = coords;
-            } else if (event.type === 'touchend' || event.type === 'touchmove') {
-              var last = Browser.touches[touch.identifier];
-              if (!last) last = coords;
-              Browser.lastTouches[touch.identifier] = last;
-              Browser.touches[touch.identifier] = coords;
-            } 
-            return;
-          }
-  
-          var x = event.pageX - (scrollX + rect.left);
-          var y = event.pageY - (scrollY + rect.top);
-  
-          // the canvas might be CSS-scaled compared to its backbuffer;
-          // SDL-using content will want mouse coordinates in terms
-          // of backbuffer units.
-          x = x * (cw / rect.width);
-          y = y * (ch / rect.height);
-  
-          Browser.mouseMovementX = x - Browser.mouseX;
-          Browser.mouseMovementY = y - Browser.mouseY;
-          Browser.mouseX = x;
-          Browser.mouseY = y;
-        }
-      },asyncLoad:function (url, onload, onerror, noRunDep) {
-        var dep = !noRunDep ? getUniqueRunDependency('al ' + url) : '';
-        Module['readAsync'](url, function(arrayBuffer) {
-          assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');
-          onload(new Uint8Array(arrayBuffer));
-          if (dep) removeRunDependency(dep);
-        }, function(event) {
-          if (onerror) {
-            onerror();
-          } else {
-            throw 'Loading data file "' + url + '" failed.';
-          }
-        });
-        if (dep) addRunDependency(dep);
-      },resizeListeners:[],updateResizeListeners:function () {
-        var canvas = Module['canvas'];
-        Browser.resizeListeners.forEach(function(listener) {
-          listener(canvas.width, canvas.height);
-        });
-      },setCanvasSize:function (width, height, noUpdates) {
-        var canvas = Module['canvas'];
-        Browser.updateCanvasDimensions(canvas, width, height);
-        if (!noUpdates) Browser.updateResizeListeners();
-      },windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize:function () {
-        // check if SDL is available   
-        if (typeof SDL != "undefined") {
-        	var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)];
-        	flags = flags | 0x00800000; // set SDL_FULLSCREEN flag
-        	HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags
-        }
-        Browser.updateResizeListeners();
-      },setWindowedCanvasSize:function () {
-        // check if SDL is available       
-        if (typeof SDL != "undefined") {
-        	var flags = HEAPU32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)];
-        	flags = flags & ~0x00800000; // clear SDL_FULLSCREEN flag
-        	HEAP32[((SDL.screen+Runtime.QUANTUM_SIZE*0)>>2)]=flags
-        }
-        Browser.updateResizeListeners();
-      },updateCanvasDimensions:function (canvas, wNative, hNative) {
-        if (wNative && hNative) {
-          canvas.widthNative = wNative;
-          canvas.heightNative = hNative;
-        } else {
-          wNative = canvas.widthNative;
-          hNative = canvas.heightNative;
-        }
-        var w = wNative;
-        var h = hNative;
-        if (Module['forcedAspectRatio'] && Module['forcedAspectRatio'] > 0) {
-          if (w/h < Module['forcedAspectRatio']) {
-            w = Math.round(h * Module['forcedAspectRatio']);
-          } else {
-            h = Math.round(w / Module['forcedAspectRatio']);
-          }
-        }
-        if (((document['fullscreenElement'] || document['mozFullScreenElement'] ||
-             document['msFullscreenElement'] || document['webkitFullscreenElement'] ||
-             document['webkitCurrentFullScreenElement']) === canvas.parentNode) && (typeof screen != 'undefined')) {
-           var factor = Math.min(screen.width / w, screen.height / h);
-           w = Math.round(w * factor);
-           h = Math.round(h * factor);
-        }
-        if (Browser.resizeCanvas) {
-          if (canvas.width  != w) canvas.width  = w;
-          if (canvas.height != h) canvas.height = h;
-          if (typeof canvas.style != 'undefined') {
-            canvas.style.removeProperty( "width");
-            canvas.style.removeProperty("height");
-          }
-        } else {
-          if (canvas.width  != wNative) canvas.width  = wNative;
-          if (canvas.height != hNative) canvas.height = hNative;
-          if (typeof canvas.style != 'undefined') {
-            if (w != wNative || h != hNative) {
-              canvas.style.setProperty( "width", w + "px", "important");
-              canvas.style.setProperty("height", h + "px", "important");
-            } else {
-              canvas.style.removeProperty( "width");
-              canvas.style.removeProperty("height");
-            }
-          }
-        }
-      },wgetRequests:{},nextWgetRequestHandle:0,getNextWgetRequestHandle:function () {
-        var handle = Browser.nextWgetRequestHandle;
-        Browser.nextWgetRequestHandle++;
-        return handle;
-      }};
-
-  function ___syscall140(which, varargs) {SYSCALLS.varargs = varargs;
-  try {
-   // llseek
-      var stream = SYSCALLS.getStreamFromFD(), offset_high = SYSCALLS.get(), offset_low = SYSCALLS.get(), result = SYSCALLS.get(), whence = SYSCALLS.get();
-      var offset = offset_low;
-      assert(offset_high === 0);
-      FS.llseek(stream, offset, whence);
-      HEAP32[((result)>>2)]=stream.position;
-      if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
-      return 0;
-    } catch (e) {
-    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
-    return -e.errno;
-  }
-  }
-
-  function ___syscall146(which, varargs) {SYSCALLS.varargs = varargs;
-  try {
-   // writev
-      var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
-      return SYSCALLS.doWritev(stream, iov, iovcnt);
-    } catch (e) {
-    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
-    return -e.errno;
-  }
-  }
-
-  function ___syscall54(which, varargs) {SYSCALLS.varargs = varargs;
-  try {
-   // ioctl
-      var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get();
-      switch (op) {
-        case 21505: {
-          if (!stream.tty) return -ERRNO_CODES.ENOTTY;
-          return 0;
-        }
-        case 21506: {
-          if (!stream.tty) return -ERRNO_CODES.ENOTTY;
-          return 0; // no-op, not actually adjusting terminal settings
-        }
-        case 21519: {
-          if (!stream.tty) return -ERRNO_CODES.ENOTTY;
-          var argp = SYSCALLS.get();
-          HEAP32[((argp)>>2)]=0;
-          return 0;
-        }
-        case 21520: {
-          if (!stream.tty) return -ERRNO_CODES.ENOTTY;
-          return -ERRNO_CODES.EINVAL; // not supported
-        }
-        case 21531: {
-          var argp = SYSCALLS.get();
-          return FS.ioctl(stream, op, argp);
-        }
-        case 21523: {
-          // TODO: in theory we should write to the winsize struct that gets
-          // passed in, but for now musl doesn't read anything on it
-          if (!stream.tty) return -ERRNO_CODES.ENOTTY;
-          return 0;
-        }
-        default: abort('bad ioctl syscall ' + op);
-      }
-    } catch (e) {
-    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
-    return -e.errno;
-  }
-  }
-
-  function ___syscall221(which, varargs) {SYSCALLS.varargs = varargs;
-  try {
-   // fcntl64
-      var stream = SYSCALLS.getStreamFromFD(), cmd = SYSCALLS.get();
+  
+      var stream = SYSCALLS.getStreamFromFD(fd);
       switch (cmd) {
         case 0: {
           var arg = SYSCALLS.get();
           if (arg < 0) {
-            return -ERRNO_CODES.EINVAL;
+            return -28;
           }
           var newStream;
@@ -5668,5 +5125,6 @@
         }
         case 12:
-        case 12: {
+        /* case 12: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ {
+          
           var arg = SYSCALLS.get();
           var offset = 0;
@@ -5677,16 +5135,18 @@
         case 13:
         case 14:
-        case 13:
-        case 14:
+        /* case 13: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */
+        /* case 14: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */
+          
+          
           return 0; // Pretend that the locking is successful.
         case 16:
         case 8:
-          return -ERRNO_CODES.EINVAL; // These are for sockets. We don't have them fully implemented yet.
+          return -28; // These are for sockets. We don't have them fully implemented yet.
         case 9:
           // musl trusts getown return values, due to a bug where they must be, as they overlap with errors. just return -1 here, so fnctl() returns that, and we set errno ourselves.
-          ___setErrNo(ERRNO_CODES.EINVAL);
+          setErrNo(28);
           return -1;
         default: {
-          return -ERRNO_CODES.EINVAL;
+          return -28;
         }
       }
@@ -5697,9 +5157,52 @@
   }
 
-  function ___syscall145(which, varargs) {SYSCALLS.varargs = varargs;
+  function ___sys_ioctl(fd, op, varargs) {SYSCALLS.varargs = varargs;
   try {
-   // readv
-      var stream = SYSCALLS.getStreamFromFD(), iov = SYSCALLS.get(), iovcnt = SYSCALLS.get();
-      return SYSCALLS.doReadv(stream, iov, iovcnt);
+  
+      var stream = SYSCALLS.getStreamFromFD(fd);
+      switch (op) {
+        case 21509:
+        case 21505: {
+          if (!stream.tty) return -59;
+          return 0;
+        }
+        case 21510:
+        case 21511:
+        case 21512:
+        case 21506:
+        case 21507:
+        case 21508: {
+          if (!stream.tty) return -59;
+          return 0; // no-op, not actually adjusting terminal settings
+        }
+        case 21519: {
+          if (!stream.tty) return -59;
+          var argp = SYSCALLS.get();
+          HEAP32[((argp)>>2)]=0;
+          return 0;
+        }
+        case 21520: {
+          if (!stream.tty) return -59;
+          return -28; // not supported
+        }
+        case 21531: {
+          var argp = SYSCALLS.get();
+          return FS.ioctl(stream, op, argp);
+        }
+        case 21523: {
+          // TODO: in theory we should write to the winsize struct that gets
+          // passed in, but for now musl doesn't read anything on it
+          if (!stream.tty) return -59;
+          return 0;
+        }
+        case 21524: {
+          // TODO: technically, this ioctl call should change the window size.
+          // but, since emscripten doesn't have any concept of a terminal window
+          // yet, we'll just silently throw it away as we do TIOCGWINSZ
+          if (!stream.tty) return -59;
+          return 0;
+        }
+        default: abort('bad ioctl syscall ' + op);
+      }
     } catch (e) {
     if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
@@ -5707,9 +5210,131 @@
   }
   }
-FS.staticInit();__ATINIT__.unshift(function() { if (!Module["noFSInit"] && !FS.init.initialized) FS.init() });__ATMAIN__.push(function() { FS.ignorePermissions = false });__ATEXIT__.push(function() { FS.quit() });Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;;
-__ATINIT__.unshift(function() { TTY.init() });__ATEXIT__.push(function() { TTY.shutdown() });;
-if (ENVIRONMENT_IS_NODE) { var fs = require("fs"); var NODEJS_PATH = require("path"); NODEFS.staticInit(); };
-Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead."); Module["requestFullScreen"] = Module["requestFullscreen"]; Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice) };
-  Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice) };
+
+  function ___sys_open(path, flags, varargs) {SYSCALLS.varargs = varargs;
+  try {
+  
+      var pathname = SYSCALLS.getStr(path);
+      var mode = SYSCALLS.get();
+      var stream = FS.open(pathname, flags, mode);
+      return stream.fd;
+    } catch (e) {
+    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+    return -e.errno;
+  }
+  }
+
+  function _abort() {
+      abort();
+    }
+
+  function _emscripten_get_sbrk_ptr() {
+      return 79712;
+    }
+
+  
+  function _longjmp(env, value) {
+      _setThrew(env, value || 1);
+      throw 'longjmp';
+    }function _emscripten_longjmp(env, value) {
+      _longjmp(env, value);
+    }
+
+  function _emscripten_memcpy_big(dest, src, num) {
+      HEAPU8.copyWithin(dest, src, src + num);
+    }
+
+  
+  function _emscripten_get_heap_size() {
+      return HEAPU8.length;
+    }
+  
+  function abortOnCannotGrowMemory(requestedSize) {
+      abort('Cannot enlarge memory arrays to size ' + requestedSize + ' bytes (OOM). Either (1) compile with  -s INITIAL_MEMORY=X  with X higher than the current value ' + HEAP8.length + ', (2) compile with  -s ALLOW_MEMORY_GROWTH=1  which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with  -s ABORTING_MALLOC=0 ');
+    }function _emscripten_resize_heap(requestedSize) {
+      requestedSize = requestedSize >>> 0;
+      abortOnCannotGrowMemory(requestedSize);
+    }
+
+  function _exit(status) {
+      // void _exit(int status);
+      // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html
+      exit(status);
+    }
+
+  function _fd_close(fd) {try {
+  
+      var stream = SYSCALLS.getStreamFromFD(fd);
+      FS.close(stream);
+      return 0;
+    } catch (e) {
+    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+    return e.errno;
+  }
+  }
+
+  function _fd_read(fd, iov, iovcnt, pnum) {try {
+  
+      var stream = SYSCALLS.getStreamFromFD(fd);
+      var num = SYSCALLS.doReadv(stream, iov, iovcnt);
+      HEAP32[((pnum)>>2)]=num
+      return 0;
+    } catch (e) {
+    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+    return e.errno;
+  }
+  }
+
+  function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {try {
+  
+      
+      var stream = SYSCALLS.getStreamFromFD(fd);
+      var HIGH_OFFSET = 0x100000000; // 2^32
+      // use an unsigned operator on low and shift high by 32-bits
+      var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);
+  
+      var DOUBLE_LIMIT = 0x20000000000000; // 2^53
+      // we also check for equality since DOUBLE_LIMIT + 1 == DOUBLE_LIMIT
+      if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) {
+        return -61;
+      }
+  
+      FS.llseek(stream, offset, whence);
+      (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math_abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? ((Math_min((+(Math_floor((tempDouble)/4294967296.0))), 4294967295.0))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)],HEAP32[((newOffset)>>2)]=tempI64[0],HEAP32[(((newOffset)+(4))>>2)]=tempI64[1]);
+      if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state
+      return 0;
+    } catch (e) {
+    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+    return e.errno;
+  }
+  }
+
+  function _fd_write(fd, iov, iovcnt, pnum) {try {
+  
+      var stream = SYSCALLS.getStreamFromFD(fd);
+      var num = SYSCALLS.doWritev(stream, iov, iovcnt);
+      HEAP32[((pnum)>>2)]=num
+      return 0;
+    } catch (e) {
+    if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e);
+    return e.errno;
+  }
+  }
+
+  function _getTempRet0() {
+      return (getTempRet0() | 0);
+    }
+
+  
+  function _round(d) {
+      d = +d;
+      return d >= +0 ? +Math_floor(d + +0.5) : +Math_ceil(d - +0.5);
+    }
+
+  function _setTempRet0($i) {
+      setTempRet0(($i) | 0);
+    }
+
+Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas) { Browser.requestFullscreen(lockPointer, resizeCanvas) };
+  Module["requestFullScreen"] = function Module_requestFullScreen() { Browser.requestFullScreen() };
   Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { Browser.requestAnimationFrame(func) };
   Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { Browser.setCanvasSize(width, height, noUpdates) };
@@ -5718,105502 +5343,290 @@
   Module["getUserMedia"] = function Module_getUserMedia() { Browser.getUserMedia() }
   Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes) };
-if (ENVIRONMENT_IS_NODE) {
-    _emscripten_get_now = function _emscripten_get_now_actual() {
-      var t = process['hrtime']();
-      return t[0] * 1e3 + t[1] / 1e6;
-    };
-  } else if (typeof dateNow !== 'undefined') {
-    _emscripten_get_now = dateNow;
-  } else if (typeof self === 'object' && self['performance'] && typeof self['performance']['now'] === 'function') {
-    _emscripten_get_now = function() { return self['performance']['now'](); };
-  } else if (typeof performance === 'object' && typeof performance['now'] === 'function') {
-    _emscripten_get_now = function() { return performance['now'](); };
-  } else {
-    _emscripten_get_now = Date.now;
+var FSNode = /** @constructor */ function(parent, name, mode, rdev) {
+    if (!parent) {
+      parent = this;  // root node sets parent to itself
+    }
+    this.parent = parent;
+    this.mount = parent.mount;
+    this.mounted = null;
+    this.id = FS.nextInode++;
+    this.name = name;
+    this.mode = mode;
+    this.node_ops = {};
+    this.stream_ops = {};
+    this.rdev = rdev;
   };
-DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC);
-
-STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);
-
-STACK_MAX = STACK_BASE + TOTAL_STACK;
-
-DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX);
-
-HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE;
-
-staticSealed = true; // seal the static portion of memory
-
-assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack");
-
-
-
-function nullFunc_iiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
-
-function nullFunc_viiiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
-
-function nullFunc_viiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
-
-function nullFunc_vi(x) { Module["printErr"]("Invalid function pointer called with signature 'vi'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
-
-function nullFunc_vii(x) { Module["printErr"]("Invalid function pointer called with signature 'vii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
-
-function nullFunc_ii(x) { Module["printErr"]("Invalid function pointer called with signature 'ii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
-
-function nullFunc_viii(x) { Module["printErr"]("Invalid function pointer called with signature 'viii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
-
-function nullFunc_iiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'iiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
-
-function nullFunc_viiiiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiiiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
-
-function nullFunc_iii(x) { Module["printErr"]("Invalid function pointer called with signature 'iii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
-
-function nullFunc_viiii(x) { Module["printErr"]("Invalid function pointer called with signature 'viiii'. Perhaps this is an invalid value (e.g. caused by calling a virtual method on a NULL pointer)? Or calling a function with an incorrect type, which will fail? (it is worth building your source files with -Werror (warnings are errors), as warnings can indicate undefined behavior which can cause this)");  Module["printErr"]("Build with ASSERTIONS=2 for more info.");abort(x) }
+  var readMode = 292/*292*/ | 73/*73*/;
+  var writeMode = 146/*146*/;
+  Object.defineProperties(FSNode.prototype, {
+   read: {
+    get: /** @this{FSNode} */function() {
+     return (this.mode & readMode) === readMode;
+    },
+    set: /** @this{FSNode} */function(val) {
+     val ? this.mode |= readMode : this.mode &= ~readMode;
+    }
+   },
+   write: {
+    get: /** @this{FSNode} */function() {
+     return (this.mode & writeMode) === writeMode;
+    },
+    set: /** @this{FSNode} */function(val) {
+     val ? this.mode |= writeMode : this.mode &= ~writeMode;
+    }
+   },
+   isFolder: {
+    get: /** @this{FSNode} */function() {
+     return FS.isDir(this.mode);
+    }
+   },
+   isDevice: {
+    get: /** @this{FSNode} */function() {
+     return FS.isChrdev(this.mode);
+    }
+   }
+  });
+  FS.FSNode = FSNode;
+  FS.staticInit();Module["FS_createFolder"] = FS.createFolder;Module["FS_createPath"] = FS.createPath;Module["FS_createDataFile"] = FS.createDataFile;Module["FS_createPreloadedFile"] = FS.createPreloadedFile;Module["FS_createLazyFile"] = FS.createLazyFile;Module["FS_createLink"] = FS.createLink;Module["FS_createDevice"] = FS.createDevice;Module["FS_unlink"] = FS.unlink;;
+var ASSERTIONS = true;
+
+
+
+/** @type {function(string, boolean=, number=)} */
+function intArrayFromString(stringy, dontAddNull, length) {
+  var len = length > 0 ? length : lengthBytesUTF8(stringy)+1;
+  var u8array = new Array(len);
+  var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);
+  if (dontAddNull) u8array.length = numBytesWritten;
+  return u8array;
+}
+
+function intArrayToString(array) {
+  var ret = [];
+  for (var i = 0; i < array.length; i++) {
+    var chr = array[i];
+    if (chr > 0xFF) {
+      if (ASSERTIONS) {
+        assert(false, 'Character code ' + chr + ' (' + String.fromCharCode(chr) + ')  at offset ' + i + ' not in 0x00-0xFF.');
+      }
+      chr &= 0xFF;
+    }
+    ret.push(String.fromCharCode(chr));
+  }
+  return ret.join('');
+}
+
+
+// ASM_LIBRARY EXTERN PRIMITIVES: Math_floor,Math_ceil
+
+var asmGlobalArg = {};
+var asmLibraryArg = { "__handle_stack_overflow": ___handle_stack_overflow, "__sys_fcntl64": ___sys_fcntl64, "__sys_ioctl": ___sys_ioctl, "__sys_open": ___sys_open, "abort": _abort, "emscripten_get_sbrk_ptr": _emscripten_get_sbrk_ptr, "emscripten_longjmp": _emscripten_longjmp, "emscripten_memcpy_big": _emscripten_memcpy_big, "emscripten_resize_heap": _emscripten_resize_heap, "exit": _exit, "fd_close": _fd_close, "fd_read": _fd_read, "fd_seek": _fd_seek, "fd_write": _fd_write, "getTempRet0": _getTempRet0, "invoke_ii": invoke_ii, "invoke_iii": invoke_iii, "invoke_iiii": invoke_iiii, "invoke_iiiii": invoke_iiiii, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_viii": invoke_viii, "invoke_viiii": invoke_viiii, "invoke_viiiii": invoke_viiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_viiiiiii": invoke_viiiiiii, "memory": wasmMemory, "round": _round, "setTempRet0": _setTempRet0, "table": wasmTable };
+var asm = createWasm();
+/** @type {function(...*):?} */
+var ___wasm_call_ctors = Module["___wasm_call_ctors"] = createExportWrapper("__wasm_call_ctors");
+
+/** @type {function(...*):?} */
+var _main = Module["_main"] = createExportWrapper("main");
+
+/** @type {function(...*):?} */
+var ___errno_location = Module["___errno_location"] = createExportWrapper("__errno_location");
+
+/** @type {function(...*):?} */
+var _malloc = Module["_malloc"] = createExportWrapper("malloc");
+
+/** @type {function(...*):?} */
+var _testSetjmp = Module["_testSetjmp"] = createExportWrapper("testSetjmp");
+
+/** @type {function(...*):?} */
+var _saveSetjmp = Module["_saveSetjmp"] = createExportWrapper("saveSetjmp");
+
+/** @type {function(...*):?} */
+var _free = Module["_free"] = createExportWrapper("free");
+
+/** @type {function(...*):?} */
+var _realloc = Module["_realloc"] = createExportWrapper("realloc");
+
+/** @type {function(...*):?} */
+var _fflush = Module["_fflush"] = createExportWrapper("fflush");
+
+/** @type {function(...*):?} */
+var _setThrew = Module["_setThrew"] = createExportWrapper("setThrew");
+
+/** @type {function(...*):?} */
+var stackSave = Module["stackSave"] = createExportWrapper("stackSave");
+
+/** @type {function(...*):?} */
+var stackRestore = Module["stackRestore"] = createExportWrapper("stackRestore");
+
+/** @type {function(...*):?} */
+var stackAlloc = Module["stackAlloc"] = createExportWrapper("stackAlloc");
+
+/** @type {function(...*):?} */
+var dynCall_vi = Module["dynCall_vi"] = createExportWrapper("dynCall_vi");
+
+/** @type {function(...*):?} */
+var dynCall_vii = Module["dynCall_vii"] = createExportWrapper("dynCall_vii");
+
+/** @type {function(...*):?} */
+var dynCall_viii = Module["dynCall_viii"] = createExportWrapper("dynCall_viii");
+
+/** @type {function(...*):?} */
+var dynCall_viiii = Module["dynCall_viiii"] = createExportWrapper("dynCall_viiii");
+
+/** @type {function(...*):?} */
+var dynCall_viiiii = Module["dynCall_viiiii"] = createExportWrapper("dynCall_viiiii");
+
+/** @type {function(...*):?} */
+var dynCall_viiiiii = Module["dynCall_viiiiii"] = createExportWrapper("dynCall_viiiiii");
+
+/** @type {function(...*):?} */
+var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = createExportWrapper("dynCall_viiiiiii");
+
+/** @type {function(...*):?} */
+var dynCall_ii = Module["dynCall_ii"] = createExportWrapper("dynCall_ii");
+
+/** @type {function(...*):?} */
+var dynCall_iii = Module["dynCall_iii"] = createExportWrapper("dynCall_iii");
+
+/** @type {function(...*):?} */
+var dynCall_iiii = Module["dynCall_iiii"] = createExportWrapper("dynCall_iiii");
+
+/** @type {function(...*):?} */
+var dynCall_iiiii = Module["dynCall_iiiii"] = createExportWrapper("dynCall_iiiii");
+
+/** @type {function(...*):?} */
+var ___set_stack_limit = Module["___set_stack_limit"] = createExportWrapper("__set_stack_limit");
+
+/** @type {function(...*):?} */
+var __growWasmMemory = Module["__growWasmMemory"] = createExportWrapper("__growWasmMemory");
+
+/** @type {function(...*):?} */
+var dynCall_jiji = Module["dynCall_jiji"] = createExportWrapper("dynCall_jiji");
+
+/** @type {function(...*):?} */
+var dynCall_iidiiii = Module["dynCall_iidiiii"] = createExportWrapper("dynCall_iidiiii");
+
+
+function invoke_vi(index,a1) {
+  var sp = stackSave();
+  try {
+    dynCall_vi(index,a1);
+  } catch(e) {
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
+  }
+}
+
+function invoke_vii(index,a1,a2) {
+  var sp = stackSave();
+  try {
+    dynCall_vii(index,a1,a2);
+  } catch(e) {
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
+  }
+}
 
 function invoke_iiii(index,a1,a2,a3) {
+  var sp = stackSave();
   try {
-    return Module["dynCall_iiii"](index,a1,a2,a3);
+    return dynCall_iiii(index,a1,a2,a3);
   } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
+  }
+}
+
+function invoke_iii(index,a1,a2) {
+  var sp = stackSave();
+  try {
+    return dynCall_iii(index,a1,a2);
+  } catch(e) {
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
+  }
+}
+
+function invoke_viiii(index,a1,a2,a3,a4) {
+  var sp = stackSave();
+  try {
+    dynCall_viiii(index,a1,a2,a3,a4);
+  } catch(e) {
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
+  }
+}
+
+function invoke_viiiii(index,a1,a2,a3,a4,a5) {
+  var sp = stackSave();
+  try {
+    dynCall_viiiii(index,a1,a2,a3,a4,a5);
+  } catch(e) {
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
+  }
+}
+
+function invoke_viii(index,a1,a2,a3) {
+  var sp = stackSave();
+  try {
+    dynCall_viii(index,a1,a2,a3);
+  } catch(e) {
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
   }
 }
 
 function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) {
+  var sp = stackSave();
   try {
-    Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7);
+    dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7);
   } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
-  }
-}
-
-function invoke_viiiii(index,a1,a2,a3,a4,a5) {
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
+  }
+}
+
+function invoke_iiiii(index,a1,a2,a3,a4) {
+  var sp = stackSave();
   try {
-    Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5);
+    return dynCall_iiiii(index,a1,a2,a3,a4);
   } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
-  }
-}
-
-function invoke_vi(index,a1) {
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
+  }
+}
+
+function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) {
+  var sp = stackSave();
   try {
-    Module["dynCall_vi"](index,a1);
+    dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6);
   } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
-  }
-}
-
-function invoke_vii(index,a1,a2) {
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
+  }
+}
+
+function invoke_ii(index,a1) {
+  var sp = stackSave();
   try {
-    Module["dynCall_vii"](index,a1,a2);
+    return dynCall_ii(index,a1);
   } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
-  }
-}
-
-function invoke_ii(index,a1) {
-  try {
-    return Module["dynCall_ii"](index,a1);
-  } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
-  }
-}
-
-function invoke_viii(index,a1,a2,a3) {
-  try {
-    Module["dynCall_viii"](index,a1,a2,a3);
-  } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
-  }
-}
-
-function invoke_iiiii(index,a1,a2,a3,a4) {
-  try {
-    return Module["dynCall_iiiii"](index,a1,a2,a3,a4);
-  } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
-  }
-}
-
-function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6) {
-  try {
-    Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6);
-  } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
-  }
-}
-
-function invoke_iii(index,a1,a2) {
-  try {
-    return Module["dynCall_iii"](index,a1,a2);
-  } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
-  }
-}
-
-function invoke_viiii(index,a1,a2,a3,a4) {
-  try {
-    Module["dynCall_viiii"](index,a1,a2,a3,a4);
-  } catch(e) {
-    if (typeof e !== 'number' && e !== 'longjmp') throw e;
-    Module["setThrew"](1, 0);
-  }
-}
-
-Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity };
-
-Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "nullFunc_iiii": nullFunc_iiii, "nullFunc_viiiiiii": nullFunc_viiiiiii, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_vi": nullFunc_vi, "nullFunc_vii": nullFunc_vii, "nullFunc_ii": nullFunc_ii, "nullFunc_viii": nullFunc_viii, "nullFunc_iiiii": nullFunc_iiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_viiii": nullFunc_viiii, "invoke_iiii": invoke_iiii, "invoke_viiiiiii": invoke_viiiiiii, "invoke_viiiii": invoke_viiiii, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viii": invoke_viii, "invoke_iiiii": invoke_iiiii, "invoke_viiiiii": invoke_viiiiii, "invoke_iii": invoke_iii, "invoke_viiii": invoke_viiii, "___syscall221": ___syscall221, "_longjmp": _longjmp, "___syscall146": ___syscall146, "_llvm_pow_f64": _llvm_pow_f64, "_emscripten_set_main_loop": _emscripten_set_main_loop, "___lock": ___lock, "___syscall6": ___syscall6, "___syscall5": ___syscall5, "_abort": _abort, "___syscall140": ___syscall140, "_emscripten_longjmp": _emscripten_longjmp, "___setErrNo": ___setErrNo, "_emscripten_memcpy_big": _emscripten_memcpy_big, "___syscall54": ___syscall54, "___unlock": ___unlock, "_exit": _exit, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "__exit": __exit, "___syscall145": ___syscall145, "_emscripten_get_now": _emscripten_get_now, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8 };
-// EMSCRIPTEN_START_ASM
-var asm = (function(global, env, buffer) {
-  'almost asm';
-  
-  
-  var HEAP8 = new global.Int8Array(buffer);
-  var HEAP16 = new global.Int16Array(buffer);
-  var HEAP32 = new global.Int32Array(buffer);
-  var HEAPU8 = new global.Uint8Array(buffer);
-  var HEAPU16 = new global.Uint16Array(buffer);
-  var HEAPU32 = new global.Uint32Array(buffer);
-  var HEAPF32 = new global.Float32Array(buffer);
-  var HEAPF64 = new global.Float64Array(buffer);
-
-
-  var DYNAMICTOP_PTR=env.DYNAMICTOP_PTR|0;
-  var tempDoublePtr=env.tempDoublePtr|0;
-  var ABORT=env.ABORT|0;
-  var STACKTOP=env.STACKTOP|0;
-  var STACK_MAX=env.STACK_MAX|0;
-  var cttz_i8=env.cttz_i8|0;
-
-  var __THREW__ = 0;
-  var threwValue = 0;
-  var setjmpId = 0;
-  var undef = 0;
-  var nan = global.NaN, inf = global.Infinity;
-  var tempInt = 0, tempBigInt = 0, tempBigIntP = 0, tempBigIntS = 0, tempBigIntR = 0.0, tempBigIntI = 0, tempBigIntD = 0, tempValue = 0, tempDouble = 0.0;
-  var tempRet0 = 0;
-
-  var Math_floor=global.Math.floor;
-  var Math_abs=global.Math.abs;
-  var Math_sqrt=global.Math.sqrt;
-  var Math_pow=global.Math.pow;
-  var Math_cos=global.Math.cos;
-  var Math_sin=global.Math.sin;
-  var Math_tan=global.Math.tan;
-  var Math_acos=global.Math.acos;
-  var Math_asin=global.Math.asin;
-  var Math_atan=global.Math.atan;
-  var Math_atan2=global.Math.atan2;
-  var Math_exp=global.Math.exp;
-  var Math_log=global.Math.log;
-  var Math_ceil=global.Math.ceil;
-  var Math_imul=global.Math.imul;
-  var Math_min=global.Math.min;
-  var Math_max=global.Math.max;
-  var Math_clz32=global.Math.clz32;
-  var abort=env.abort;
-  var assert=env.assert;
-  var enlargeMemory=env.enlargeMemory;
-  var getTotalMemory=env.getTotalMemory;
-  var abortOnCannotGrowMemory=env.abortOnCannotGrowMemory;
-  var abortStackOverflow=env.abortStackOverflow;
-  var nullFunc_iiii=env.nullFunc_iiii;
-  var nullFunc_viiiiiii=env.nullFunc_viiiiiii;
-  var nullFunc_viiiii=env.nullFunc_viiiii;
-  var nullFunc_vi=env.nullFunc_vi;
-  var nullFunc_vii=env.nullFunc_vii;
-  var nullFunc_ii=env.nullFunc_ii;
-  var nullFunc_viii=env.nullFunc_viii;
-  var nullFunc_iiiii=env.nullFunc_iiiii;
-  var nullFunc_viiiiii=env.nullFunc_viiiiii;
-  var nullFunc_iii=env.nullFunc_iii;
-  var nullFunc_viiii=env.nullFunc_viiii;
-  var invoke_iiii=env.invoke_iiii;
-  var invoke_viiiiiii=env.invoke_viiiiiii;
-  var invoke_viiiii=env.invoke_viiiii;
-  var invoke_vi=env.invoke_vi;
-  var invoke_vii=env.invoke_vii;
-  var invoke_ii=env.invoke_ii;
-  var invoke_viii=env.invoke_viii;
-  var invoke_iiiii=env.invoke_iiiii;
-  var invoke_viiiiii=env.invoke_viiiiii;
-  var invoke_iii=env.invoke_iii;
-  var invoke_viiii=env.invoke_viiii;
-  var ___syscall221=env.___syscall221;
-  var _longjmp=env._longjmp;
-  var ___syscall146=env.___syscall146;
-  var _llvm_pow_f64=env._llvm_pow_f64;
-  var _emscripten_set_main_loop=env._emscripten_set_main_loop;
-  var ___lock=env.___lock;
-  var ___syscall6=env.___syscall6;
-  var ___syscall5=env.___syscall5;
-  var _abort=env._abort;
-  var ___syscall140=env.___syscall140;
-  var _emscripten_longjmp=env._emscripten_longjmp;
-  var ___setErrNo=env.___setErrNo;
-  var _emscripten_memcpy_big=env._emscripten_memcpy_big;
-  var ___syscall54=env.___syscall54;
-  var ___unlock=env.___unlock;
-  var _exit=env._exit;
-  var _emscripten_set_main_loop_timing=env._emscripten_set_main_loop_timing;
-  var __exit=env.__exit;
-  var ___syscall145=env.___syscall145;
-  var _emscripten_get_now=env._emscripten_get_now;
-  var tempFloat = 0.0;
-
-// EMSCRIPTEN_START_FUNCS
-
-function stackAlloc(size) {
-  size = size|0;
-  var ret = 0;
-  ret = STACKTOP;
-  STACKTOP = (STACKTOP + size)|0;
-  STACKTOP = (STACKTOP + 15)&-16;
-  if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(size|0);
-
-  return ret|0;
-}
-function stackSave() {
-  return STACKTOP|0;
-}
-function stackRestore(top) {
-  top = top|0;
-  STACKTOP = top;
-}
-function establishStackSpace(stackBase, stackMax) {
-  stackBase = stackBase|0;
-  stackMax = stackMax|0;
-  STACKTOP = stackBase;
-  STACK_MAX = stackMax;
-}
-
-function setThrew(threw, value) {
-  threw = threw|0;
-  value = value|0;
-  if ((__THREW__|0) == 0) {
-    __THREW__ = threw;
-    threwValue = value;
-  }
-}
-
-function setTempRet0(value) {
-  value = value|0;
-  tempRet0 = value;
-}
-function getTempRet0() {
-  return tempRet0|0;
-}
-
-function _main($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
- var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
- var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
- var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
- var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
- var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer12 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, $vararg_ptr11 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $vararg_buffer12 = sp + 32|0;
- $vararg_buffer8 = sp + 24|0;
- $vararg_buffer4 = sp + 16|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $8 = sp + 60|0;
- $10 = sp + 48|0;
- $11 = sp + 40|0;
- $2 = 0;
- $3 = $0;
- $4 = $1;
- $12 = (_mrb_open()|0);
- $5 = $12;
- $13 = $5;
- $14 = ($13|0)==(0|0);
- if ($14) {
-  $15 = HEAP32[637]|0;
-  (_fputs(53468,$15)|0);
-  $2 = 1;
-  $108 = $2;
-  STACKTOP = sp;return ($108|0);
- }
- $16 = $5;
- $17 = $3;
- $18 = $4;
- $19 = (_parse_args($16,$17,$18,$8)|0);
- $6 = $19;
- $20 = $6;
- $21 = ($20|0)<(0);
- if ($21) {
-  $22 = $5;
-  _cleanup($22,$8);
-  $23 = $4;
-  $24 = HEAP32[$23>>2]|0;
-  _usage($24);
-  $2 = 1;
-  $108 = $2;
-  STACKTOP = sp;return ($108|0);
- }
- $25 = $6;
- $26 = $3;
- $27 = ($25|0)==($26|0);
- if ($27) {
-  $28 = HEAP32[637]|0;
-  $29 = ((($8)) + 12|0);
-  $30 = HEAP32[$29>>2]|0;
-  HEAP32[$vararg_buffer>>2] = $30;
-  (_fprintf($28,53501,$vararg_buffer)|0);
-  $2 = 1;
-  $108 = $2;
-  STACKTOP = sp;return ($108|0);
- }
- $31 = ((($8)) + 16|0);
- $32 = HEAP32[$31>>2]|0;
- $33 = ($32|0)==(0|0);
- do {
-  if ($33) {
-   $34 = ((($8)) + 24|0);
-   $35 = HEAP8[$34>>0]|0;
-   $36 = $35 & 1;
-   $37 = ($36<<24>>24)!=(0);
-   if (!($37)) {
-    $38 = $6;
-    $39 = (($38) + 1)|0;
-    $40 = $3;
-    $41 = ($39|0)==($40|0);
-    if ($41) {
-     $42 = $5;
-     $43 = $4;
-     $44 = $6;
-     $45 = (($43) + ($44<<2)|0);
-     $46 = HEAP32[$45>>2]|0;
-     $47 = ((($8)) + 20|0);
-     $48 = HEAP32[$47>>2]|0;
-     $49 = ($48|0)!=(0|0);
-     $50 = $49 ? 53528 : 53531;
-     $51 = (_get_outfilename($42,$46,$50)|0);
-     $52 = ((($8)) + 16|0);
-     HEAP32[$52>>2] = $51;
-     break;
-    }
-    $53 = HEAP32[637]|0;
-    $54 = ((($8)) + 12|0);
-    $55 = HEAP32[$54>>2]|0;
-    HEAP32[$vararg_buffer1>>2] = $55;
-    (_fprintf($53,53536,$vararg_buffer1)|0);
-    $2 = 1;
-    $108 = $2;
-    STACKTOP = sp;return ($108|0);
-   }
-  }
- } while(0);
- $56 = $6;
- $57 = ((($8)) + 8|0);
- HEAP32[$57>>2] = $56;
- $58 = $5;
- _load_file($11,$58,$8);
- ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
- $59 = ((($10)) + 4|0);
- $60 = HEAP32[$59>>2]|0;
- $61 = ($60|0)==(0);
- if ($61) {
-  $62 = HEAP32[$10>>2]|0;
-  $63 = ($62|0)!=(0);
-  if (!($63)) {
-   $64 = $5;
-   _cleanup($64,$8);
-   $2 = 1;
-   $108 = $2;
-   STACKTOP = sp;return ($108|0);
-  }
- }
- $65 = ((($8)) + 24|0);
- $66 = HEAP8[$65>>0]|0;
- $67 = $66 & 1;
- $68 = ($67<<24>>24)!=(0);
- if ($68) {
-  $69 = ((($8)) + 12|0);
-  $70 = HEAP32[$69>>2]|0;
-  $71 = $4;
-  $72 = $6;
-  $73 = (($71) + ($72<<2)|0);
-  $74 = HEAP32[$73>>2]|0;
-  HEAP32[$vararg_buffer4>>2] = $70;
-  $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
-  HEAP32[$vararg_ptr7>>2] = $74;
-  (_printf(53599,$vararg_buffer4)|0);
- }
- $75 = ((($8)) + 24|0);
- $76 = HEAP8[$75>>0]|0;
- $77 = $76 & 1;
- $78 = ($77<<24>>24)!=(0);
- if ($78) {
-  $79 = $5;
-  _cleanup($79,$8);
-  $2 = 0;
-  $108 = $2;
-  STACKTOP = sp;return ($108|0);
- }
- $80 = ((($8)) + 16|0);
- $81 = HEAP32[$80>>2]|0;
- $82 = ($81|0)!=(0|0);
- if (!($82)) {
-  $97 = HEAP32[637]|0;
-  (_fprintf($97,53653,$vararg_buffer12)|0);
-  $2 = 1;
-  $108 = $2;
-  STACKTOP = sp;return ($108|0);
- }
- $83 = ((($8)) + 16|0);
- $84 = HEAP32[$83>>2]|0;
- $85 = (_strcmp(69660,$84)|0);
- $86 = ($85|0)==(0);
- if ($86) {
-  $87 = HEAP32[762]|0;
-  $9 = $87;
- } else {
-  $88 = ((($8)) + 16|0);
-  $89 = HEAP32[$88>>2]|0;
-  $90 = (_fopen($89,53616)|0);
-  $9 = $90;
-  $91 = ($90|0)==(0|0);
-  if ($91) {
-   $92 = HEAP32[637]|0;
-   $93 = ((($8)) + 12|0);
-   $94 = HEAP32[$93>>2]|0;
-   $95 = ((($8)) + 16|0);
-   $96 = HEAP32[$95>>2]|0;
-   HEAP32[$vararg_buffer8>>2] = $94;
-   $vararg_ptr11 = ((($vararg_buffer8)) + 4|0);
-   HEAP32[$vararg_ptr11>>2] = $96;
-   (_fprintf($92,53619,$vararg_buffer8)|0);
-   $2 = 1;
-   $108 = $2;
-   STACKTOP = sp;return ($108|0);
-  }
- }
- $98 = $5;
- $99 = $9;
- $100 = ((($8)) + 16|0);
- $101 = HEAP32[$100>>2]|0;
- $102 = HEAP32[$10>>2]|0;
- $103 = (_dump_file($98,$99,$101,$102,$8)|0);
- $7 = $103;
- $104 = $9;
- (_fclose($104)|0);
- $105 = $5;
- _cleanup($105,$8);
- $106 = $7;
- $107 = ($106|0)!=(0);
- if ($107) {
-  $2 = 1;
-  $108 = $2;
-  STACKTOP = sp;return ($108|0);
- } else {
-  $2 = 0;
-  $108 = $2;
-  STACKTOP = sp;return ($108|0);
- }
- return (0)|0;
-}
-function _parse_args($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$sink = 0, $$sink2 = 0, $$sink3 = 0, $$sink5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
- var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
- var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
- var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
- var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
- var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
- var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
- var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0;
- var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
- var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
- var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
- var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
- var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer7 = 0, $vararg_ptr13 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $vararg_buffer10 = sp + 16|0;
- $vararg_buffer7 = sp + 8|0;
- $vararg_buffer = sp;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = 0;
- $11 = $8;
- ;HEAP32[$11>>2]=HEAP32[72696>>2]|0;HEAP32[$11+4>>2]=HEAP32[72696+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[72696+8>>2]|0;HEAP32[$11+12>>2]=HEAP32[72696+12>>2]|0;HEAP32[$11+16>>2]=HEAP32[72696+16>>2]|0;HEAP32[$11+20>>2]=HEAP32[72696+20>>2]|0;HEAP32[$11+24>>2]=HEAP32[72696+24>>2]|0;
- $12 = $6;
- $13 = $8;
- HEAP32[$13>>2] = $12;
- $14 = $7;
- $15 = $8;
- $16 = ((($15)) + 4|0);
- HEAP32[$16>>2] = $14;
- $17 = $7;
- $18 = HEAP32[$17>>2]|0;
- $19 = $8;
- $20 = ((($19)) + 12|0);
- HEAP32[$20>>2] = $18;
- $10 = 1;
- L1: while(1) {
-  $21 = $10;
-  $22 = $6;
-  $23 = ($21|0)<($22|0);
-  if (!($23)) {
-   label = 37;
-   break;
-  }
-  $24 = $7;
-  $25 = $10;
-  $26 = (($24) + ($25<<2)|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = HEAP8[$27>>0]|0;
-  $29 = $28 << 24 >> 24;
-  $30 = ($29|0)==(45);
-  if (!($30)) {
-   label = 37;
-   break;
-  }
-  $31 = $7;
-  $32 = $10;
-  $33 = (($31) + ($32<<2)|0);
-  $34 = HEAP32[$33>>2]|0;
-  $35 = ((($34)) + 1|0);
-  $36 = HEAP8[$35>>0]|0;
-  $37 = $36 << 24 >> 24;
-  switch ($37|0) {
-  case 104:  {
-   label = 25;
-   break L1;
-   break;
-  }
-  case 111:  {
-   $38 = $8;
-   $39 = ((($38)) + 16|0);
-   $40 = HEAP32[$39>>2]|0;
-   $41 = ($40|0)!=(0|0);
-   if ($41) {
-    label = 6;
-    break L1;
-   }
-   $47 = $7;
-   $48 = $10;
-   $49 = (($47) + ($48<<2)|0);
-   $50 = HEAP32[$49>>2]|0;
-   $51 = ((($50)) + 2|0);
-   $52 = HEAP8[$51>>0]|0;
-   $53 = $52 << 24 >> 24;
-   $54 = ($53|0)==(0);
-   if ($54) {
-    $55 = $7;
-    $56 = $10;
-    $57 = (($56) + 1)|0;
-    $58 = (($55) + ($57<<2)|0);
-    $59 = HEAP32[$58>>2]|0;
-    $60 = ($59|0)!=(0|0);
-    if ($60) {
-     $61 = $10;
-     $62 = (($61) + 1)|0;
-     $10 = $62;
-     $63 = $5;
-     $64 = $7;
-     $65 = $10;
-     $66 = (($64) + ($65<<2)|0);
-     $67 = HEAP32[$66>>2]|0;
-     $68 = (_get_outfilename($63,$67,75764)|0);
-     $69 = $8;
-     $$sink = $68;$$sink2 = $69;
-    } else {
-     label = 10;
-    }
-   } else {
-    label = 10;
-   }
-   if ((label|0) == 10) {
-    label = 0;
-    $70 = $5;
-    $71 = $7;
-    $72 = $10;
-    $73 = (($71) + ($72<<2)|0);
-    $74 = HEAP32[$73>>2]|0;
-    $75 = ((($74)) + 2|0);
-    $76 = (_get_outfilename($70,$75,75764)|0);
-    $77 = $8;
-    $$sink = $76;$$sink2 = $77;
-   }
-   $78 = ((($$sink2)) + 16|0);
-   HEAP32[$78>>2] = $$sink;
-   break;
-  }
-  case 66:  {
-   $79 = $7;
-   $80 = $10;
-   $81 = (($79) + ($80<<2)|0);
-   $82 = HEAP32[$81>>2]|0;
-   $83 = ((($82)) + 2|0);
-   $84 = HEAP8[$83>>0]|0;
-   $85 = $84 << 24 >> 24;
-   $86 = ($85|0)==(0);
-   if ($86) {
-    $87 = $7;
-    $88 = $10;
-    $89 = (($88) + 1)|0;
-    $90 = (($87) + ($89<<2)|0);
-    $91 = HEAP32[$90>>2]|0;
-    $92 = ($91|0)!=(0|0);
-    if ($92) {
-     $93 = $10;
-     $94 = (($93) + 1)|0;
-     $10 = $94;
-     $95 = $7;
-     $96 = $10;
-     $97 = (($95) + ($96<<2)|0);
-     $98 = HEAP32[$97>>2]|0;
-     $99 = $8;
-     $$sink3 = $98;$$sink5 = $99;
-    } else {
-     label = 15;
-    }
-   } else {
-    label = 15;
-   }
-   if ((label|0) == 15) {
-    label = 0;
-    $100 = $7;
-    $101 = $10;
-    $102 = (($100) + ($101<<2)|0);
-    $103 = HEAP32[$102>>2]|0;
-    $104 = ((($103)) + 2|0);
-    $105 = $8;
-    $$sink3 = $104;$$sink5 = $105;
-   }
-   $106 = ((($$sink5)) + 20|0);
-   HEAP32[$106>>2] = $$sink3;
-   $107 = $8;
-   $108 = ((($107)) + 20|0);
-   $109 = HEAP32[$108>>2]|0;
-   $110 = HEAP8[$109>>0]|0;
-   $111 = $110 << 24 >> 24;
-   $112 = ($111|0)==(0);
-   if ($112) {
-    label = 17;
-    break L1;
-   }
-   break;
-  }
-  case 99:  {
-   $117 = $8;
-   $118 = ((($117)) + 24|0);
-   $119 = HEAP8[$118>>0]|0;
-   $120 = $119 & -2;
-   $121 = $120 | 1;
-   HEAP8[$118>>0] = $121;
-   break;
-  }
-  case 118:  {
-   $122 = $8;
-   $123 = ((($122)) + 24|0);
-   $124 = HEAP8[$123>>0]|0;
-   $125 = ($124&255) >>> 1;
-   $126 = $125 & 1;
-   $127 = ($126<<24>>24)!=(0);
-   if (!($127)) {
-    $128 = $5;
-    _mrb_show_version($128);
-   }
-   $129 = $8;
-   $130 = ((($129)) + 24|0);
-   $131 = HEAP8[$130>>0]|0;
-   $132 = $131 & -3;
-   $133 = $132 | 2;
-   HEAP8[$130>>0] = $133;
-   break;
-  }
-  case 103:  {
-   $134 = $8;
-   $135 = ((($134)) + 24|0);
-   $136 = HEAP8[$135>>0]|0;
-   $137 = ($136&255) >>> 2;
-   $138 = $137 & 15;
-   $139 = $138&255;
-   $140 = $139 | 1;
-   $141 = $140&255;
-   $142 = HEAP8[$135>>0]|0;
-   $143 = $141 & 15;
-   $144 = ($143 << 2)&255;
-   $145 = $142 & -61;
-   $146 = $145 | $144;
-   HEAP8[$135>>0] = $146;
-   break;
-  }
-  case 69:  {
-   $147 = $8;
-   $148 = ((($147)) + 24|0);
-   $149 = HEAP8[$148>>0]|0;
-   $150 = ($149&255) >>> 2;
-   $151 = $150 & 15;
-   $152 = $151&255;
-   $153 = $152 & -7;
-   $154 = 2 | $153;
-   $155 = $8;
-   $156 = ((($155)) + 24|0);
-   $157 = $154&255;
-   $158 = HEAP8[$156>>0]|0;
-   $159 = $157 & 15;
-   $160 = ($159 << 2)&255;
-   $161 = $158 & -61;
-   $162 = $161 | $160;
-   HEAP8[$156>>0] = $162;
-   break;
-  }
-  case 101:  {
-   $163 = $8;
-   $164 = ((($163)) + 24|0);
-   $165 = HEAP8[$164>>0]|0;
-   $166 = ($165&255) >>> 2;
-   $167 = $166 & 15;
-   $168 = $167&255;
-   $169 = $168 & -7;
-   $170 = 4 | $169;
-   $171 = $8;
-   $172 = ((($171)) + 24|0);
-   $173 = $170&255;
-   $174 = HEAP8[$172>>0]|0;
-   $175 = $173 & 15;
-   $176 = ($175 << 2)&255;
-   $177 = $174 & -61;
-   $178 = $177 | $176;
-   HEAP8[$172>>0] = $178;
-   break;
-  }
-  case 45:  {
-   $179 = $7;
-   $180 = $10;
-   $181 = (($179) + ($180<<2)|0);
-   $182 = HEAP32[$181>>2]|0;
-   $183 = ((($182)) + 1|0);
-   $184 = HEAP8[$183>>0]|0;
-   $185 = $184 << 24 >> 24;
-   $186 = ($185|0)==(10);
-   if ($186) {
-    label = 27;
-    break L1;
-   }
-   $188 = $7;
-   $189 = $10;
-   $190 = (($188) + ($189<<2)|0);
-   $191 = HEAP32[$190>>2]|0;
-   $192 = ((($191)) + 2|0);
-   $193 = (_strcmp($192,53762)|0);
-   $194 = ($193|0)==(0);
-   if ($194) {
-    label = 29;
-    break L1;
-   }
-   $196 = $7;
-   $197 = $10;
-   $198 = (($196) + ($197<<2)|0);
-   $199 = HEAP32[$198>>2]|0;
-   $200 = ((($199)) + 2|0);
-   $201 = (_strcmp($200,53770)|0);
-   $202 = ($201|0)==(0);
-   if (!($202)) {
-    label = 32;
-    break L1;
-   }
-   $203 = $8;
-   $204 = ((($203)) + 24|0);
-   $205 = HEAP8[$204>>0]|0;
-   $206 = $205 & -3;
-   $207 = $206 | 2;
-   HEAP8[$204>>0] = $207;
-   break;
-  }
-  default: {
-   label = 35;
-   break L1;
-  }
-  }
-  $217 = $10;
-  $218 = (($217) + 1)|0;
-  $10 = $218;
- }
- if ((label|0) == 6) {
-  $42 = HEAP32[637]|0;
-  $43 = $8;
-  $44 = ((($43)) + 12|0);
-  $45 = HEAP32[$44>>2]|0;
-  $46 = $9;
-  HEAP32[$vararg_buffer>>2] = $45;
-  $vararg_ptr6 = ((($vararg_buffer)) + 4|0);
-  HEAP32[$vararg_ptr6>>2] = $46;
-  (_fprintf($42,53678,$vararg_buffer)|0);
-  $4 = -1;
-  $246 = $4;
-  STACKTOP = sp;return ($246|0);
- }
- else if ((label|0) == 17) {
-  $113 = HEAP32[637]|0;
-  $114 = $8;
-  $115 = ((($114)) + 12|0);
-  $116 = HEAP32[$115>>2]|0;
-  HEAP32[$vararg_buffer7>>2] = $116;
-  (_fprintf($113,53725,$vararg_buffer7)|0);
-  $4 = -1;
-  $246 = $4;
-  STACKTOP = sp;return ($246|0);
- }
- else if ((label|0) == 25) {
-  $4 = -1;
-  $246 = $4;
-  STACKTOP = sp;return ($246|0);
- }
- else if ((label|0) == 27) {
-  $187 = $10;
-  $4 = $187;
-  $246 = $4;
-  STACKTOP = sp;return ($246|0);
- }
- else if ((label|0) == 29) {
-  $195 = $5;
-  _mrb_show_version($195);
-  _exit(0);
-  // unreachable;
- }
- else if ((label|0) == 32) {
-  $208 = $7;
-  $209 = $10;
-  $210 = (($208) + ($209<<2)|0);
-  $211 = HEAP32[$210>>2]|0;
-  $212 = ((($211)) + 2|0);
-  $213 = (_strcmp($212,53778)|0);
-  $214 = ($213|0)==(0);
-  if ($214) {
-   $215 = $5;
-   _mrb_show_copyright($215);
-   _exit(0);
-   // unreachable;
-  }
-  $4 = -1;
-  $246 = $4;
-  STACKTOP = sp;return ($246|0);
- }
- else if ((label|0) == 35) {
-  $216 = $10;
-  $4 = $216;
-  $246 = $4;
-  STACKTOP = sp;return ($246|0);
- }
- else if ((label|0) == 37) {
-  $219 = $8;
-  $220 = ((($219)) + 24|0);
-  $221 = HEAP8[$220>>0]|0;
-  $222 = ($221&255) >>> 1;
-  $223 = $222 & 1;
-  $224 = $223&255;
-  $225 = ($224|0)!=(0);
-  if ($225) {
-   $226 = $8;
-   $227 = ((($226)) + 20|0);
-   $228 = HEAP32[$227>>2]|0;
-   $229 = ($228|0)!=(0|0);
-   if ($229) {
-    $230 = $8;
-    $231 = ((($230)) + 24|0);
-    $232 = HEAP8[$231>>0]|0;
-    $233 = ($232&255) >>> 2;
-    $234 = $233 & 15;
-    $235 = $234&255;
-    $236 = $235 & 6;
-    $237 = ($236|0)==(0);
-    if ($237) {
-     $238 = HEAP32[637]|0;
-     $239 = $8;
-     $240 = ((($239)) + 12|0);
-     $241 = HEAP32[$240>>2]|0;
-     $242 = (_bigendian_p()|0);
-     $243 = ($242|0)!=(0);
-     $244 = $243 ? 53857 : 53861;
-     HEAP32[$vararg_buffer10>>2] = $241;
-     $vararg_ptr13 = ((($vararg_buffer10)) + 4|0);
-     HEAP32[$vararg_ptr13>>2] = $244;
-     (_fprintf($238,53788,$vararg_buffer10)|0);
-    }
-   }
-  }
-  $245 = $10;
-  $4 = $245;
-  $246 = $4;
-  STACKTOP = sp;return ($246|0);
- }
- return (0)|0;
-}
-function _cleanup($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = ((($5)) + 16|0);
- $7 = HEAP32[$6>>2]|0;
- _mrb_free($4,$7);
- $8 = $2;
- _mrb_close($8);
- STACKTOP = sp;return;
-}
-function _usage($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $1 = $0;
- $2 = 8;
- $3 = $1;
- HEAP32[$vararg_buffer>>2] = $3;
- (_printf(54301,$vararg_buffer)|0);
- while(1) {
-  $4 = $2;
-  $5 = HEAP32[$4>>2]|0;
-  $6 = ($5|0)!=(0|0);
-  if (!($6)) {
-   break;
-  }
-  $7 = $2;
-  $8 = ((($7)) + 4|0);
-  $2 = $8;
-  $9 = HEAP32[$7>>2]|0;
-  HEAP32[$vararg_buffer1>>2] = $9;
-  (_printf(54335,$vararg_buffer1)|0);
- }
- STACKTOP = sp;return;
-}
-function _get_outfilename($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $10 = $4;
- $11 = (_strlen($10)|0);
- $6 = $11;
- $12 = $5;
- $13 = (_strlen($12)|0);
- $7 = $13;
- $14 = $3;
- $15 = $6;
- $16 = $7;
- $17 = (($15) + ($16))|0;
- $18 = (($17) + 1)|0;
- $19 = (_mrb_malloc($14,$18)|0);
- $8 = $19;
- $20 = $8;
- $21 = $4;
- $22 = $6;
- $23 = (($22) + 1)|0;
- _memcpy(($20|0),($21|0),($23|0))|0;
- $24 = $5;
- $25 = HEAP8[$24>>0]|0;
- $26 = ($25<<24>>24)!=(0);
- if (!($26)) {
-  $37 = $8;
-  STACKTOP = sp;return ($37|0);
- }
- $27 = $8;
- $28 = (_strrchr($27,46)|0);
- $9 = $28;
- $29 = ($28|0)==(0|0);
- if ($29) {
-  $30 = $8;
-  $31 = $6;
-  $32 = (($30) + ($31)|0);
-  $9 = $32;
- }
- $33 = $9;
- $34 = $5;
- $35 = $7;
- $36 = (($35) + 1)|0;
- _memcpy(($33|0),($34|0),($36|0))|0;
- $37 = $8;
- STACKTOP = sp;return ($37|0);
-}
-function _load_file($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $vararg_buffer = 0;
- var $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer = sp;
- $6 = sp + 24|0;
- $10 = sp + 8|0;
- $3 = $1;
- $4 = $2;
- $11 = $4;
- $12 = ((($11)) + 4|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $4;
- $15 = ((($14)) + 8|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = (($13) + ($16<<2)|0);
- $18 = HEAP32[$17>>2]|0;
- $7 = $18;
- $9 = 0;
- $19 = $3;
- $20 = (_mrbc_context_new($19)|0);
- $5 = $20;
- $21 = $4;
- $22 = ((($21)) + 24|0);
- $23 = HEAP8[$22>>0]|0;
- $24 = ($23&255) >>> 1;
- $25 = $24 & 1;
- $26 = ($25<<24>>24)!=(0);
- if ($26) {
-  $27 = $5;
-  $28 = ((($27)) + 28|0);
-  $29 = HEAP8[$28>>0]|0;
-  $30 = $29 & -3;
-  $31 = $30 | 2;
-  HEAP8[$28>>0] = $31;
- }
- $32 = $5;
- $33 = ((($32)) + 28|0);
- $34 = HEAP8[$33>>0]|0;
- $35 = $34 & -5;
- $36 = $35 | 4;
- HEAP8[$33>>0] = $36;
- $37 = $7;
- $38 = HEAP8[$37>>0]|0;
- $39 = $38 << 24 >> 24;
- $40 = ($39|0)==(45);
- if ($40) {
-  $41 = $7;
-  $42 = ((($41)) + 1|0);
-  $43 = HEAP8[$42>>0]|0;
-  $44 = $43 << 24 >> 24;
-  $45 = ($44|0)==(0);
-  if ($45) {
-   $46 = HEAP32[730]|0;
-   $8 = $46;
-  } else {
-   label = 6;
-  }
- } else {
-  label = 6;
- }
- if ((label|0) == 6) {
-  $9 = 1;
-  $47 = $7;
-  $48 = (_fopen($47,54341)|0);
-  $8 = $48;
-  $49 = ($48|0)==(0|0);
-  if ($49) {
-   $50 = HEAP32[637]|0;
-   $51 = $4;
-   $52 = ((($51)) + 12|0);
-   $53 = HEAP32[$52>>2]|0;
-   $54 = $7;
-   HEAP32[$vararg_buffer>>2] = $53;
-   $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
-   HEAP32[$vararg_ptr1>>2] = $54;
-   (_fprintf($50,54343,$vararg_buffer)|0);
-   _mrb_nil_value($0);
-   STACKTOP = sp;return;
-  }
- }
- $55 = $3;
- $56 = $5;
- $57 = $7;
- (_mrbc_filename($55,$56,$57)|0);
- $58 = $4;
- $59 = ((($58)) + 8|0);
- $60 = HEAP32[$59>>2]|0;
- $61 = (($60) + 1)|0;
- HEAP32[$59>>2] = $61;
- $62 = $4;
- $63 = ((($62)) + 8|0);
- $64 = HEAP32[$63>>2]|0;
- $65 = $4;
- $66 = HEAP32[$65>>2]|0;
- $67 = ($64|0)<($66|0);
- if ($67) {
-  $9 = 0;
-  $68 = $3;
-  $69 = $5;
-  $70 = $4;
-  _mrbc_partial_hook($68,$69,7,$70);
- }
- $71 = $3;
- $72 = $8;
- $73 = $5;
- _mrb_load_file_cxt($10,$71,$72,$73);
- ;HEAP32[$6>>2]=HEAP32[$10>>2]|0;HEAP32[$6+4>>2]=HEAP32[$10+4>>2]|0;
- $74 = $9;
- $75 = ($74<<24>>24)!=(0);
- if ($75) {
-  $76 = $8;
-  (_fclose($76)|0);
- }
- $77 = $3;
- $78 = $5;
- _mrbc_context_free($77,$78);
- $79 = ((($6)) + 4|0);
- $80 = HEAP32[$79>>2]|0;
- $81 = ($80|0)==(5);
- if ($81) {
-  _mrb_nil_value($0);
-  STACKTOP = sp;return;
- } else {
-  ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _dump_file($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $10 = 0;
- $12 = $8;
- $13 = ((($12)) + 12|0);
- $14 = HEAP32[$13>>2]|0;
- $11 = $14;
- $15 = $9;
- $16 = ((($15)) + 20|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17|0)!=(0|0);
- $19 = $5;
- $20 = $11;
- $21 = $9;
- $22 = ((($21)) + 24|0);
- $23 = HEAP8[$22>>0]|0;
- $24 = ($23&255) >>> 2;
- $25 = $24 & 15;
- $26 = $25&255;
- $27 = $26&255;
- $28 = $6;
- if ($18) {
-  $29 = $9;
-  $30 = ((($29)) + 20|0);
-  $31 = HEAP32[$30>>2]|0;
-  $32 = (_mrb_dump_irep_cfunc($19,$20,$27,$28,$31)|0);
-  $10 = $32;
-  $33 = $10;
-  $34 = ($33|0)==(-7);
-  if ($34) {
-   $35 = HEAP32[637]|0;
-   $36 = $9;
-   $37 = ((($36)) + 20|0);
-   $38 = HEAP32[$37>>2]|0;
-   HEAP32[$vararg_buffer>>2] = $38;
-   (_fprintf($35,54379,$vararg_buffer)|0);
-  }
- } else {
-  $39 = (_mrb_dump_irep_binary($19,$20,$27,$28)|0);
-  $10 = $39;
- }
- $40 = $10;
- $41 = ($40|0)!=(0);
- if (!($41)) {
-  $48 = $10;
-  STACKTOP = sp;return ($48|0);
- }
- $42 = HEAP32[637]|0;
- $43 = $9;
- $44 = ((($43)) + 12|0);
- $45 = HEAP32[$44>>2]|0;
- $46 = $7;
- $47 = $10;
- HEAP32[$vararg_buffer1>>2] = $45;
- $vararg_ptr4 = ((($vararg_buffer1)) + 4|0);
- HEAP32[$vararg_ptr4>>2] = $46;
- $vararg_ptr5 = ((($vararg_buffer1)) + 8|0);
- HEAP32[$vararg_ptr5>>2] = $47;
- (_fprintf($42,54415,$vararg_buffer1)|0);
- $48 = $10;
- STACKTOP = sp;return ($48|0);
-}
-function _mrb_init_mrblib($0) {
- $0 = $0|0;
- var $1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- STACKTOP = sp;return;
-}
-function _mrb_init_mrbgems($0) {
- $0 = $0|0;
- var $1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- STACKTOP = sp;return;
-}
-function _bigendian_p() {
- var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $0 = sp + 4|0;
- HEAP32[$0>>2] = 1;
- $1 = $0;
- $2 = $1;
- $3 = HEAP8[$2>>0]|0;
- $4 = $3 << 24 >> 24;
- $5 = ($4|0)!=(0);
- $6 = $5 ? 0 : 1;
- STACKTOP = sp;return ($6|0);
-}
-function _mrb_nil_value($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _partial_hook($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $2 = $0;
- $6 = $2;
- $7 = ((($6)) + 24|0);
- $8 = HEAP32[$7>>2]|0;
- $3 = $8;
- $9 = $3;
- $10 = ((($9)) + 20|0);
- $11 = HEAP32[$10>>2]|0;
- $4 = $11;
- $12 = $2;
- $13 = ((($12)) + 20|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ($14|0)!=(0|0);
- if ($15) {
-  $16 = $2;
-  $17 = ((($16)) + 20|0);
-  $18 = HEAP32[$17>>2]|0;
-  (_fclose($18)|0);
- }
- $19 = $4;
- $20 = ((($19)) + 8|0);
- $21 = HEAP32[$20>>2]|0;
- $22 = $4;
- $23 = HEAP32[$22>>2]|0;
- $24 = ($21|0)>=($23|0);
- if ($24) {
-  $25 = $2;
-  $26 = ((($25)) + 20|0);
-  HEAP32[$26>>2] = 0;
-  $1 = -1;
-  $51 = $1;
-  STACKTOP = sp;return ($51|0);
- }
- $27 = $4;
- $28 = ((($27)) + 4|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = $4;
- $31 = ((($30)) + 8|0);
- $32 = HEAP32[$31>>2]|0;
- $33 = (($32) + 1)|0;
- HEAP32[$31>>2] = $33;
- $34 = (($29) + ($32<<2)|0);
- $35 = HEAP32[$34>>2]|0;
- $5 = $35;
- $36 = $5;
- $37 = (_fopen($36,54341)|0);
- $38 = $2;
- $39 = ((($38)) + 20|0);
- HEAP32[$39>>2] = $37;
- $40 = $2;
- $41 = ((($40)) + 20|0);
- $42 = HEAP32[$41>>2]|0;
- $43 = ($42|0)==(0|0);
- if ($43) {
-  $44 = HEAP32[637]|0;
-  $45 = $4;
-  $46 = ((($45)) + 12|0);
-  $47 = HEAP32[$46>>2]|0;
-  $48 = $5;
-  HEAP32[$vararg_buffer>>2] = $47;
-  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
-  HEAP32[$vararg_ptr1>>2] = $48;
-  (_fprintf($44,54343,$vararg_buffer)|0);
-  $1 = -1;
-  $51 = $1;
-  STACKTOP = sp;return ($51|0);
- } else {
-  $49 = $2;
-  $50 = $5;
-  _mrb_parser_set_filename($49,$50);
-  $1 = 0;
-  $51 = $1;
-  STACKTOP = sp;return ($51|0);
- }
- return (0)|0;
-}
-function _dump_flags($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $4;
- $6 = $5&255;
- $7 = ($6|0)==(2);
- $8 = $3;
- $9 = $8&255;
- $10 = $9 & 6;
- $11 = ($10|0)==(0);
- $12 = $3;
- do {
-  if ($7) {
-   if ($11) {
-    $13 = $12&255;
-    $14 = $13 & 1;
-    $15 = $14 | 6;
-    $16 = $15&255;
-    $2 = $16;
-    break;
-   } else {
-    $2 = $12;
-    break;
-   }
-  } else {
-   if ($11) {
-    $17 = $12&255;
-    $18 = $17 & 1;
-    $19 = $18 | 2;
-    $20 = $19&255;
-    $2 = $20;
-    break;
-   } else {
-    $2 = $12;
-    break;
-   }
-  }
- } while(0);
- $21 = $2;
- STACKTOP = sp;return ($21|0);
-}
-function _dump_irep($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
- var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
- var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
- var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
- var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $13 = sp + 24|0;
- $19 = sp + 8|0;
- $20 = sp + 4|0;
- $21 = sp;
- $22 = sp + 56|0;
- $6 = $0;
- $7 = $1;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- $11 = -1;
- $14 = 0;
- $15 = 0;
- $16 = 0;
- $23 = $7;
- $24 = (_is_debug_info_defined($23)|0);
- $17 = $24;
- $25 = $7;
- $26 = (_is_lv_defined($25)|0);
- $18 = $26;
- HEAP32[$19>>2] = 0;
- HEAP32[$20>>2] = 0;
- HEAP32[$21>>2] = 0;
- HEAP16[$22>>1] = 0;
- $27 = $6;
- $28 = ($27|0)==(0|0);
- if ($28) {
-  $29 = $9;
-  HEAP32[$29>>2] = 0;
-  $5 = -1;
-  $155 = $5;
-  STACKTOP = sp;return ($155|0);
- }
- HEAP32[$13>>2] = 12;
- $30 = $6;
- $31 = $7;
- $32 = (_get_irep_record_size($30,$31)|0);
- $33 = HEAP32[$13>>2]|0;
- $34 = (($33) + ($32))|0;
- HEAP32[$13>>2] = $34;
- $35 = $8;
- $36 = $35&255;
- $37 = $36 & 1;
- $38 = ($37|0)!=(0);
- do {
-  if ($38) {
-   $39 = $17;
-   $40 = ($39<<24>>24)!=(0);
-   $41 = $14;
-   $42 = (($41) + 8)|0;
-   $14 = $42;
-   $43 = $6;
-   if ($40) {
-    $44 = (_mrb_malloc($43,5)|0);
-    HEAP32[$21>>2] = $44;
-    $45 = $14;
-    $46 = (($45) + 2)|0;
-    $14 = $46;
-    $47 = $6;
-    $48 = $7;
-    $49 = (_get_filename_table_size($47,$48,$21,$22)|0);
-    $50 = $14;
-    $51 = (($50) + ($49))|0;
-    $14 = $51;
-    $52 = $6;
-    $53 = $7;
-    $54 = (_get_debug_record_size($52,$53)|0);
-    $55 = $14;
-    $56 = (($55) + ($54))|0;
-    $14 = $56;
-    break;
-   } else {
-    $57 = $7;
-    $58 = (_get_lineno_record_size($43,$57)|0);
-    $59 = $14;
-    $60 = (($59) + ($58))|0;
-    $14 = $60;
-    break;
-   }
-  }
- } while(0);
- $61 = $18;
- $62 = ($61<<24>>24)!=(0);
- if ($62) {
-  $63 = $15;
-  $64 = (($63) + 8)|0;
-  $15 = $64;
-  $65 = $6;
-  $66 = $7;
-  _create_lv_sym_table($65,$66,$19,$20);
-  $67 = $6;
-  $68 = $7;
-  $69 = HEAP32[$19>>2]|0;
-  $70 = HEAP32[$20>>2]|0;
-  $71 = (_get_lv_section_size($67,$68,$69,$70)|0);
-  $72 = $15;
-  $73 = (($72) + ($71))|0;
-  $15 = $73;
- }
- $74 = HEAP32[$13>>2]|0;
- $75 = (22 + ($74))|0;
- $76 = $14;
- $77 = (($75) + ($76))|0;
- $78 = $15;
- $79 = (($77) + ($78))|0;
- $80 = (($79) + 8)|0;
- $12 = $80;
- $81 = $6;
- $82 = $12;
- $83 = (_mrb_malloc($81,$82)|0);
- $84 = $9;
- HEAP32[$84>>2] = $83;
- $16 = $83;
- $85 = $16;
- $86 = ((($85)) + 22|0);
- $16 = $86;
- $87 = $6;
- $88 = $7;
- $89 = $16;
- $90 = $8;
- $91 = (_write_section_irep($87,$88,$89,$13,$90)|0);
- $11 = $91;
- $92 = $11;
- $93 = ($92|0)!=(0);
- do {
-  if (!($93)) {
-   $94 = HEAP32[$13>>2]|0;
-   $95 = $16;
-   $96 = (($95) + ($94)|0);
-   $16 = $96;
-   $97 = HEAP32[$13>>2]|0;
-   $98 = (22 + ($97))|0;
-   $99 = $14;
-   $100 = (($98) + ($99))|0;
-   $101 = $15;
-   $102 = (($100) + ($101))|0;
-   $103 = (($102) + 8)|0;
-   $104 = $10;
-   HEAP32[$104>>2] = $103;
-   $105 = $8;
-   $106 = $105&255;
-   $107 = $106 & 1;
-   $108 = ($107|0)!=(0);
-   if ($108) {
-    $109 = $17;
-    $110 = ($109<<24>>24)!=(0);
-    $111 = $6;
-    $112 = $7;
-    $113 = $16;
-    if ($110) {
-     $114 = HEAP32[$21>>2]|0;
-     $115 = HEAP16[$22>>1]|0;
-     $116 = (_write_section_debug($111,$112,$113,$114,$115)|0);
-     $11 = $116;
-    } else {
-     $117 = (_write_section_lineno($111,$112,$113)|0);
-     $11 = $117;
-    }
-    $118 = $11;
-    $119 = ($118|0)!=(0);
-    if ($119) {
-     break;
-    }
-    $120 = $14;
-    $121 = $16;
-    $122 = (($121) + ($120)|0);
-    $16 = $122;
-   }
-   $123 = $18;
-   $124 = ($123<<24>>24)!=(0);
-   if ($124) {
-    $125 = $6;
-    $126 = $7;
-    $127 = $16;
-    $128 = HEAP32[$19>>2]|0;
-    $129 = HEAP32[$20>>2]|0;
-    $130 = (_write_section_lv($125,$126,$127,$128,$129)|0);
-    $11 = $130;
-    $131 = $11;
-    $132 = ($131|0)!=(0);
-    if ($132) {
-     break;
-    }
-    $133 = $15;
-    $134 = $16;
-    $135 = (($134) + ($133)|0);
-    $16 = $135;
-   }
-   $136 = $6;
-   $137 = $16;
-   (_write_footer($136,$137)|0);
-   $138 = $6;
-   $139 = $10;
-   $140 = HEAP32[$139>>2]|0;
-   $141 = $9;
-   $142 = HEAP32[$141>>2]|0;
-   $143 = $8;
-   (_write_rite_binary_header($138,$140,$142,$143)|0);
-  }
- } while(0);
- $144 = $11;
- $145 = ($144|0)!=(0);
- if ($145) {
-  $146 = $6;
-  $147 = $9;
-  $148 = HEAP32[$147>>2]|0;
-  _mrb_free($146,$148);
-  $149 = $9;
-  HEAP32[$149>>2] = 0;
- }
- $150 = $6;
- $151 = HEAP32[$19>>2]|0;
- _mrb_free($150,$151);
- $152 = $6;
- $153 = HEAP32[$21>>2]|0;
- _mrb_free($152,$153);
- $154 = $11;
- $5 = $154;
- $155 = $5;
- STACKTOP = sp;return ($155|0);
-}
-function _is_debug_info_defined($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $4 = $2;
- $5 = ((($4)) + 36|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ($6|0)!=(0|0);
- if (!($7)) {
-  $1 = 0;
-  $23 = $1;
-  STACKTOP = sp;return ($23|0);
- }
- $3 = 0;
- while(1) {
-  $8 = $3;
-  $9 = $2;
-  $10 = ((($9)) + 52|0);
-  $11 = HEAP32[$10>>2]|0;
-  $12 = ($8>>>0)<($11>>>0);
-  if (!($12)) {
-   label = 8;
-   break;
-  }
-  $13 = $2;
-  $14 = ((($13)) + 20|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = $3;
-  $17 = (($15) + ($16<<2)|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = (_is_debug_info_defined($18)|0);
-  $20 = ($19<<24>>24)!=(0);
-  if (!($20)) {
-   label = 6;
-   break;
-  }
-  $21 = $3;
-  $22 = (($21) + 1)|0;
-  $3 = $22;
- }
- if ((label|0) == 6) {
-  $1 = 0;
-  $23 = $1;
-  STACKTOP = sp;return ($23|0);
- }
- else if ((label|0) == 8) {
-  $1 = 1;
-  $23 = $1;
-  STACKTOP = sp;return ($23|0);
- }
- return (0)|0;
-}
-function _is_lv_defined($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $4 = $2;
- $5 = ((($4)) + 24|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ($6|0)!=(0|0);
- if ($7) {
-  $1 = 1;
-  $23 = $1;
-  STACKTOP = sp;return ($23|0);
- }
- $3 = 0;
- while(1) {
-  $8 = $3;
-  $9 = $2;
-  $10 = ((($9)) + 52|0);
-  $11 = HEAP32[$10>>2]|0;
-  $12 = ($8>>>0)<($11>>>0);
-  if (!($12)) {
-   label = 8;
-   break;
-  }
-  $13 = $2;
-  $14 = ((($13)) + 20|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = $3;
-  $17 = (($15) + ($16<<2)|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = (_is_lv_defined($18)|0);
-  $20 = ($19<<24>>24)!=(0);
-  if ($20) {
-   label = 6;
-   break;
-  }
-  $21 = $3;
-  $22 = (($21) + 1)|0;
-  $3 = $22;
- }
- if ((label|0) == 6) {
-  $1 = 1;
-  $23 = $1;
-  STACKTOP = sp;return ($23|0);
- }
- else if ((label|0) == 8) {
-  $1 = 0;
-  $23 = $1;
-  STACKTOP = sp;return ($23|0);
- }
- return (0)|0;
-}
-function _get_irep_record_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $6 = $2;
- $7 = $3;
- $8 = (_get_irep_record_size_1($6,$7)|0);
- $4 = $8;
- $5 = 0;
- while(1) {
-  $9 = $5;
-  $10 = $3;
-  $11 = ((($10)) + 52|0);
-  $12 = HEAP32[$11>>2]|0;
-  $13 = ($9>>>0)<($12>>>0);
-  if (!($13)) {
-   break;
-  }
-  $14 = $2;
-  $15 = $3;
-  $16 = ((($15)) + 20|0);
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $5;
-  $19 = (($17) + ($18<<2)|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = (_get_irep_record_size($14,$20)|0);
-  $22 = $4;
-  $23 = (($22) + ($21))|0;
-  $4 = $23;
-  $24 = $5;
-  $25 = (($24) + 1)|0;
-  $5 = $25;
- }
- $26 = $4;
- STACKTOP = sp;return ($26|0);
-}
-function _get_filename_table_size($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
- var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $13 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $14 = $6;
- $15 = HEAP32[$14>>2]|0;
- $8 = $15;
- $10 = 0;
- $16 = $5;
- $17 = ((($16)) + 36|0);
- $18 = HEAP32[$17>>2]|0;
- $11 = $18;
- $9 = 0;
- while(1) {
-  $19 = $9;
-  $20 = $11;
-  $21 = ((($20)) + 4|0);
-  $22 = HEAP16[$21>>1]|0;
-  $23 = $22&65535;
-  $24 = ($19>>>0)<($23>>>0);
-  if (!($24)) {
-   break;
-  }
-  $25 = $11;
-  $26 = ((($25)) + 8|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = $9;
-  $29 = (($27) + ($28<<2)|0);
-  $30 = HEAP32[$29>>2]|0;
-  $12 = $30;
-  $31 = $8;
-  $32 = $7;
-  $33 = HEAP16[$32>>1]|0;
-  $34 = $33&65535;
-  $35 = $12;
-  $36 = ((($35)) + 8|0);
-  $37 = HEAP32[$36>>2]|0;
-  $38 = (_find_filename_index($31,$34,$37)|0);
-  $39 = ($38|0)==(-1);
-  if ($39) {
-   $40 = $7;
-   $41 = HEAP16[$40>>1]|0;
-   $42 = $41&65535;
-   $43 = (($42) + 1)|0;
-   $44 = $43&65535;
-   HEAP16[$40>>1] = $44;
-   $45 = $4;
-   $46 = $8;
-   $47 = $7;
-   $48 = HEAP16[$47>>1]|0;
-   $49 = $48&65535;
-   $50 = $49<<2;
-   $51 = (_mrb_realloc($45,$46,$50)|0);
-   $8 = $51;
-   $52 = $6;
-   HEAP32[$52>>2] = $51;
-   $53 = $12;
-   $54 = ((($53)) + 8|0);
-   $55 = HEAP32[$54>>2]|0;
-   $56 = $8;
-   $57 = $7;
-   $58 = HEAP16[$57>>1]|0;
-   $59 = $58&65535;
-   $60 = (($59) - 1)|0;
-   $61 = (($56) + ($60<<2)|0);
-   HEAP32[$61>>2] = $55;
-   $62 = $4;
-   $63 = $12;
-   $64 = ((($63)) + 8|0);
-   $65 = HEAP32[$64>>2]|0;
-   (_mrb_sym2name_len($62,$65,$13)|0);
-   $66 = HEAP32[$13>>2]|0;
-   $67 = (2 + ($66))|0;
-   $68 = $10;
-   $69 = (($68) + ($67))|0;
-   $10 = $69;
-  }
-  $70 = $9;
-  $71 = (($70) + 1)|0;
-  $9 = $71;
- }
- $9 = 0;
- while(1) {
-  $72 = $9;
-  $73 = $5;
-  $74 = ((($73)) + 52|0);
-  $75 = HEAP32[$74>>2]|0;
-  $76 = ($72>>>0)<($75>>>0);
-  if (!($76)) {
-   break;
-  }
-  $77 = $4;
-  $78 = $5;
-  $79 = ((($78)) + 20|0);
-  $80 = HEAP32[$79>>2]|0;
-  $81 = $9;
-  $82 = (($80) + ($81<<2)|0);
-  $83 = HEAP32[$82>>2]|0;
-  $84 = $6;
-  $85 = $7;
-  $86 = (_get_filename_table_size($77,$83,$84,$85)|0);
-  $87 = $10;
-  $88 = (($87) + ($86))|0;
-  $10 = $88;
-  $89 = $9;
-  $90 = (($89) + 1)|0;
-  $9 = $90;
- }
- $91 = $10;
- STACKTOP = sp;return ($91|0);
-}
-function _get_debug_record_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $8 = $4;
- $9 = (($8) + 4)|0;
- $4 = $9;
- $10 = $4;
- $11 = (($10) + 2)|0;
- $4 = $11;
- $5 = 0;
- while(1) {
-  $12 = $5;
-  $13 = $12&65535;
-  $14 = $3;
-  $15 = ((($14)) + 36|0);
-  $16 = HEAP32[$15>>2]|0;
-  $17 = ((($16)) + 4|0);
-  $18 = HEAP16[$17>>1]|0;
-  $19 = $18&65535;
-  $20 = ($13|0)<($19|0);
-  if (!($20)) {
-   break;
-  }
-  $21 = $3;
-  $22 = ((($21)) + 36|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = ((($23)) + 8|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $5;
-  $27 = $26&65535;
-  $28 = (($25) + ($27<<2)|0);
-  $29 = HEAP32[$28>>2]|0;
-  $7 = $29;
-  $30 = $4;
-  $31 = (($30) + 4)|0;
-  $4 = $31;
-  $32 = $4;
-  $33 = (($32) + 2)|0;
-  $4 = $33;
-  $34 = $4;
-  $35 = (($34) + 4)|0;
-  $4 = $35;
-  $36 = $4;
-  $37 = (($36) + 1)|0;
-  $4 = $37;
-  $38 = $7;
-  $39 = ((($38)) + 16|0);
-  $40 = HEAP32[$39>>2]|0;
-  switch ($40|0) {
-  case 0:  {
-   $41 = $7;
-   $42 = ((($41)) + 12|0);
-   $43 = HEAP32[$42>>2]|0;
-   $44 = $43<<1;
-   $45 = $4;
-   $46 = (($45) + ($44))|0;
-   $4 = $46;
-   break;
-  }
-  case 1:  {
-   $47 = $7;
-   $48 = ((($47)) + 12|0);
-   $49 = HEAP32[$48>>2]|0;
-   $50 = ($49*6)|0;
-   $51 = $4;
-   $52 = (($51) + ($50))|0;
-   $4 = $52;
-   break;
-  }
-  default: {
-  }
-  }
-  $53 = $5;
-  $54 = (($53) + 1)<<16>>16;
-  $5 = $54;
- }
- $6 = 0;
- while(1) {
-  $55 = $6;
-  $56 = $3;
-  $57 = ((($56)) + 52|0);
-  $58 = HEAP32[$57>>2]|0;
-  $59 = ($55>>>0)<($58>>>0);
-  if (!($59)) {
-   break;
-  }
-  $60 = $2;
-  $61 = $3;
-  $62 = ((($61)) + 20|0);
-  $63 = HEAP32[$62>>2]|0;
-  $64 = $6;
-  $65 = (($63) + ($64<<2)|0);
-  $66 = HEAP32[$65>>2]|0;
-  $67 = (_get_debug_record_size($60,$66)|0);
-  $68 = $4;
-  $69 = (($68) + ($67))|0;
-  $4 = $69;
-  $70 = $6;
-  $71 = (($70) + 1)|0;
-  $6 = $71;
- }
- $72 = $4;
- STACKTOP = sp;return ($72|0);
-}
-function _get_lineno_record_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $5 = $4;
- $6 = (($5) + 4)|0;
- $4 = $6;
- $7 = $4;
- $8 = (($7) + 2)|0;
- $4 = $8;
- $9 = $3;
- $10 = ((($9)) + 28|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)!=(0|0);
- if ($12) {
-  $13 = $3;
-  $14 = ((($13)) + 28|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = (_strlen($15)|0);
-  $17 = $4;
-  $18 = (($17) + ($16))|0;
-  $4 = $18;
- }
- $19 = $4;
- $20 = (($19) + 4)|0;
- $4 = $20;
- $21 = $3;
- $22 = ((($21)) + 32|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = ($23|0)!=(0|0);
- if (!($24)) {
-  $31 = $4;
-  STACKTOP = sp;return ($31|0);
- }
- $25 = $3;
- $26 = ((($25)) + 40|0);
- $27 = HEAP32[$26>>2]|0;
- $28 = $27<<1;
- $29 = $4;
- $30 = (($29) + ($28))|0;
- $4 = $30;
- $31 = $4;
- STACKTOP = sp;return ($31|0);
-}
-function _create_lv_sym_table($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $10 = $6;
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)==(0|0);
- if ($12) {
-  $13 = $4;
-  $14 = (_mrb_malloc($13,4)|0);
-  $15 = $6;
-  HEAP32[$15>>2] = $14;
- }
- $8 = 0;
- while(1) {
-  $16 = $8;
-  $17 = (($16) + 1)|0;
-  $18 = $5;
-  $19 = HEAP16[$18>>1]|0;
-  $20 = $19&65535;
-  $21 = ($17>>>0)<($20>>>0);
-  if (!($21)) {
-   break;
-  }
-  $22 = $5;
-  $23 = ((($22)) + 24|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = $8;
-  $26 = (($24) + ($25<<3)|0);
-  $27 = HEAP32[$26>>2]|0;
-  $9 = $27;
-  $28 = $9;
-  $29 = ($28|0)==(0);
-  if (!($29)) {
-   $30 = $6;
-   $31 = HEAP32[$30>>2]|0;
-   $32 = $7;
-   $33 = HEAP32[$32>>2]|0;
-   $34 = $9;
-   $35 = (_find_filename_index($31,$33,$34)|0);
-   $36 = ($35|0)!=(-1);
-   if (!($36)) {
-    $37 = $7;
-    $38 = HEAP32[$37>>2]|0;
-    $39 = (($38) + 1)|0;
-    HEAP32[$37>>2] = $39;
-    $40 = $4;
-    $41 = $6;
-    $42 = HEAP32[$41>>2]|0;
-    $43 = $7;
-    $44 = HEAP32[$43>>2]|0;
-    $45 = $44<<2;
-    $46 = (_mrb_realloc($40,$42,$45)|0);
-    $47 = $6;
-    HEAP32[$47>>2] = $46;
-    $48 = $9;
-    $49 = $6;
-    $50 = HEAP32[$49>>2]|0;
-    $51 = $7;
-    $52 = HEAP32[$51>>2]|0;
-    $53 = (($52) - 1)|0;
-    $54 = (($50) + ($53<<2)|0);
-    HEAP32[$54>>2] = $48;
-   }
-  }
-  $55 = $8;
-  $56 = (($55) + 1)|0;
-  $8 = $56;
- }
- $8 = 0;
- while(1) {
-  $57 = $8;
-  $58 = $5;
-  $59 = ((($58)) + 52|0);
-  $60 = HEAP32[$59>>2]|0;
-  $61 = ($57>>>0)<($60>>>0);
-  if (!($61)) {
-   break;
-  }
-  $62 = $4;
-  $63 = $5;
-  $64 = ((($63)) + 20|0);
-  $65 = HEAP32[$64>>2]|0;
-  $66 = $8;
-  $67 = (($65) + ($66<<2)|0);
-  $68 = HEAP32[$67>>2]|0;
-  $69 = $6;
-  $70 = $7;
-  _create_lv_sym_table($62,$68,$69,$70);
-  $71 = $8;
-  $72 = (($71) + 1)|0;
-  $8 = $72;
- }
- STACKTOP = sp;return;
-}
-function _get_lv_section_size($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $10 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = 0;
- $11 = $8;
- $12 = (($11) + 4)|0;
- $8 = $12;
- $13 = $7;
- $14 = $13<<1;
- $15 = $8;
- $16 = (($15) + ($14))|0;
- $8 = $16;
- $9 = 0;
- while(1) {
-  $17 = $9;
-  $18 = $7;
-  $19 = ($17>>>0)<($18>>>0);
-  $20 = $4;
-  if (!($19)) {
-   break;
-  }
-  $21 = $6;
-  $22 = $9;
-  $23 = (($21) + ($22<<2)|0);
-  $24 = HEAP32[$23>>2]|0;
-  (_mrb_sym2name_len($20,$24,$10)|0);
-  $25 = HEAP32[$10>>2]|0;
-  $26 = $8;
-  $27 = (($26) + ($25))|0;
-  $8 = $27;
-  $28 = $9;
-  $29 = (($28) + 1)|0;
-  $9 = $29;
- }
- $30 = $5;
- $31 = (_get_lv_record_size($20,$30)|0);
- $32 = $8;
- $33 = (($32) + ($31))|0;
- $8 = $33;
- $34 = $8;
- STACKTOP = sp;return ($34|0);
-}
-function _write_section_irep($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $12 = sp + 4|0;
- $6 = $0;
- $7 = $1;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- HEAP32[$12>>2] = 0;
- $14 = $8;
- $13 = $14;
- $15 = $6;
- $16 = ($15|0)==(0|0);
- $17 = $8;
- $18 = ($17|0)==(0|0);
- $or$cond = $16 | $18;
- if ($or$cond) {
-  $5 = -7;
-  $41 = $5;
-  STACKTOP = sp;return ($41|0);
- }
- $19 = $13;
- $20 = ((($19)) + 12|0);
- $13 = $20;
- $21 = $6;
- $22 = $7;
- $23 = $13;
- $24 = $10;
- $25 = (_write_irep_record($21,$22,$23,$12,$24)|0);
- $11 = $25;
- $26 = $11;
- $27 = ($26|0)!=(0);
- if ($27) {
-  $28 = $11;
-  $5 = $28;
-  $41 = $5;
-  STACKTOP = sp;return ($41|0);
- } else {
-  $29 = $13;
-  $30 = $8;
-  $31 = $29;
-  $32 = $30;
-  $33 = (($31) - ($32))|0;
-  $34 = HEAP32[$12>>2]|0;
-  $35 = (($33) + ($34))|0;
-  $36 = $9;
-  HEAP32[$36>>2] = $35;
-  $37 = $6;
-  $38 = $9;
-  $39 = HEAP32[$38>>2]|0;
-  $40 = $8;
-  (_write_section_irep_header($37,$39,$40)|0);
-  $5 = 0;
-  $41 = $5;
-  STACKTOP = sp;return ($41|0);
- }
- return (0)|0;
-}
-function _write_section_debug($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
- var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $17 = sp;
- $6 = $0;
- $7 = $1;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- $11 = 0;
- $18 = $8;
- $12 = $18;
- $19 = $6;
- $20 = ($19|0)==(0|0);
- $21 = $8;
- $22 = ($21|0)==(0|0);
- $or$cond = $20 | $22;
- if ($or$cond) {
-  $5 = -7;
-  $77 = $5;
-  STACKTOP = sp;return ($77|0);
- }
- $23 = $12;
- $13 = $23;
- $24 = $8;
- $25 = ((($24)) + 8|0);
- $8 = $25;
- $26 = $11;
- $27 = (($26) + 8)|0;
- $11 = $27;
- $28 = $10;
- $29 = $8;
- $30 = (_uint16_to_bin($28,$29)|0);
- $31 = $8;
- $32 = (($31) + ($30)|0);
- $8 = $32;
- $33 = $11;
- $34 = (($33) + 2)|0;
- $11 = $34;
- $15 = 0;
- while(1) {
-  $35 = $15;
-  $36 = $35&65535;
-  $37 = $10;
-  $38 = $37&65535;
-  $39 = ($36|0)<($38|0);
-  $40 = $6;
-  if (!($39)) {
-   break;
-  }
-  $41 = $9;
-  $42 = $15;
-  $43 = $42&65535;
-  $44 = (($41) + ($43<<2)|0);
-  $45 = HEAP32[$44>>2]|0;
-  $46 = (_mrb_sym2name_len($40,$45,$17)|0);
-  $16 = $46;
-  $47 = HEAP32[$17>>2]|0;
-  $48 = $47&65535;
-  $49 = $8;
-  $50 = (_uint16_to_bin($48,$49)|0);
-  $51 = $8;
-  $52 = (($51) + ($50)|0);
-  $8 = $52;
-  $53 = $8;
-  $54 = $16;
-  $55 = HEAP32[$17>>2]|0;
-  _memcpy(($53|0),($54|0),($55|0))|0;
-  $56 = HEAP32[$17>>2]|0;
-  $57 = $8;
-  $58 = (($57) + ($56)|0);
-  $8 = $58;
-  $59 = HEAP32[$17>>2]|0;
-  $60 = (2 + ($59))|0;
-  $61 = $11;
-  $62 = (($61) + ($60))|0;
-  $11 = $62;
-  $63 = $15;
-  $64 = (($63) + 1)<<16>>16;
-  $15 = $64;
- }
- $65 = $7;
- $66 = $8;
- $67 = $9;
- $68 = $10;
- $69 = (_write_debug_record($40,$65,$66,$67,$68)|0);
- $14 = $69;
- $70 = $14;
- $71 = $11;
- $72 = (($71) + ($70))|0;
- $11 = $72;
- $73 = $13;
- ;HEAP8[$73>>0]=HEAP8[54486>>0]|0;HEAP8[$73+1>>0]=HEAP8[54486+1>>0]|0;HEAP8[$73+2>>0]=HEAP8[54486+2>>0]|0;HEAP8[$73+3>>0]=HEAP8[54486+3>>0]|0;
- $74 = $11;
- $75 = $13;
- $76 = ((($75)) + 4|0);
- (_uint32_to_bin($74,$76)|0);
- $5 = 0;
- $77 = $5;
- STACKTOP = sp;return ($77|0);
-}
-function _write_section_lineno($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = 0;
- $8 = 0;
- $10 = $6;
- $9 = $10;
- $11 = $4;
- $12 = ($11|0)==(0|0);
- $13 = $6;
- $14 = ($13|0)==(0|0);
- $or$cond = $12 | $14;
- if ($or$cond) {
-  $3 = -7;
-  $29 = $3;
-  STACKTOP = sp;return ($29|0);
- } else {
-  $15 = $9;
-  $16 = ((($15)) + 8|0);
-  $9 = $16;
-  $17 = $7;
-  $18 = (($17) + 8)|0;
-  $7 = $18;
-  $19 = $4;
-  $20 = $5;
-  $21 = $9;
-  $22 = (_write_lineno_record($19,$20,$21)|0);
-  $8 = $22;
-  $23 = $8;
-  $24 = $7;
-  $25 = (($24) + ($23))|0;
-  $7 = $25;
-  $26 = $4;
-  $27 = $7;
-  $28 = $6;
-  (_write_section_lineno_header($26,$27,$28)|0);
-  $3 = 0;
-  $29 = $3;
-  STACKTOP = sp;return ($29|0);
- }
- return (0)|0;
-}
-function _write_section_lv($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $11 = sp + 12|0;
- $6 = $0;
- $7 = $1;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- $15 = $8;
- HEAP32[$11>>2] = $15;
- $14 = 0;
- $16 = $6;
- $17 = ($16|0)==(0|0);
- $18 = HEAP32[$11>>2]|0;
- $19 = ($18|0)==(0|0);
- $or$cond = $17 | $19;
- if ($or$cond) {
-  $5 = -7;
-  $46 = $5;
-  STACKTOP = sp;return ($46|0);
- }
- $20 = HEAP32[$11>>2]|0;
- $12 = $20;
- $21 = HEAP32[$11>>2]|0;
- $22 = ((($21)) + 8|0);
- HEAP32[$11>>2] = $22;
- $23 = $6;
- $24 = $9;
- $25 = $10;
- $26 = (_write_lv_sym_table($23,$11,$24,$25)|0);
- $14 = $26;
- $27 = $14;
- $28 = ($27|0)!=(0);
- if (!($28)) {
-  $29 = $6;
-  $30 = $7;
-  $31 = $9;
-  $32 = $10;
-  $33 = (_write_lv_record($29,$30,$11,$31,$32)|0);
-  $14 = $33;
-  $34 = $14;
-  $35 = ($34|0)!=(0);
-  if (!($35)) {
-   $36 = $12;
-   ;HEAP8[$36>>0]=HEAP8[54476>>0]|0;HEAP8[$36+1>>0]=HEAP8[54476+1>>0]|0;HEAP8[$36+2>>0]=HEAP8[54476+2>>0]|0;HEAP8[$36+3>>0]=HEAP8[54476+3>>0]|0;
-   $37 = HEAP32[$11>>2]|0;
-   $38 = $8;
-   $39 = $37;
-   $40 = $38;
-   $41 = (($39) - ($40))|0;
-   $13 = $41;
-   $42 = $13;
-   $43 = $12;
-   $44 = ((($43)) + 4|0);
-   (_uint32_to_bin($42,$44)|0);
-  }
- }
- $45 = $14;
- $5 = $45;
- $46 = $5;
- STACKTOP = sp;return ($46|0);
-}
-function _write_footer($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = sp + 8|0;
- $2 = $0;
- $3 = $1;
- ;HEAP8[$4>>0]=HEAP8[54471>>0]|0;HEAP8[$4+1>>0]=HEAP8[54471+1>>0]|0;HEAP8[$4+2>>0]=HEAP8[54471+2>>0]|0;HEAP8[$4+3>>0]=HEAP8[54471+3>>0]|0;
- $5 = ((($4)) + 4|0);
- (_uint32_to_bin(8,$5)|0);
- $6 = $3;
- ;HEAP8[$6>>0]=HEAP8[$4>>0]|0;HEAP8[$6+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$6+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$6+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$6+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$6+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$6+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$6+7>>0]=HEAP8[$4+7>>0]|0;
- STACKTOP = sp;return 8;
-}
-function _write_rite_binary_header($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $11 = $6;
- $8 = $11;
- $12 = $7;
- $13 = $12&255;
- $14 = $13 & 6;
- switch ($14|0) {
- case 2:  {
-  label = 2;
-  break;
- }
- case 4:  {
-  label = 3;
-  break;
- }
- case 6:  {
-  $17 = (_bigendian_p_3()|0);
-  $18 = ($17|0)!=(0);
-  if ($18) {
-   label = 2;
-  } else {
-   label = 3;
-  }
-  break;
- }
- default: {
- }
- }
- if ((label|0) == 2) {
-  $15 = $8;
-  ;HEAP8[$15>>0]=HEAP8[54446>>0]|0;HEAP8[$15+1>>0]=HEAP8[54446+1>>0]|0;HEAP8[$15+2>>0]=HEAP8[54446+2>>0]|0;HEAP8[$15+3>>0]=HEAP8[54446+3>>0]|0;
- }
- else if ((label|0) == 3) {
-  $16 = $8;
-  ;HEAP8[$16>>0]=HEAP8[54451>>0]|0;HEAP8[$16+1>>0]=HEAP8[54451+1>>0]|0;HEAP8[$16+2>>0]=HEAP8[54451+2>>0]|0;HEAP8[$16+3>>0]=HEAP8[54451+3>>0]|0;
- }
- $19 = $8;
- $20 = ((($19)) + 4|0);
- ;HEAP8[$20>>0]=HEAP8[54456>>0]|0;HEAP8[$20+1>>0]=HEAP8[54456+1>>0]|0;HEAP8[$20+2>>0]=HEAP8[54456+2>>0]|0;HEAP8[$20+3>>0]=HEAP8[54456+3>>0]|0;
- $21 = $8;
- $22 = ((($21)) + 14|0);
- ;HEAP8[$22>>0]=HEAP8[54461>>0]|0;HEAP8[$22+1>>0]=HEAP8[54461+1>>0]|0;HEAP8[$22+2>>0]=HEAP8[54461+2>>0]|0;HEAP8[$22+3>>0]=HEAP8[54461+3>>0]|0;
- $23 = $8;
- $24 = ((($23)) + 18|0);
- ;HEAP8[$24>>0]=HEAP8[54466>>0]|0;HEAP8[$24+1>>0]=HEAP8[54466+1>>0]|0;HEAP8[$24+2>>0]=HEAP8[54466+2>>0]|0;HEAP8[$24+3>>0]=HEAP8[54466+3>>0]|0;
- $25 = $5;
- $26 = $8;
- $27 = ((($26)) + 10|0);
- (_uint32_to_bin($25,$27)|0);
- $28 = $8;
- $29 = ((($28)) + 8|0);
- $30 = $6;
- $31 = $29;
- $32 = $30;
- $33 = (($31) - ($32))|0;
- $34 = (($33) + 2)|0;
- $10 = $34;
- $35 = $6;
- $36 = $10;
- $37 = (($35) + ($36)|0);
- $38 = $5;
- $39 = $10;
- $40 = (($38) - ($39))|0;
- $41 = (_calc_crc_16_ccitt($37,$40,0)|0);
- $9 = $41;
- $42 = $9;
- $43 = $8;
- $44 = ((($43)) + 8|0);
- (_uint16_to_bin($42,$44)|0);
- STACKTOP = sp;return 0;
-}
-function _bigendian_p_3() {
- var $0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $0 = sp + 4|0;
- HEAP32[$0>>2] = 1;
- $1 = $0;
- $2 = $1;
- $3 = HEAP8[$2>>0]|0;
- $4 = $3 << 24 >> 24;
- $5 = ($4|0)!=(0);
- $6 = $5 ? 0 : 1;
- STACKTOP = sp;return ($6|0);
-}
-function _uint32_to_bin($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $4 >>> 24;
- $6 = $5 & 255;
- $7 = $6&255;
- $8 = $3;
- $9 = ((($8)) + 1|0);
- $3 = $9;
- HEAP8[$8>>0] = $7;
- $10 = $2;
- $11 = $10 >>> 16;
- $12 = $11 & 255;
- $13 = $12&255;
- $14 = $3;
- $15 = ((($14)) + 1|0);
- $3 = $15;
- HEAP8[$14>>0] = $13;
- $16 = $2;
- $17 = $16 >>> 8;
- $18 = $17 & 255;
- $19 = $18&255;
- $20 = $3;
- $21 = ((($20)) + 1|0);
- $3 = $21;
- HEAP8[$20>>0] = $19;
- $22 = $2;
- $23 = $22 & 255;
- $24 = $23&255;
- $25 = $3;
- HEAP8[$25>>0] = $24;
- STACKTOP = sp;return 4;
-}
-function _uint16_to_bin($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $4&65535;
- $6 = $5 >> 8;
- $7 = $6 & 255;
- $8 = $7&255;
- $9 = $3;
- $10 = ((($9)) + 1|0);
- $3 = $10;
- HEAP8[$9>>0] = $8;
- $11 = $2;
- $12 = $11&65535;
- $13 = $12 & 255;
- $14 = $13&255;
- $15 = $3;
- HEAP8[$15>>0] = $14;
- STACKTOP = sp;return 2;
-}
-function _write_lv_sym_table($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $11 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $12 = $5;
- $13 = HEAP32[$12>>2]|0;
- $8 = $13;
- $14 = $7;
- $15 = $8;
- $16 = (_uint32_to_bin($14,$15)|0);
- $17 = $8;
- $18 = (($17) + ($16)|0);
- $8 = $18;
- $9 = 0;
- while(1) {
-  $19 = $9;
-  $20 = $7;
-  $21 = ($19>>>0)<($20>>>0);
-  if (!($21)) {
-   break;
-  }
-  $22 = $4;
-  $23 = $6;
-  $24 = $9;
-  $25 = (($23) + ($24<<2)|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = (_mrb_sym2name_len($22,$26,$11)|0);
-  $10 = $27;
-  $28 = HEAP32[$11>>2]|0;
-  $29 = $28&65535;
-  $30 = $8;
-  $31 = (_uint16_to_bin($29,$30)|0);
-  $32 = $8;
-  $33 = (($32) + ($31)|0);
-  $8 = $33;
-  $34 = $8;
-  $35 = $10;
-  $36 = HEAP32[$11>>2]|0;
-  _memcpy(($34|0),($35|0),($36|0))|0;
-  $37 = HEAP32[$11>>2]|0;
-  $38 = $8;
-  $39 = (($38) + ($37)|0);
-  $8 = $39;
-  $40 = $9;
-  $41 = (($40) + 1)|0;
-  $9 = $41;
- }
- $42 = $8;
- $43 = $5;
- HEAP32[$43>>2] = $42;
- STACKTOP = sp;return 0;
-}
-function _write_lv_record($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
- var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $10 = sp + 8|0;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $13 = $7;
- $14 = HEAP32[$13>>2]|0;
- HEAP32[$10>>2] = $14;
- $11 = 0;
- while(1) {
-  $15 = $11;
-  $16 = (($15) + 1)|0;
-  $17 = $6;
-  $18 = HEAP16[$17>>1]|0;
-  $19 = $18&65535;
-  $20 = ($16>>>0)<($19>>>0);
-  if (!($20)) {
-   break;
-  }
-  $21 = $6;
-  $22 = ((($21)) + 24|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = $11;
-  $25 = (($23) + ($24<<3)|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = ($26|0)==(0);
-  if ($27) {
-   $28 = HEAP32[$10>>2]|0;
-   $29 = (_uint16_to_bin(-1,$28)|0);
-   $30 = HEAP32[$10>>2]|0;
-   $31 = (($30) + ($29)|0);
-   HEAP32[$10>>2] = $31;
-   $32 = HEAP32[$10>>2]|0;
-   $33 = (_uint16_to_bin(0,$32)|0);
-   $34 = HEAP32[$10>>2]|0;
-   $35 = (($34) + ($33)|0);
-   HEAP32[$10>>2] = $35;
-  } else {
-   $36 = $8;
-   $37 = $9;
-   $38 = $6;
-   $39 = ((($38)) + 24|0);
-   $40 = HEAP32[$39>>2]|0;
-   $41 = $11;
-   $42 = (($40) + ($41<<3)|0);
-   $43 = HEAP32[$42>>2]|0;
-   $44 = (_find_filename_index($36,$37,$43)|0);
-   $12 = $44;
-   $45 = $12;
-   $46 = $45&65535;
-   $47 = HEAP32[$10>>2]|0;
-   $48 = (_uint16_to_bin($46,$47)|0);
-   $49 = HEAP32[$10>>2]|0;
-   $50 = (($49) + ($48)|0);
-   HEAP32[$10>>2] = $50;
-   $51 = $6;
-   $52 = ((($51)) + 24|0);
-   $53 = HEAP32[$52>>2]|0;
-   $54 = $11;
-   $55 = (($53) + ($54<<3)|0);
-   $56 = ((($55)) + 4|0);
-   $57 = HEAP16[$56>>1]|0;
-   $58 = HEAP32[$10>>2]|0;
-   $59 = (_uint16_to_bin($57,$58)|0);
-   $60 = HEAP32[$10>>2]|0;
-   $61 = (($60) + ($59)|0);
-   HEAP32[$10>>2] = $61;
-  }
-  $62 = $11;
-  $63 = (($62) + 1)|0;
-  $11 = $63;
- }
- $11 = 0;
- while(1) {
-  $64 = $11;
-  $65 = $6;
-  $66 = ((($65)) + 52|0);
-  $67 = HEAP32[$66>>2]|0;
-  $68 = ($64>>>0)<($67>>>0);
-  if (!($68)) {
-   break;
-  }
-  $69 = $5;
-  $70 = $6;
-  $71 = ((($70)) + 20|0);
-  $72 = HEAP32[$71>>2]|0;
-  $73 = $11;
-  $74 = (($72) + ($73<<2)|0);
-  $75 = HEAP32[$74>>2]|0;
-  $76 = $8;
-  $77 = $9;
-  (_write_lv_record($69,$75,$10,$76,$77)|0);
-  $78 = $11;
-  $79 = (($78) + 1)|0;
-  $11 = $79;
- }
- $80 = HEAP32[$10>>2]|0;
- $81 = $7;
- HEAP32[$81>>2] = $80;
- STACKTOP = sp;return 0;
-}
-function _find_filename_index($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = 0;
- while(1) {
-  $8 = $7;
-  $9 = $5;
-  $10 = ($8|0)<($9|0);
-  if (!($10)) {
-   label = 6;
-   break;
-  }
-  $11 = $4;
-  $12 = $7;
-  $13 = (($11) + ($12<<2)|0);
-  $14 = HEAP32[$13>>2]|0;
-  $15 = $6;
-  $16 = ($14|0)==($15|0);
-  $17 = $7;
-  if ($16) {
-   label = 4;
-   break;
-  }
-  $18 = (($17) + 1)|0;
-  $7 = $18;
- }
- if ((label|0) == 4) {
-  $3 = $17;
-  $19 = $3;
-  STACKTOP = sp;return ($19|0);
- }
- else if ((label|0) == 6) {
-  $3 = -1;
-  $19 = $3;
-  STACKTOP = sp;return ($19|0);
- }
- return (0)|0;
-}
-function _write_lineno_record($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = 0;
- $9 = $3;
- $10 = $4;
- $11 = $5;
- $12 = (_write_lineno_record_1($9,$10,$11)|0);
- $7 = $12;
- $13 = $7;
- $14 = $5;
- $15 = (($14) + ($13)|0);
- $5 = $15;
- $16 = $7;
- $17 = $8;
- $18 = (($17) + ($16))|0;
- $8 = $18;
- $6 = 0;
- while(1) {
-  $19 = $6;
-  $20 = $4;
-  $21 = ((($20)) + 52|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = ($19>>>0)<($22>>>0);
-  if (!($23)) {
-   break;
-  }
-  $24 = $3;
-  $25 = $4;
-  $26 = $5;
-  $27 = (_write_lineno_record($24,$25,$26)|0);
-  $7 = $27;
-  $28 = $7;
-  $29 = $5;
-  $30 = (($29) + ($28)|0);
-  $5 = $30;
-  $31 = $7;
-  $32 = $8;
-  $33 = (($32) + ($31))|0;
-  $8 = $33;
-  $34 = $6;
-  $35 = (($34) + 1)|0;
-  $6 = $35;
- }
- $36 = $8;
- STACKTOP = sp;return ($36|0);
-}
-function _write_section_lineno_header($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $5;
- $6 = $7;
- $8 = $6;
- ;HEAP8[$8>>0]=HEAP8[54481>>0]|0;HEAP8[$8+1>>0]=HEAP8[54481+1>>0]|0;HEAP8[$8+2>>0]=HEAP8[54481+2>>0]|0;HEAP8[$8+3>>0]=HEAP8[54481+3>>0]|0;
- $9 = $4;
- $10 = $6;
- $11 = ((($10)) + 4|0);
- (_uint32_to_bin($9,$11)|0);
- STACKTOP = sp;return 0;
-}
-function _write_lineno_record_1($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $10 = $5;
- $6 = $10;
- $11 = $6;
- $12 = ((($11)) + 4|0);
- $6 = $12;
- $13 = $4;
- $14 = ((($13)) + 28|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = ($15|0)!=(0|0);
- if ($16) {
-  $17 = $4;
-  $18 = ((($17)) + 28|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = (_strlen($19)|0);
-  $8 = $20;
- } else {
-  $8 = 0;
- }
- $21 = $8;
- $22 = $21&65535;
- $23 = $6;
- $24 = (_uint16_to_bin($22,$23)|0);
- $25 = $6;
- $26 = (($25) + ($24)|0);
- $6 = $26;
- $27 = $8;
- $28 = ($27|0)!=(0);
- if ($28) {
-  $29 = $6;
-  $30 = $4;
-  $31 = ((($30)) + 28|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = $8;
-  _memcpy(($29|0),($32|0),($33|0))|0;
-  $34 = $8;
-  $35 = $6;
-  $36 = (($35) + ($34)|0);
-  $6 = $36;
- }
- $37 = $4;
- $38 = ((($37)) + 32|0);
- $39 = HEAP32[$38>>2]|0;
- $40 = ($39|0)!=(0|0);
- if (!($40)) {
-  $65 = $6;
-  $66 = (_uint32_to_bin(0,$65)|0);
-  $67 = $6;
-  $68 = (($67) + ($66)|0);
-  $6 = $68;
-  $69 = $6;
-  $70 = $5;
-  $71 = $69;
-  $72 = $70;
-  $73 = (($71) - ($72))|0;
-  $9 = $73;
-  $74 = $9;
-  $75 = $5;
-  (_uint32_to_bin($74,$75)|0);
-  $76 = $9;
-  STACKTOP = sp;return ($76|0);
- }
- $41 = $4;
- $42 = ((($41)) + 40|0);
- $43 = HEAP32[$42>>2]|0;
- $44 = $6;
- $45 = (_uint32_to_bin($43,$44)|0);
- $46 = $6;
- $47 = (($46) + ($45)|0);
- $6 = $47;
- $7 = 0;
- while(1) {
-  $48 = $7;
-  $49 = $4;
-  $50 = ((($49)) + 40|0);
-  $51 = HEAP32[$50>>2]|0;
-  $52 = ($48>>>0)<($51>>>0);
-  if (!($52)) {
-   break;
-  }
-  $53 = $4;
-  $54 = ((($53)) + 32|0);
-  $55 = HEAP32[$54>>2]|0;
-  $56 = $7;
-  $57 = (($55) + ($56<<1)|0);
-  $58 = HEAP16[$57>>1]|0;
-  $59 = $6;
-  $60 = (_uint16_to_bin($58,$59)|0);
-  $61 = $6;
-  $62 = (($61) + ($60)|0);
-  $6 = $62;
-  $63 = $7;
-  $64 = (($63) + 1)|0;
-  $7 = $64;
- }
- $69 = $6;
- $70 = $5;
- $71 = $69;
- $72 = $70;
- $73 = (($71) - ($72))|0;
- $9 = $73;
- $74 = $9;
- $75 = $5;
- (_uint32_to_bin($74,$75)|0);
- $76 = $9;
- STACKTOP = sp;return ($76|0);
-}
-function _write_debug_record($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $13 = $5;
- $14 = $6;
- $15 = $7;
- $16 = $8;
- $17 = $9;
- $18 = (_write_debug_record_1($13,$14,$15,$16,$17)|0);
- $11 = $18;
- $10 = $18;
- $19 = $11;
- $20 = $7;
- $21 = (($20) + ($19)|0);
- $7 = $21;
- $12 = 0;
- while(1) {
-  $22 = $12;
-  $23 = $6;
-  $24 = ((($23)) + 52|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = ($22>>>0)<($25>>>0);
-  if (!($26)) {
-   break;
-  }
-  $27 = $5;
-  $28 = $6;
-  $29 = ((($28)) + 20|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = $12;
-  $32 = (($30) + ($31<<2)|0);
-  $33 = HEAP32[$32>>2]|0;
-  $34 = $7;
-  $35 = $8;
-  $36 = $9;
-  $37 = (_write_debug_record($27,$33,$34,$35,$36)|0);
-  $11 = $37;
-  $38 = $11;
-  $39 = $7;
-  $40 = (($39) + ($38)|0);
-  $7 = $40;
-  $41 = $11;
-  $42 = $10;
-  $43 = (($42) + ($41))|0;
-  $10 = $43;
-  $44 = $12;
-  $45 = (($44) + 1)|0;
-  $12 = $45;
- }
- $46 = $10;
- STACKTOP = sp;return ($46|0);
-}
-function _write_debug_record_1($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
- var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
- var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
- var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
- var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $17 = $7;
- $18 = ((($17)) + 4|0);
- $10 = $18;
- $19 = $6;
- $20 = ((($19)) + 36|0);
- $21 = HEAP32[$20>>2]|0;
- $22 = ((($21)) + 4|0);
- $23 = HEAP16[$22>>1]|0;
- $24 = $10;
- $25 = (_uint16_to_bin($23,$24)|0);
- $26 = $10;
- $27 = (($26) + ($25)|0);
- $10 = $27;
- $11 = 0;
- while(1) {
-  $28 = $11;
-  $29 = $28&65535;
-  $30 = $6;
-  $31 = ((($30)) + 36|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = ((($32)) + 4|0);
-  $34 = HEAP16[$33>>1]|0;
-  $35 = $34&65535;
-  $36 = ($29|0)<($35|0);
-  if (!($36)) {
-   break;
-  }
-  $37 = $6;
-  $38 = ((($37)) + 36|0);
-  $39 = HEAP32[$38>>2]|0;
-  $40 = ((($39)) + 8|0);
-  $41 = HEAP32[$40>>2]|0;
-  $42 = $11;
-  $43 = $42&65535;
-  $44 = (($41) + ($43<<2)|0);
-  $45 = HEAP32[$44>>2]|0;
-  $14 = $45;
-  $46 = $14;
-  $47 = HEAP32[$46>>2]|0;
-  $48 = $10;
-  $49 = (_uint32_to_bin($47,$48)|0);
-  $50 = $10;
-  $51 = (($50) + ($49)|0);
-  $10 = $51;
-  $52 = $8;
-  $53 = $9;
-  $54 = $53&65535;
-  $55 = $14;
-  $56 = ((($55)) + 8|0);
-  $57 = HEAP32[$56>>2]|0;
-  $58 = (_find_filename_index($52,$54,$57)|0);
-  $13 = $58;
-  $59 = $13;
-  $60 = $59&65535;
-  $61 = $10;
-  $62 = (_uint16_to_bin($60,$61)|0);
-  $63 = $10;
-  $64 = (($63) + ($62)|0);
-  $10 = $64;
-  $65 = $14;
-  $66 = ((($65)) + 12|0);
-  $67 = HEAP32[$66>>2]|0;
-  $68 = $10;
-  $69 = (_uint32_to_bin($67,$68)|0);
-  $70 = $10;
-  $71 = (($70) + ($69)|0);
-  $10 = $71;
-  $72 = $14;
-  $73 = ((($72)) + 16|0);
-  $74 = HEAP32[$73>>2]|0;
-  $75 = $74&255;
-  $76 = $10;
-  $77 = (_uint8_to_bin($75,$76)|0);
-  $78 = $10;
-  $79 = (($78) + ($77)|0);
-  $10 = $79;
-  $80 = $14;
-  $81 = ((($80)) + 16|0);
-  $82 = HEAP32[$81>>2]|0;
-  L4: do {
-   switch ($82|0) {
-   case 0:  {
-    $15 = 0;
-    while(1) {
-     $83 = $15;
-     $84 = $14;
-     $85 = ((($84)) + 12|0);
-     $86 = HEAP32[$85>>2]|0;
-     $87 = ($83>>>0)<($86>>>0);
-     if (!($87)) {
-      break L4;
-     }
-     $88 = $14;
-     $89 = ((($88)) + 20|0);
-     $90 = HEAP32[$89>>2]|0;
-     $91 = $15;
-     $92 = (($90) + ($91<<1)|0);
-     $93 = HEAP16[$92>>1]|0;
-     $94 = $10;
-     $95 = (_uint16_to_bin($93,$94)|0);
-     $96 = $10;
-     $97 = (($96) + ($95)|0);
-     $10 = $97;
-     $98 = $15;
-     $99 = (($98) + 1)|0;
-     $15 = $99;
-    }
-    break;
-   }
-   case 1:  {
-    $16 = 0;
-    while(1) {
-     $100 = $16;
-     $101 = $14;
-     $102 = ((($101)) + 12|0);
-     $103 = HEAP32[$102>>2]|0;
-     $104 = ($100>>>0)<($103>>>0);
-     if (!($104)) {
-      break L4;
-     }
-     $105 = $14;
-     $106 = ((($105)) + 20|0);
-     $107 = HEAP32[$106>>2]|0;
-     $108 = $16;
-     $109 = (($107) + ($108<<3)|0);
-     $110 = HEAP32[$109>>2]|0;
-     $111 = $10;
-     $112 = (_uint32_to_bin($110,$111)|0);
-     $113 = $10;
-     $114 = (($113) + ($112)|0);
-     $10 = $114;
-     $115 = $14;
-     $116 = ((($115)) + 20|0);
-     $117 = HEAP32[$116>>2]|0;
-     $118 = $16;
-     $119 = (($117) + ($118<<3)|0);
-     $120 = ((($119)) + 4|0);
-     $121 = HEAP16[$120>>1]|0;
-     $122 = $10;
-     $123 = (_uint16_to_bin($121,$122)|0);
-     $124 = $10;
-     $125 = (($124) + ($123)|0);
-     $10 = $125;
-     $126 = $16;
-     $127 = (($126) + 1)|0;
-     $16 = $127;
-    }
-    break;
-   }
-   default: {
-   }
-   }
-  } while(0);
-  $128 = $11;
-  $129 = (($128) + 1)<<16>>16;
-  $11 = $129;
- }
- $130 = $10;
- $131 = $7;
- $132 = $130;
- $133 = $131;
- $134 = (($132) - ($133))|0;
- $12 = $134;
- $135 = $12;
- $136 = $7;
- (_uint32_to_bin($135,$136)|0);
- $137 = $12;
- STACKTOP = sp;return ($137|0);
-}
-function _uint8_to_bin($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- HEAP8[$5>>0] = $4;
- STACKTOP = sp;return 1;
-}
-function _write_irep_record($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
- var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $14 = sp;
- $6 = $0;
- $7 = $1;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- $15 = $8;
- $12 = $15;
- $16 = $7;
- $17 = ($16|0)==(0|0);
- if ($17) {
-  $5 = -6;
-  $79 = $5;
-  STACKTOP = sp;return ($79|0);
- }
- $18 = $6;
- $19 = $7;
- $20 = (_get_irep_record_size_1($18,$19)|0);
- $21 = $9;
- HEAP32[$21>>2] = $20;
- $22 = $9;
- $23 = HEAP32[$22>>2]|0;
- $24 = ($23|0)==(0);
- if ($24) {
-  $5 = -1;
-  $79 = $5;
-  STACKTOP = sp;return ($79|0);
- }
- $25 = $6;
- $26 = $7;
- $27 = $8;
- $28 = (_write_irep_header($25,$26,$27)|0);
- $29 = $8;
- $30 = (($29) + ($28)|0);
- $8 = $30;
- $31 = $6;
- $32 = $7;
- $33 = $8;
- $34 = $10;
- $35 = (_write_iseq_block($31,$32,$33,$34)|0);
- $36 = $8;
- $37 = (($36) + ($35)|0);
- $8 = $37;
- $38 = $6;
- $39 = $7;
- $40 = $8;
- $41 = (_write_pool_block($38,$39,$40)|0);
- $42 = $8;
- $43 = (($42) + ($41)|0);
- $8 = $43;
- $44 = $6;
- $45 = $7;
- $46 = $8;
- $47 = (_write_syms_block($44,$45,$46)|0);
- $48 = $8;
- $49 = (($48) + ($47)|0);
- $8 = $49;
- $11 = 0;
- while(1) {
-  $50 = $11;
-  $51 = $7;
-  $52 = ((($51)) + 52|0);
-  $53 = HEAP32[$52>>2]|0;
-  $54 = ($50>>>0)<($53>>>0);
-  if (!($54)) {
-   label = 10;
-   break;
-  }
-  $55 = $6;
-  $56 = $7;
-  $57 = ((($56)) + 20|0);
-  $58 = HEAP32[$57>>2]|0;
-  $59 = $11;
-  $60 = (($58) + ($59<<2)|0);
-  $61 = HEAP32[$60>>2]|0;
-  $62 = $8;
-  $63 = $10;
-  $64 = (_write_irep_record($55,$61,$62,$14,$63)|0);
-  $13 = $64;
-  $65 = $13;
-  $66 = ($65|0)!=(0);
-  if ($66) {
-   label = 8;
-   break;
-  }
-  $68 = HEAP32[$14>>2]|0;
-  $69 = $8;
-  $70 = (($69) + ($68)|0);
-  $8 = $70;
-  $71 = $11;
-  $72 = (($71) + 1)|0;
-  $11 = $72;
- }
- if ((label|0) == 8) {
-  $67 = $13;
-  $5 = $67;
-  $79 = $5;
-  STACKTOP = sp;return ($79|0);
- }
- else if ((label|0) == 10) {
-  $73 = $8;
-  $74 = $12;
-  $75 = $73;
-  $76 = $74;
-  $77 = (($75) - ($76))|0;
-  $78 = $9;
-  HEAP32[$78>>2] = $77;
-  $5 = 0;
-  $79 = $5;
-  STACKTOP = sp;return ($79|0);
- }
- return (0)|0;
-}
-function _write_section_irep_header($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $5;
- $6 = $7;
- $8 = $6;
- ;HEAP8[$8>>0]=HEAP8[54491>>0]|0;HEAP8[$8+1>>0]=HEAP8[54491+1>>0]|0;HEAP8[$8+2>>0]=HEAP8[54491+2>>0]|0;HEAP8[$8+3>>0]=HEAP8[54491+3>>0]|0;
- $9 = $4;
- $10 = $6;
- $11 = ((($10)) + 4|0);
- (_uint32_to_bin($9,$11)|0);
- $12 = $6;
- $13 = ((($12)) + 8|0);
- ;HEAP8[$13>>0]=HEAP8[54466>>0]|0;HEAP8[$13+1>>0]=HEAP8[54466+1>>0]|0;HEAP8[$13+2>>0]=HEAP8[54466+2>>0]|0;HEAP8[$13+3>>0]=HEAP8[54466+3>>0]|0;
- STACKTOP = sp;return 0;
-}
-function _get_irep_record_size_1($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $5 = $2;
- $6 = (_get_irep_header_size($5)|0);
- $7 = $4;
- $8 = (($7) + ($6))|0;
- $4 = $8;
- $9 = $2;
- $10 = $3;
- $11 = (_get_iseq_block_size($9,$10)|0);
- $12 = $4;
- $13 = (($12) + ($11))|0;
- $4 = $13;
- $14 = $2;
- $15 = $3;
- $16 = (_get_pool_block_size($14,$15)|0);
- $17 = $4;
- $18 = (($17) + ($16))|0;
- $4 = $18;
- $19 = $2;
- $20 = $3;
- $21 = (_get_syms_block_size($19,$20)|0);
- $22 = $4;
- $23 = (($22) + ($21))|0;
- $4 = $23;
- $24 = $4;
- STACKTOP = sp;return ($24|0);
-}
-function _write_irep_header($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $5;
- $6 = $7;
- $8 = $3;
- $9 = $4;
- $10 = (_get_irep_record_size_1($8,$9)|0);
- $11 = $6;
- $12 = (_uint32_to_bin($10,$11)|0);
- $13 = $6;
- $14 = (($13) + ($12)|0);
- $6 = $14;
- $15 = $4;
- $16 = HEAP16[$15>>1]|0;
- $17 = $6;
- $18 = (_uint16_to_bin($16,$17)|0);
- $19 = $6;
- $20 = (($19) + ($18)|0);
- $6 = $20;
- $21 = $4;
- $22 = ((($21)) + 2|0);
- $23 = HEAP16[$22>>1]|0;
- $24 = $6;
- $25 = (_uint16_to_bin($23,$24)|0);
- $26 = $6;
- $27 = (($26) + ($25)|0);
- $6 = $27;
- $28 = $4;
- $29 = ((($28)) + 52|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = $30&65535;
- $32 = $6;
- $33 = (_uint16_to_bin($31,$32)|0);
- $34 = $6;
- $35 = (($34) + ($33)|0);
- $6 = $35;
- $36 = $6;
- $37 = $5;
- $38 = $36;
- $39 = $37;
- $40 = (($38) - ($39))|0;
- STACKTOP = sp;return ($40|0);
-}
-function _write_iseq_block($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $10 = $6;
- $8 = $10;
- $11 = $5;
- $12 = ((($11)) + 40|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $8;
- $15 = (_uint32_to_bin($13,$14)|0);
- $16 = $8;
- $17 = (($16) + ($15)|0);
- $8 = $17;
- $18 = $8;
- $19 = (_write_padding($18)|0);
- $20 = $8;
- $21 = (($20) + ($19)|0);
- $8 = $21;
- $22 = $7;
- $23 = $22&255;
- $24 = $23 & 6;
- switch ($24|0) {
- case 2:  {
-  $25 = (_bigendian_p_3()|0);
-  $26 = ($25|0)!=(0);
-  if (!($26)) {
-   $9 = 0;
-   while(1) {
-    $27 = $9;
-    $28 = $5;
-    $29 = ((($28)) + 40|0);
-    $30 = HEAP32[$29>>2]|0;
-    $31 = ($27>>>0)<($30>>>0);
-    if (!($31)) {
-     break;
-    }
-    $32 = $5;
-    $33 = ((($32)) + 8|0);
-    $34 = HEAP32[$33>>2]|0;
-    $35 = $9;
-    $36 = (($34) + ($35<<2)|0);
-    $37 = HEAP32[$36>>2]|0;
-    $38 = $8;
-    $39 = (_uint32_to_bin($37,$38)|0);
-    $40 = $8;
-    $41 = (($40) + ($39)|0);
-    $8 = $41;
-    $42 = $9;
-    $43 = (($42) + 1)|0;
-    $9 = $43;
-   }
-   $77 = $8;
-   $78 = $6;
-   $79 = $77;
-   $80 = $78;
-   $81 = (($79) - ($80))|0;
-   STACKTOP = sp;return ($81|0);
-  }
-  break;
- }
- case 4:  {
-  $44 = (_bigendian_p_3()|0);
-  $45 = ($44|0)!=(0);
-  if ($45) {
-   $9 = 0;
-   while(1) {
-    $46 = $9;
-    $47 = $5;
-    $48 = ((($47)) + 40|0);
-    $49 = HEAP32[$48>>2]|0;
-    $50 = ($46>>>0)<($49>>>0);
-    if (!($50)) {
-     break;
-    }
-    $51 = $5;
-    $52 = ((($51)) + 8|0);
-    $53 = HEAP32[$52>>2]|0;
-    $54 = $9;
-    $55 = (($53) + ($54<<2)|0);
-    $56 = HEAP32[$55>>2]|0;
-    $57 = $8;
-    $58 = (_uint32l_to_bin($56,$57)|0);
-    $59 = $8;
-    $60 = (($59) + ($58)|0);
-    $8 = $60;
-    $61 = $9;
-    $62 = (($61) + 1)|0;
-    $9 = $62;
-   }
-   $77 = $8;
-   $78 = $6;
-   $79 = $77;
-   $80 = $78;
-   $81 = (($79) - ($80))|0;
-   STACKTOP = sp;return ($81|0);
-  }
-  break;
- }
- case 6:  {
-  break;
- }
- default: {
-  $77 = $8;
-  $78 = $6;
-  $79 = $77;
-  $80 = $78;
-  $81 = (($79) - ($80))|0;
-  STACKTOP = sp;return ($81|0);
- }
- }
- $63 = $8;
- $64 = $5;
- $65 = ((($64)) + 8|0);
- $66 = HEAP32[$65>>2]|0;
- $67 = $5;
- $68 = ((($67)) + 40|0);
- $69 = HEAP32[$68>>2]|0;
- $70 = $69<<2;
- _memcpy(($63|0),($66|0),($70|0))|0;
- $71 = $5;
- $72 = ((($71)) + 40|0);
- $73 = HEAP32[$72>>2]|0;
- $74 = $73<<2;
- $75 = $8;
- $76 = (($75) + ($74)|0);
- $8 = $76;
- $77 = $8;
- $78 = $6;
- $79 = $77;
- $80 = $78;
- $81 = (($79) - ($80))|0;
- STACKTOP = sp;return ($81|0);
-}
-function _write_pool_block($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $12 = 0, $13 = 0, $14 = 0;
- var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
- var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
- var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
- var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
- var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy1 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $9 = sp + 32|0;
- $12 = sp + 16|0;
- $13 = sp + 8|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $15 = $5;
- $7 = $15;
- $16 = $4;
- $17 = ((($16)) + 44|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = $7;
- $20 = (_uint32_to_bin($18,$19)|0);
- $21 = $7;
- $22 = (($21) + ($20)|0);
- $7 = $22;
- $6 = 0;
- while(1) {
-  $23 = $6;
-  $24 = $4;
-  $25 = ((($24)) + 44|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = ($23>>>0)<($26>>>0);
-  if (!($27)) {
-   break;
-  }
-  $28 = $3;
-  $29 = (_mrb_gc_arena_save($28)|0);
-  $11 = $29;
-  $30 = $4;
-  $31 = ((($30)) + 12|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = $6;
-  $34 = (($32) + ($33<<3)|0);
-  $35 = ((($34)) + 4|0);
-  $36 = HEAP32[$35>>2]|0;
-  switch ($36|0) {
-  case 3:  {
-   $37 = $7;
-   $38 = (_uint8_to_bin(1,$37)|0);
-   $39 = $7;
-   $40 = (($39) + ($38)|0);
-   $7 = $40;
-   $41 = $3;
-   $42 = $4;
-   $43 = ((($42)) + 12|0);
-   $44 = HEAP32[$43>>2]|0;
-   $45 = $6;
-   $46 = (($44) + ($45<<3)|0);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$46>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$46+4>>2]|0;
-   _mrb_fixnum_to_str($12,$41,$$byval_copy,10);
-   ;HEAP32[$9>>2]=HEAP32[$12>>2]|0;HEAP32[$9+4>>2]=HEAP32[$12+4>>2]|0;
-   label = 7;
-   break;
-  }
-  case 6:  {
-   $47 = $7;
-   $48 = (_uint8_to_bin(2,$47)|0);
-   $49 = $7;
-   $50 = (($49) + ($48)|0);
-   $7 = $50;
-   $51 = $3;
-   $52 = $4;
-   $53 = ((($52)) + 12|0);
-   $54 = HEAP32[$53>>2]|0;
-   $55 = $6;
-   $56 = (($54) + ($55<<3)|0);
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$56>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$56+4>>2]|0;
-   _mrb_float_to_str($13,$51,$$byval_copy1,54496);
-   ;HEAP32[$9>>2]=HEAP32[$13>>2]|0;HEAP32[$9+4>>2]=HEAP32[$13+4>>2]|0;
-   label = 7;
-   break;
-  }
-  case 16:  {
-   $57 = $7;
-   $58 = (_uint8_to_bin(0,$57)|0);
-   $59 = $7;
-   $60 = (($59) + ($58)|0);
-   $7 = $60;
-   $61 = $4;
-   $62 = ((($61)) + 12|0);
-   $63 = HEAP32[$62>>2]|0;
-   $64 = $6;
-   $65 = (($63) + ($64<<3)|0);
-   ;HEAP32[$9>>2]=HEAP32[$65>>2]|0;HEAP32[$9+4>>2]=HEAP32[$65+4>>2]|0;
-   label = 7;
-   break;
-  }
-  default: {
-  }
-  }
-  if ((label|0) == 7) {
-   label = 0;
-   $66 = HEAP32[$9>>2]|0;
-   $67 = HEAP32[$66>>2]|0;
-   $68 = $67 >>> 11;
-   $69 = $68 & 8;
-   $70 = ($69|0)!=(0);
-   $71 = HEAP32[$9>>2]|0;
-   $72 = ((($71)) + 12|0);
-   if ($70) {
-    $75 = $72;
-   } else {
-    $73 = ((($72)) + 8|0);
-    $74 = HEAP32[$73>>2]|0;
-    $75 = $74;
-   }
-   $10 = $75;
-   $76 = HEAP32[$9>>2]|0;
-   $77 = HEAP32[$76>>2]|0;
-   $78 = $77 >>> 11;
-   $79 = $78 & 8;
-   $80 = ($79|0)!=(0);
-   $81 = HEAP32[$9>>2]|0;
-   if ($80) {
-    $82 = HEAP32[$81>>2]|0;
-    $83 = $82 >>> 11;
-    $84 = $83 & 496;
-    $85 = $84 >> 4;
-    $88 = $85;
-   } else {
-    $86 = ((($81)) + 12|0);
-    $87 = HEAP32[$86>>2]|0;
-    $88 = $87;
-   }
-   $14 = $88;
-   $89 = $14;
-   $90 = $89&65535;
-   $8 = $90;
-   $91 = $8;
-   $92 = $7;
-   $93 = (_uint16_to_bin($91,$92)|0);
-   $94 = $7;
-   $95 = (($94) + ($93)|0);
-   $7 = $95;
-   $96 = $7;
-   $97 = $10;
-   $98 = $8;
-   $99 = $98&65535;
-   _memcpy(($96|0),($97|0),($99|0))|0;
-   $100 = $8;
-   $101 = $100&65535;
-   $102 = $7;
-   $103 = (($102) + ($101)|0);
-   $7 = $103;
-   $104 = $3;
-   $105 = $11;
-   _mrb_gc_arena_restore($104,$105);
-  }
-  $106 = $6;
-  $107 = (($106) + 1)|0;
-  $6 = $107;
- }
- $108 = $7;
- $109 = $5;
- $110 = $108;
- $111 = $109;
- $112 = (($110) - ($111))|0;
- STACKTOP = sp;return ($112|0);
-}
-function _write_syms_block($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $9 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $10 = $5;
- $7 = $10;
- $11 = $4;
- $12 = ((($11)) + 48|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $7;
- $15 = (_uint32_to_bin($13,$14)|0);
- $16 = $7;
- $17 = (($16) + ($15)|0);
- $7 = $17;
- $6 = 0;
- while(1) {
-  $18 = $6;
-  $19 = $4;
-  $20 = ((($19)) + 48|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = ($18>>>0)<($21>>>0);
-  if (!($22)) {
-   break;
-  }
-  $23 = $4;
-  $24 = ((($23)) + 16|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $6;
-  $27 = (($25) + ($26<<2)|0);
-  $28 = HEAP32[$27>>2]|0;
-  $29 = ($28|0)!=(0);
-  if ($29) {
-   $30 = $3;
-   $31 = $4;
-   $32 = ((($31)) + 16|0);
-   $33 = HEAP32[$32>>2]|0;
-   $34 = $6;
-   $35 = (($33) + ($34<<2)|0);
-   $36 = HEAP32[$35>>2]|0;
-   $37 = (_mrb_sym2name_len($30,$36,$9)|0);
-   $8 = $37;
-   $38 = HEAP32[$9>>2]|0;
-   $39 = $38&65535;
-   $40 = $7;
-   $41 = (_uint16_to_bin($39,$40)|0);
-   $42 = $7;
-   $43 = (($42) + ($41)|0);
-   $7 = $43;
-   $44 = $7;
-   $45 = $8;
-   $46 = HEAP32[$9>>2]|0;
-   _memcpy(($44|0),($45|0),($46|0))|0;
-   $47 = HEAP32[$9>>2]|0;
-   $48 = $47&65535;
-   $49 = $48&65535;
-   $50 = $7;
-   $51 = (($50) + ($49)|0);
-   $7 = $51;
-   $52 = $7;
-   $53 = ((($52)) + 1|0);
-   $7 = $53;
-   HEAP8[$52>>0] = 0;
-  } else {
-   $54 = $7;
-   $55 = (_uint16_to_bin(-1,$54)|0);
-   $56 = $7;
-   $57 = (($56) + ($55)|0);
-   $7 = $57;
-  }
-  $58 = $6;
-  $59 = (($58) + 1)|0;
-  $6 = $59;
- }
- $60 = $7;
- $61 = $5;
- $62 = $60;
- $63 = $61;
- $64 = (($62) - ($63))|0;
- STACKTOP = sp;return ($64|0);
-}
-function _write_padding($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = 4;
- $4 = $1;
- $5 = $4;
- $6 = (0 - ($5))|0;
- $7 = $6 & 3;
- $3 = $7;
- $8 = $3;
- $9 = ($8>>>0)>(0);
- if ($9) {
-  $10 = $1;
-  $11 = $3;
-  _memset(($10|0),0,($11|0))|0;
- }
- $12 = $3;
- STACKTOP = sp;return ($12|0);
-}
-function _uint32l_to_bin($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $4 >>> 24;
- $6 = $5 & 255;
- $7 = $6&255;
- $8 = $3;
- $9 = ((($8)) + 3|0);
- HEAP8[$9>>0] = $7;
- $10 = $2;
- $11 = $10 >>> 16;
- $12 = $11 & 255;
- $13 = $12&255;
- $14 = $3;
- $15 = ((($14)) + 2|0);
- HEAP8[$15>>0] = $13;
- $16 = $2;
- $17 = $16 >>> 8;
- $18 = $17 & 255;
- $19 = $18&255;
- $20 = $3;
- $21 = ((($20)) + 1|0);
- HEAP8[$21>>0] = $19;
- $22 = $2;
- $23 = $22 & 255;
- $24 = $23&255;
- $25 = $3;
- HEAP8[$25>>0] = $24;
- STACKTOP = sp;return 4;
-}
-function _get_irep_header_size($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = 0;
- $3 = $2;
- $4 = (($3) + 4)|0;
- $2 = $4;
- $5 = $2;
- $6 = (($5) + 6)|0;
- $2 = $6;
- $7 = $2;
- STACKTOP = sp;return ($7|0);
-}
-function _get_iseq_block_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $5 = $4;
- $6 = (($5) + 4)|0;
- $4 = $6;
- $7 = $4;
- $8 = (($7) + 4)|0;
- $4 = $8;
- $9 = $3;
- $10 = ((($9)) + 40|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = $11<<2;
- $13 = $4;
- $14 = (($13) + ($12))|0;
- $4 = $14;
- $15 = $4;
- STACKTOP = sp;return ($15|0);
-}
-function _get_pool_block_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
- var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
- var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
- var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
- var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
- var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy1 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $6 = sp + 40|0;
- $8 = sp + 24|0;
- $10 = sp + 8|0;
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $13 = $4;
- $14 = (($13) + 4)|0;
- $4 = $14;
- $15 = $3;
- $16 = ((($15)) + 44|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17*3)|0;
- $19 = $4;
- $20 = (($19) + ($18))|0;
- $4 = $20;
- $5 = 0;
- while(1) {
-  $21 = $5;
-  $22 = $3;
-  $23 = ((($22)) + 44|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = ($21>>>0)<($24>>>0);
-  if (!($25)) {
-   break;
-  }
-  $26 = $2;
-  $27 = (_mrb_gc_arena_save($26)|0);
-  $7 = $27;
-  $28 = $3;
-  $29 = ((($28)) + 12|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = $5;
-  $32 = (($30) + ($31<<3)|0);
-  $33 = ((($32)) + 4|0);
-  $34 = HEAP32[$33>>2]|0;
-  switch ($34|0) {
-  case 3:  {
-   $35 = $2;
-   $36 = $3;
-   $37 = ((($36)) + 12|0);
-   $38 = HEAP32[$37>>2]|0;
-   $39 = $5;
-   $40 = (($38) + ($39<<3)|0);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$40+4>>2]|0;
-   _mrb_fixnum_to_str($8,$35,$$byval_copy,10);
-   ;HEAP32[$6>>2]=HEAP32[$8>>2]|0;HEAP32[$6+4>>2]=HEAP32[$8+4>>2]|0;
-   $41 = HEAP32[$6>>2]|0;
-   $42 = HEAP32[$41>>2]|0;
-   $43 = $42 >>> 11;
-   $44 = $43 & 8;
-   $45 = ($44|0)!=(0);
-   $46 = HEAP32[$6>>2]|0;
-   if ($45) {
-    $47 = HEAP32[$46>>2]|0;
-    $48 = $47 >>> 11;
-    $49 = $48 & 496;
-    $50 = $49 >> 4;
-    $53 = $50;
-   } else {
-    $51 = ((($46)) + 12|0);
-    $52 = HEAP32[$51>>2]|0;
-    $53 = $52;
-   }
-   $9 = $53;
-   $54 = $9;
-   $55 = $4;
-   $56 = (($55) + ($54))|0;
-   $4 = $56;
-   break;
-  }
-  case 6:  {
-   $57 = $2;
-   $58 = $3;
-   $59 = ((($58)) + 12|0);
-   $60 = HEAP32[$59>>2]|0;
-   $61 = $5;
-   $62 = (($60) + ($61<<3)|0);
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$62>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$62+4>>2]|0;
-   _mrb_float_to_str($10,$57,$$byval_copy1,54496);
-   ;HEAP32[$6>>2]=HEAP32[$10>>2]|0;HEAP32[$6+4>>2]=HEAP32[$10+4>>2]|0;
-   $63 = HEAP32[$6>>2]|0;
-   $64 = HEAP32[$63>>2]|0;
-   $65 = $64 >>> 11;
-   $66 = $65 & 8;
-   $67 = ($66|0)!=(0);
-   $68 = HEAP32[$6>>2]|0;
-   if ($67) {
-    $69 = HEAP32[$68>>2]|0;
-    $70 = $69 >>> 11;
-    $71 = $70 & 496;
-    $72 = $71 >> 4;
-    $75 = $72;
-   } else {
-    $73 = ((($68)) + 12|0);
-    $74 = HEAP32[$73>>2]|0;
-    $75 = $74;
-   }
-   $11 = $75;
-   $76 = $11;
-   $77 = $4;
-   $78 = (($77) + ($76))|0;
-   $4 = $78;
-   break;
-  }
-  case 16:  {
-   $79 = $3;
-   $80 = ((($79)) + 12|0);
-   $81 = HEAP32[$80>>2]|0;
-   $82 = $5;
-   $83 = (($81) + ($82<<3)|0);
-   $84 = HEAP32[$83>>2]|0;
-   $85 = HEAP32[$84>>2]|0;
-   $86 = $85 >>> 11;
-   $87 = $86 & 8;
-   $88 = ($87|0)!=(0);
-   $89 = $3;
-   $90 = ((($89)) + 12|0);
-   $91 = HEAP32[$90>>2]|0;
-   $92 = $5;
-   $93 = (($91) + ($92<<3)|0);
-   $94 = HEAP32[$93>>2]|0;
-   if ($88) {
-    $95 = HEAP32[$94>>2]|0;
-    $96 = $95 >>> 11;
-    $97 = $96 & 496;
-    $98 = $97 >> 4;
-    $101 = $98;
-   } else {
-    $99 = ((($94)) + 12|0);
-    $100 = HEAP32[$99>>2]|0;
-    $101 = $100;
-   }
-   $12 = $101;
-   $102 = $12;
-   $103 = $4;
-   $104 = (($103) + ($102))|0;
-   $4 = $104;
-   break;
-  }
-  default: {
-  }
-  }
-  $105 = $2;
-  $106 = $7;
-  _mrb_gc_arena_restore($105,$106);
-  $107 = $5;
-  $108 = (($107) + 1)|0;
-  $5 = $108;
- }
- $109 = $4;
- STACKTOP = sp;return ($109|0);
-}
-function _get_syms_block_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $6 = sp;
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $7 = $4;
- $8 = (($7) + 4)|0;
- $4 = $8;
- $5 = 0;
- while(1) {
-  $9 = $5;
-  $10 = $3;
-  $11 = ((($10)) + 48|0);
-  $12 = HEAP32[$11>>2]|0;
-  $13 = ($9>>>0)<($12>>>0);
-  $14 = $4;
-  if (!($13)) {
-   break;
-  }
-  $15 = (($14) + 2)|0;
-  $4 = $15;
-  $16 = $3;
-  $17 = ((($16)) + 16|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = $5;
-  $20 = (($18) + ($19<<2)|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = ($21|0)!=(0);
-  if ($22) {
-   $23 = $2;
-   $24 = $3;
-   $25 = ((($24)) + 16|0);
-   $26 = HEAP32[$25>>2]|0;
-   $27 = $5;
-   $28 = (($26) + ($27<<2)|0);
-   $29 = HEAP32[$28>>2]|0;
-   (_mrb_sym2name_len($23,$29,$6)|0);
-   $30 = HEAP32[$6>>2]|0;
-   $31 = (($30) + 1)|0;
-   $32 = $4;
-   $33 = (($32) + ($31))|0;
-   $4 = $33;
-  }
-  $34 = $5;
-  $35 = (($34) + 1)|0;
-  $5 = $35;
- }
- STACKTOP = sp;return ($14|0);
-}
-function _get_lv_record_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $6 = $3;
- $7 = HEAP16[$6>>1]|0;
- $8 = $7&65535;
- $9 = (($8) - 1)|0;
- $10 = $9<<2;
- $11 = $4;
- $12 = (($11) + ($10))|0;
- $4 = $12;
- $5 = 0;
- while(1) {
-  $13 = $5;
-  $14 = $3;
-  $15 = ((($14)) + 52|0);
-  $16 = HEAP32[$15>>2]|0;
-  $17 = ($13>>>0)<($16>>>0);
-  if (!($17)) {
-   break;
-  }
-  $18 = $2;
-  $19 = $3;
-  $20 = ((($19)) + 20|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $5;
-  $23 = (($21) + ($22<<2)|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = (_get_lv_record_size($18,$24)|0);
-  $26 = $4;
-  $27 = (($26) + ($25))|0;
-  $4 = $27;
-  $28 = $5;
-  $29 = (($28) + 1)|0;
-  $5 = $29;
- }
- $30 = $4;
- STACKTOP = sp;return ($30|0);
-}
-function _mrb_dump_irep_binary($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $9 = sp + 8|0;
- $10 = sp + 4|0;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- HEAP32[$9>>2] = 0;
- HEAP32[$10>>2] = 0;
- $12 = $8;
- $13 = ($12|0)==(0|0);
- if ($13) {
-  $4 = -7;
-  $30 = $4;
-  STACKTOP = sp;return ($30|0);
- }
- $14 = $5;
- $15 = $6;
- $16 = $7;
- $17 = (_dump_flags($16,0)|0);
- $18 = (_dump_irep($14,$15,$17,$9,$10)|0);
- $11 = $18;
- $19 = $11;
- $20 = ($19|0)==(0);
- if ($20) {
-  $21 = HEAP32[$9>>2]|0;
-  $22 = HEAP32[$10>>2]|0;
-  $23 = $8;
-  $24 = (_fwrite($21,1,$22,$23)|0);
-  $25 = HEAP32[$10>>2]|0;
-  $26 = ($24|0)!=($25|0);
-  if ($26) {
-   $11 = -2;
-  }
- }
- $27 = $5;
- $28 = HEAP32[$9>>2]|0;
- _mrb_free($27,$28);
- $29 = $11;
- $4 = $29;
- $30 = $4;
- STACKTOP = sp;return ($30|0);
-}
-function _mrb_dump_irep_cfunc($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
- var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0;
- var $or$cond = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $vararg_ptr8 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $vararg_buffer10 = sp + 40|0;
- $vararg_buffer6 = sp + 24|0;
- $vararg_buffer4 = sp + 16|0;
- $vararg_buffer2 = sp + 8|0;
- $vararg_buffer = sp;
- $11 = sp + 56|0;
- $12 = sp + 52|0;
- $6 = $0;
- $7 = $1;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- HEAP32[$11>>2] = 0;
- HEAP32[$12>>2] = 0;
- $13 = 0;
- $15 = $9;
- $16 = ($15|0)==(0|0);
- $17 = $10;
- $18 = ($17|0)==(0|0);
- $or$cond = $16 | $18;
- if (!($or$cond)) {
-  $19 = $10;
-  $20 = HEAP8[$19>>0]|0;
-  $21 = $20 << 24 >> 24;
-  $22 = ($21|0)==(0);
-  if (!($22)) {
-   $23 = $8;
-   $24 = (_dump_flags($23,2)|0);
-   $8 = $24;
-   $25 = $6;
-   $26 = $7;
-   $27 = $8;
-   $28 = (_dump_irep($25,$26,$27,$11,$12)|0);
-   $14 = $28;
-   $29 = $14;
-   $30 = ($29|0)==(0);
-   do {
-    if ($30) {
-     $31 = $8;
-     $32 = (_dump_bigendian_p($31)|0);
-     $33 = ($32<<24>>24)!=(0);
-     $34 = $9;
-     if ($33) {
-      $39 = (_fprintf($34,54583,$vararg_buffer2)|0);
-      $40 = ($39|0)<(0);
-      if ($40) {
-       $41 = $6;
-       $42 = HEAP32[$11>>2]|0;
-       _mrb_free($41,$42);
-       $5 = -2;
-       $84 = $5;
-       STACKTOP = sp;return ($84|0);
-      }
-     } else {
-      $35 = (_fprintf($34,54501,$vararg_buffer)|0);
-      $36 = ($35|0)<(0);
-      if ($36) {
-       $37 = $6;
-       $38 = HEAP32[$11>>2]|0;
-       _mrb_free($37,$38);
-       $5 = -2;
-       $84 = $5;
-       STACKTOP = sp;return ($84|0);
-      }
-     }
-     $43 = $9;
-     $44 = (_fprintf($43,54687,$vararg_buffer4)|0);
-     $45 = ($44|0)<(0);
-     if ($45) {
-      $46 = $6;
-      $47 = HEAP32[$11>>2]|0;
-      _mrb_free($46,$47);
-      $5 = -2;
-      $84 = $5;
-      STACKTOP = sp;return ($84|0);
-     }
-     $48 = $9;
-     $49 = $10;
-     HEAP32[$vararg_buffer6>>2] = 4;
-     $vararg_ptr8 = ((($vararg_buffer6)) + 4|0);
-     HEAP32[$vararg_ptr8>>2] = 4;
-     $vararg_ptr9 = ((($vararg_buffer6)) + 8|0);
-     HEAP32[$vararg_ptr9>>2] = $49;
-     $50 = (_fprintf($48,54708,$vararg_buffer6)|0);
-     $51 = ($50|0)<(0);
-     if ($51) {
-      $52 = $6;
-      $53 = HEAP32[$11>>2]|0;
-      _mrb_free($52,$53);
-      $5 = -2;
-      $84 = $5;
-      STACKTOP = sp;return ($84|0);
-     }
-     while(1) {
-      $54 = $13;
-      $55 = HEAP32[$12>>2]|0;
-      $56 = ($54>>>0)<($55>>>0);
-      if (!($56)) {
-       label = 20;
-       break;
-      }
-      $57 = $13;
-      $58 = (($57>>>0) % 16)&-1;
-      $59 = ($58|0)==(0);
-      if ($59) {
-       $60 = $9;
-       $61 = (_fputs(67789,$60)|0);
-       $62 = ($61|0)==(-1);
-       if ($62) {
-        label = 17;
-        break;
-       }
-      }
-      $65 = $9;
-      $66 = HEAP32[$11>>2]|0;
-      $67 = $13;
-      $68 = (($67) + 1)|0;
-      $13 = $68;
-      $69 = (($66) + ($67)|0);
-      $70 = HEAP8[$69>>0]|0;
-      $71 = $70&255;
-      HEAP32[$vararg_buffer10>>2] = $71;
-      $72 = (_fprintf($65,54833,$vararg_buffer10)|0);
-      $73 = ($72|0)<(0);
-      if ($73) {
-       label = 19;
-       break;
-      }
-     }
-     if ((label|0) == 17) {
-      $63 = $6;
-      $64 = HEAP32[$11>>2]|0;
-      _mrb_free($63,$64);
-      $5 = -2;
-      $84 = $5;
-      STACKTOP = sp;return ($84|0);
-     }
-     else if ((label|0) == 19) {
-      $74 = $6;
-      $75 = HEAP32[$11>>2]|0;
-      _mrb_free($74,$75);
-      $5 = -2;
-      $84 = $5;
-      STACKTOP = sp;return ($84|0);
-     }
-     else if ((label|0) == 20) {
-      $76 = $9;
-      $77 = (_fputs(54841,$76)|0);
-      $78 = ($77|0)==(-1);
-      if (!($78)) {
-       break;
-      }
-      $79 = $6;
-      $80 = HEAP32[$11>>2]|0;
-      _mrb_free($79,$80);
-      $5 = -2;
-      $84 = $5;
-      STACKTOP = sp;return ($84|0);
-     }
-    }
-   } while(0);
-   $81 = $6;
-   $82 = HEAP32[$11>>2]|0;
-   _mrb_free($81,$82);
-   $83 = $14;
-   $5 = $83;
-   $84 = $5;
-   STACKTOP = sp;return ($84|0);
-  }
- }
- $5 = -7;
- $84 = $5;
- STACKTOP = sp;return ($84|0);
-}
-function _dump_bigendian_p($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $2;
- $4 = $3&255;
- $5 = $4 & 6;
- switch ($5|0) {
- case 2:  {
-  $1 = 1;
-  break;
- }
- case 4:  {
-  $1 = 0;
-  break;
- }
- default: {
-  $6 = (_bigendian_p_3()|0);
-  $7 = $6&255;
-  $1 = $7;
- }
- }
- $8 = $1;
- STACKTOP = sp;return ($8|0);
-}
-function _mrb_float_to_str($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $6 = sp + 8|0;
- $7 = sp;
- $4 = $1;
- $5 = $3;
- $8 = $4;
- HEAP32[$6>>2] = $8;
- $9 = ((($6)) + 4|0);
- $10 = $4;
- _mrb_str_buf_new($7,$10,24);
- ;HEAP32[$9>>2]=HEAP32[$7>>2]|0;HEAP32[$9+4>>2]=HEAP32[$7+4>>2]|0;
- $11 = $5;
- $12 = +HEAPF32[$2>>2];
- $13 = (_fmt_core($6,$11,$12)|0);
- $14 = ($13|0)<(0);
- if ($14) {
-  $15 = $4;
-  $16 = $4;
-  $17 = (_mrb_class_get($16,69160)|0);
-  _mrb_raise($15,$17,54846);
-  // unreachable;
- } else {
-  $18 = ((($6)) + 4|0);
-  ;HEAP32[$0>>2]=HEAP32[$18>>2]|0;HEAP32[$0+4>>2]=HEAP32[$18+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _fmt_core($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = +$2;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0.0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $8 = $5;
- $9 = HEAP8[$8>>0]|0;
- $10 = $9 << 24 >> 24;
- $11 = ($10|0)!=(37);
- if ($11) {
-  $3 = -1;
-  $45 = $3;
-  STACKTOP = sp;return ($45|0);
- }
- $12 = $5;
- $13 = ((($12)) + 1|0);
- $5 = $13;
- $14 = $5;
- $15 = HEAP8[$14>>0]|0;
- $16 = $15 << 24 >> 24;
- $17 = ($16|0)==(46);
- L5: do {
-  if ($17) {
-   $18 = $5;
-   $19 = ((($18)) + 1|0);
-   $5 = $19;
-   $7 = 0;
-   while(1) {
-    $20 = $5;
-    $21 = HEAP8[$20>>0]|0;
-    $22 = $21 << 24 >> 24;
-    $23 = (($22) - 48)|0;
-    $24 = ($23>>>0)<(10);
-    if (!($24)) {
-     break L5;
-    }
-    $25 = $7;
-    $26 = ($25*10)|0;
-    $27 = $5;
-    $28 = HEAP8[$27>>0]|0;
-    $29 = $28 << 24 >> 24;
-    $30 = (($29) - 48)|0;
-    $31 = (($26) + ($30))|0;
-    $7 = $31;
-    $32 = $5;
-    $33 = ((($32)) + 1|0);
-    $5 = $33;
-   }
-  } else {
-   $7 = -1;
-  }
- } while(0);
- $34 = $5;
- $35 = HEAP8[$34>>0]|0;
- $36 = $35 << 24 >> 24;
- switch ($36|0) {
- case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101:  {
-  $37 = $4;
-  $38 = $6;
-  $39 = $38;
-  $40 = $7;
-  $41 = $5;
-  $42 = HEAP8[$41>>0]|0;
-  $43 = $42 << 24 >> 24;
-  $44 = (_fmt_fp($37,$39,0,$40,0,$43)|0);
-  $3 = $44;
-  $45 = $3;
-  STACKTOP = sp;return ($45|0);
-  break;
- }
- default: {
-  $3 = -1;
-  $45 = $3;
-  STACKTOP = sp;return ($45|0);
- }
- }
- return (0)|0;
-}
-function _fmt_fp($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = +$1;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0.0, $114 = 0.0, $115 = 0.0, $116 = 0.0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0.0, $142 = 0.0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0.0, $148 = 0.0, $149 = 0.0, $15 = 0, $150 = 0.0, $151 = 0.0, $152 = 0.0, $153 = 0.0;
- var $154 = 0.0, $155 = 0.0, $156 = 0.0, $157 = 0.0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0.0, $162 = 0.0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
- var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0.0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
- var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0.0, $199 = 0, $20 = 0, $200 = 0.0, $201 = 0.0, $202 = 0.0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0.0;
- var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0.0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
- var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
- var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
- var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
- var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
- var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0, $308 = 0.0, $309 = 0.0, $31 = 0.0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0.0;
- var $318 = 0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0, $322 = 0, $323 = 0, $324 = 0.0, $325 = 0.0, $326 = 0.0, $327 = 0.0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0;
- var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0;
- var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0;
- var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0;
- var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0;
- var $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0;
- var $427 = 0, $428 = 0, $429 = 0, $43 = 0.0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0.0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0;
- var $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0;
- var $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0;
- var $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0.0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0;
- var $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0;
- var $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0.0, $535 = 0.0;
- var $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0.0, $550 = 0, $551 = 0, $552 = 0, $553 = 0;
- var $554 = 0.0, $555 = 0.0, $556 = 0.0, $557 = 0.0, $558 = 0, $559 = 0, $56 = 0.0, $560 = 0, $561 = 0, $562 = 0.0, $563 = 0.0, $564 = 0.0, $565 = 0.0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0;
- var $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0;
- var $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0;
- var $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0;
- var $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0;
- var $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0;
- var $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0.0;
- var $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0;
- var $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0;
- var $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0;
- var $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0;
- var $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0;
- var $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0;
- var $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0.0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0;
- var $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0.0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0.0, $820 = 0, $821 = 0, $822 = 0, $823 = 0;
- var $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0;
- var $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0;
- var $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0;
- var $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0;
- var $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0;
- var $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0;
- var $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0;
- var $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0;
- var $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 720|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(720|0);
- $13 = sp + 152|0;
- $19 = sp + 128|0;
- $23 = sp + 692|0;
- $27 = sp + 680|0;
- $36 = sp + 16|0;
- $7 = $0;
- $8 = $1;
- $9 = $2;
- $10 = $3;
- $11 = $4;
- $12 = $5;
- HEAP32[$19>>2] = 0;
- $25 = 70736;
- $48 = ((($27)) + 12|0);
- $28 = $48;
- $26 = 1;
- $49 = $8;
- $50 = (___DOUBLE_BITS($49)|0);
- $51 = tempRet0;
- $52 = (_bitshift64Lshr(($50|0),($51|0),63)|0);
- $53 = tempRet0;
- $54 = ($52|0)!=(0);
- do {
-  if ($54) {
-   $55 = $8;
-   $56 = -$55;
-   $8 = $56;
-  } else {
-   $57 = $11;
-   $58 = $57 & 2048;
-   $59 = ($58|0)!=(0);
-   if ($59) {
-    $60 = $25;
-    $61 = ((($60)) + 3|0);
-    $25 = $61;
-    break;
-   }
-   $62 = $11;
-   $63 = $62 & 1;
-   $64 = ($63|0)!=(0);
-   $65 = $25;
-   if ($64) {
-    $66 = ((($65)) + 6|0);
-    $25 = $66;
-    break;
-   } else {
-    $67 = ((($65)) + 1|0);
-    $25 = $67;
-    $26 = 0;
-    break;
-   }
-  }
- } while(0);
- $68 = $8;
- $69 = (___DOUBLE_BITS($68)|0);
- $70 = tempRet0;
- $71 = $70 & 2147483647;
- $72 = ($71>>>0)<(2146435072);
- $73 = ($69>>>0)<(0);
- $74 = ($71|0)==(2146435072);
- $75 = $74 & $73;
- $76 = $72 | $75;
- if (!($76)) {
-  $77 = $12;
-  $78 = $77 & 32;
-  $79 = ($78|0)!=(0);
-  $80 = $79 ? 70755 : 70759;
-  $30 = $80;
-  $81 = $8;
-  $82 = $8;
-  $83 = $81 != $82;
-  if ($83) {
-   $84 = $12;
-   $85 = $84 & 32;
-   $86 = ($85|0)!=(0);
-   $87 = $86 ? 72686 : 70763;
-   $30 = $87;
-  }
-  $88 = $7;
-  $89 = $9;
-  $90 = $26;
-  $91 = (3 + ($90))|0;
-  $92 = $11;
-  $93 = $92 & -65537;
-  _pad($88,32,$89,$91,$93);
-  $94 = $7;
-  $95 = $25;
-  $96 = $26;
-  _out($94,$95,$96);
-  $97 = $7;
-  $98 = $30;
-  _out($97,$98,3);
-  $99 = $7;
-  $100 = $9;
-  $101 = $26;
-  $102 = (3 + ($101))|0;
-  $103 = $11;
-  $104 = $103 ^ 8192;
-  _pad($99,32,$100,$102,$104);
-  $105 = $9;
-  $106 = $26;
-  $107 = (3 + ($106))|0;
-  $108 = ($105|0)>($107|0);
-  $109 = $9;
-  $110 = $26;
-  $111 = (3 + ($110))|0;
-  $112 = $108 ? $109 : $111;
-  $6 = $112;
-  $976 = $6;
-  STACKTOP = sp;return ($976|0);
- }
- $113 = $8;
- $114 = (+_frexp($113,$19));
- $115 = $114 * 2.0;
- $8 = $115;
- $116 = $8;
- $117 = $116 != 0.0;
- if ($117) {
-  $118 = HEAP32[$19>>2]|0;
-  $119 = (($118) + -1)|0;
-  HEAP32[$19>>2] = $119;
- }
- $120 = $12;
- $121 = $120 | 32;
- $122 = ($121|0)==(97);
- if ($122) {
-  $31 = 8.0;
-  $123 = $12;
-  $124 = $123 & 32;
-  $125 = ($124|0)!=(0);
-  if ($125) {
-   $126 = $25;
-   $127 = ((($126)) + 9|0);
-   $25 = $127;
-  }
-  $128 = $26;
-  $129 = (($128) + 2)|0;
-  $26 = $129;
-  $130 = $10;
-  $131 = ($130|0)<(0);
-  $132 = $10;
-  $133 = ($132|0)>=(12);
-  $or$cond = $131 | $133;
-  if ($or$cond) {
-   $32 = 0;
-  } else {
-   $134 = $10;
-   $135 = (12 - ($134))|0;
-   $32 = $135;
-  }
-  $136 = $32;
-  $137 = ($136|0)!=(0);
-  do {
-   if ($137) {
-    while(1) {
-     $138 = $32;
-     $139 = (($138) + -1)|0;
-     $32 = $139;
-     $140 = ($138|0)!=(0);
-     if (!($140)) {
-      break;
-     }
-     $141 = $31;
-     $142 = $141 * 16.0;
-     $31 = $142;
-    }
-    $143 = $25;
-    $144 = HEAP8[$143>>0]|0;
-    $145 = $144 << 24 >> 24;
-    $146 = ($145|0)==(45);
-    if ($146) {
-     $147 = $8;
-     $148 = -$147;
-     $8 = $148;
-     $149 = $31;
-     $150 = $8;
-     $151 = $150 - $149;
-     $8 = $151;
-     $152 = $31;
-     $153 = $8;
-     $154 = $153 + $152;
-     $8 = $154;
-     $155 = $8;
-     $156 = -$155;
-     $8 = $156;
-     break;
-    } else {
-     $157 = $31;
-     $158 = $8;
-     $159 = $158 + $157;
-     $8 = $159;
-     $160 = $31;
-     $161 = $8;
-     $162 = $161 - $160;
-     $8 = $162;
-     break;
-    }
-   }
-  } while(0);
-  $163 = HEAP32[$19>>2]|0;
-  $164 = ($163|0)<(0);
-  $165 = HEAP32[$19>>2]|0;
-  $166 = (0 - ($165))|0;
-  $167 = $164 ? $166 : $165;
-  $168 = $28;
-  $169 = (_fmt_u($167,$168)|0);
-  $29 = $169;
-  $170 = $29;
-  $171 = $28;
-  $172 = ($170|0)==($171|0);
-  if ($172) {
-   $173 = $29;
-   $174 = ((($173)) + -1|0);
-   $29 = $174;
-   HEAP8[$174>>0] = 48;
-  }
-  $175 = HEAP32[$19>>2]|0;
-  $176 = ($175|0)<(0);
-  $177 = $176 ? 45 : 43;
-  $178 = $177&255;
-  $179 = $29;
-  $180 = ((($179)) + -1|0);
-  $29 = $180;
-  HEAP8[$180>>0] = $178;
-  $181 = $12;
-  $182 = (($181) + 15)|0;
-  $183 = $182&255;
-  $184 = $29;
-  $185 = ((($184)) + -1|0);
-  $29 = $185;
-  HEAP8[$185>>0] = $183;
-  $24 = $23;
-  while(1) {
-   $186 = $8;
-   $187 = (~~(($186)));
-   $33 = $187;
-   $188 = $33;
-   $189 = (70767 + ($188)|0);
-   $190 = HEAP8[$189>>0]|0;
-   $191 = $190 << 24 >> 24;
-   $192 = $12;
-   $193 = $192 & 32;
-   $194 = $191 | $193;
-   $195 = $194&255;
-   $196 = $24;
-   $197 = ((($196)) + 1|0);
-   $24 = $197;
-   HEAP8[$196>>0] = $195;
-   $198 = $8;
-   $199 = $33;
-   $200 = (+($199|0));
-   $201 = $198 - $200;
-   $202 = 16.0 * $201;
-   $8 = $202;
-   $203 = $24;
-   $204 = $203;
-   $205 = $23;
-   $206 = (($204) - ($205))|0;
-   $207 = ($206|0)==(1);
-   do {
-    if ($207) {
-     $208 = $8;
-     $209 = $208 != 0.0;
-     $210 = $10;
-     $211 = ($210|0)>(0);
-     $or$cond3 = $209 | $211;
-     if (!($or$cond3)) {
-      $212 = $11;
-      $213 = $212 & 8;
-      $214 = ($213|0)!=(0);
-      if (!($214)) {
-       break;
-      }
-     }
-     $215 = $24;
-     $216 = ((($215)) + 1|0);
-     $24 = $216;
-     HEAP8[$215>>0] = 46;
-    }
-   } while(0);
-   $217 = $8;
-   $218 = $217 != 0.0;
-   if (!($218)) {
-    break;
-   }
-  }
-  $219 = $10;
-  $220 = ($219|0)!=(0);
-  if ($220) {
-   $221 = $24;
-   $222 = $221;
-   $223 = $23;
-   $224 = (($222) - ($223))|0;
-   $225 = (($224) - 2)|0;
-   $226 = $10;
-   $227 = ($225|0)<($226|0);
-   if ($227) {
-    $228 = $10;
-    $229 = (($228) + 2)|0;
-    $230 = $28;
-    $231 = $29;
-    $232 = $230;
-    $233 = $231;
-    $234 = (($232) - ($233))|0;
-    $235 = (($229) + ($234))|0;
-    $22 = $235;
-   } else {
-    label = 37;
-   }
-  } else {
-   label = 37;
-  }
-  if ((label|0) == 37) {
-   $236 = $24;
-   $237 = $236;
-   $238 = $23;
-   $239 = (($237) - ($238))|0;
-   $240 = $28;
-   $241 = $29;
-   $242 = $240;
-   $243 = $241;
-   $244 = (($242) - ($243))|0;
-   $245 = (($239) + ($244))|0;
-   $22 = $245;
-  }
-  $246 = $7;
-  $247 = $9;
-  $248 = $26;
-  $249 = $22;
-  $250 = (($248) + ($249))|0;
-  $251 = $11;
-  _pad($246,32,$247,$250,$251);
-  $252 = $7;
-  $253 = $25;
-  $254 = $26;
-  _out($252,$253,$254);
-  $255 = $7;
-  $256 = $9;
-  $257 = $26;
-  $258 = $22;
-  $259 = (($257) + ($258))|0;
-  $260 = $11;
-  $261 = $260 ^ 65536;
-  _pad($255,48,$256,$259,$261);
-  $262 = $7;
-  $263 = $24;
-  $264 = $263;
-  $265 = $23;
-  $266 = (($264) - ($265))|0;
-  _out($262,$23,$266);
-  $267 = $7;
-  $268 = $22;
-  $269 = $28;
-  $270 = $29;
-  $271 = $269;
-  $272 = $270;
-  $273 = (($271) - ($272))|0;
-  $274 = (($268) - ($273))|0;
-  $275 = $24;
-  $276 = $275;
-  $277 = $23;
-  $278 = (($276) - ($277))|0;
-  $279 = (($274) - ($278))|0;
-  _pad($267,48,$279,0,0);
-  $280 = $7;
-  $281 = $29;
-  $282 = $28;
-  $283 = $29;
-  $284 = $282;
-  $285 = $283;
-  $286 = (($284) - ($285))|0;
-  _out($280,$281,$286);
-  $287 = $7;
-  $288 = $9;
-  $289 = $26;
-  $290 = $22;
-  $291 = (($289) + ($290))|0;
-  $292 = $11;
-  $293 = $292 ^ 8192;
-  _pad($287,32,$288,$291,$293);
-  $294 = $9;
-  $295 = $26;
-  $296 = $22;
-  $297 = (($295) + ($296))|0;
-  $298 = ($294|0)>($297|0);
-  if ($298) {
-   $299 = $9;
-   $303 = $299;
-  } else {
-   $300 = $26;
-   $301 = $22;
-   $302 = (($300) + ($301))|0;
-   $303 = $302;
-  }
-  $6 = $303;
-  $976 = $6;
-  STACKTOP = sp;return ($976|0);
- }
- $304 = $10;
- $305 = ($304|0)<(0);
- if ($305) {
-  $10 = 6;
- }
- $306 = $8;
- $307 = $306 != 0.0;
- if ($307) {
-  $308 = $8;
-  $309 = $308 * 268435456.0;
-  $8 = $309;
-  $310 = HEAP32[$19>>2]|0;
-  $311 = (($310) - 28)|0;
-  HEAP32[$19>>2] = $311;
- }
- $312 = HEAP32[$19>>2]|0;
- $313 = ($312|0)<(0);
- if ($313) {
-  $17 = $13;
-  $16 = $13;
-  $14 = $13;
- } else {
-  $314 = ((($13)) + 504|0);
-  $315 = ((($314)) + -212|0);
-  $316 = ((($315)) + -4|0);
-  $17 = $316;
-  $16 = $316;
-  $14 = $316;
- }
- while(1) {
-  $317 = $8;
-  $318 = (~~(($317))>>>0);
-  $319 = $17;
-  HEAP32[$319>>2] = $318;
-  $320 = $8;
-  $321 = $17;
-  $322 = ((($321)) + 4|0);
-  $17 = $322;
-  $323 = HEAP32[$321>>2]|0;
-  $324 = (+($323>>>0));
-  $325 = $320 - $324;
-  $326 = 1.0E+9 * $325;
-  $8 = $326;
-  $327 = $8;
-  $328 = $327 != 0.0;
-  if (!($328)) {
-   break;
-  }
- }
- while(1) {
-  $329 = HEAP32[$19>>2]|0;
-  $330 = ($329|0)>(0);
-  if (!($330)) {
-   break;
-  }
-  $34 = 0;
-  $331 = HEAP32[$19>>2]|0;
-  $332 = (29)<($331|0);
-  $333 = HEAP32[$19>>2]|0;
-  $334 = $332 ? 29 : $333;
-  $35 = $334;
-  $335 = $17;
-  $336 = ((($335)) + -4|0);
-  $15 = $336;
-  while(1) {
-   $337 = $15;
-   $338 = $14;
-   $339 = ($337>>>0)>=($338>>>0);
-   if (!($339)) {
-    break;
-   }
-   $340 = $15;
-   $341 = HEAP32[$340>>2]|0;
-   $342 = $35;
-   $343 = (_bitshift64Shl(($341|0),0,($342|0))|0);
-   $344 = tempRet0;
-   $345 = $34;
-   $346 = (_i64Add(($343|0),($344|0),($345|0),0)|0);
-   $347 = tempRet0;
-   $348 = $36;
-   $349 = $348;
-   HEAP32[$349>>2] = $346;
-   $350 = (($348) + 4)|0;
-   $351 = $350;
-   HEAP32[$351>>2] = $347;
-   $352 = $36;
-   $353 = $352;
-   $354 = HEAP32[$353>>2]|0;
-   $355 = (($352) + 4)|0;
-   $356 = $355;
-   $357 = HEAP32[$356>>2]|0;
-   $358 = (___uremdi3(($354|0),($357|0),1000000000,0)|0);
-   $359 = tempRet0;
-   $360 = $15;
-   HEAP32[$360>>2] = $358;
-   $361 = $36;
-   $362 = $361;
-   $363 = HEAP32[$362>>2]|0;
-   $364 = (($361) + 4)|0;
-   $365 = $364;
-   $366 = HEAP32[$365>>2]|0;
-   $367 = (___udivdi3(($363|0),($366|0),1000000000,0)|0);
-   $368 = tempRet0;
-   $34 = $367;
-   $369 = $15;
-   $370 = ((($369)) + -4|0);
-   $15 = $370;
-  }
-  $371 = $34;
-  $372 = ($371|0)!=(0);
-  if ($372) {
-   $373 = $34;
-   $374 = $14;
-   $375 = ((($374)) + -4|0);
-   $14 = $375;
-   HEAP32[$375>>2] = $373;
-  }
-  while(1) {
-   $376 = $17;
-   $377 = $14;
-   $378 = ($376>>>0)>($377>>>0);
-   if (!($378)) {
-    break;
-   }
-   $379 = $17;
-   $380 = ((($379)) + -4|0);
-   $381 = HEAP32[$380>>2]|0;
-   $382 = ($381|0)!=(0);
-   $383 = $382 ^ 1;
-   if (!($383)) {
-    break;
-   }
-   $384 = $17;
-   $385 = ((($384)) + -4|0);
-   $17 = $385;
-  }
-  $386 = $35;
-  $387 = HEAP32[$19>>2]|0;
-  $388 = (($387) - ($386))|0;
-  HEAP32[$19>>2] = $388;
- }
- while(1) {
-  $389 = HEAP32[$19>>2]|0;
-  $390 = ($389|0)<(0);
-  if (!($390)) {
-   break;
-  }
-  $37 = 0;
-  $391 = HEAP32[$19>>2]|0;
-  $392 = (0 - ($391))|0;
-  $393 = (9)<($392|0);
-  $394 = HEAP32[$19>>2]|0;
-  $395 = (0 - ($394))|0;
-  $396 = $393 ? 9 : $395;
-  $39 = $396;
-  $397 = $10;
-  $398 = (($397) + 17)|0;
-  $399 = (($398) + 8)|0;
-  $400 = (($399|0) / 9)&-1;
-  $401 = (1 + ($400))|0;
-  $40 = $401;
-  $402 = $14;
-  $15 = $402;
-  while(1) {
-   $403 = $15;
-   $404 = $17;
-   $405 = ($403>>>0)<($404>>>0);
-   if (!($405)) {
-    break;
-   }
-   $406 = $15;
-   $407 = HEAP32[$406>>2]|0;
-   $408 = $39;
-   $409 = 1 << $408;
-   $410 = (($409) - 1)|0;
-   $411 = $407 & $410;
-   $41 = $411;
-   $412 = $15;
-   $413 = HEAP32[$412>>2]|0;
-   $414 = $39;
-   $415 = $413 >>> $414;
-   $416 = $37;
-   $417 = (($415) + ($416))|0;
-   $418 = $15;
-   HEAP32[$418>>2] = $417;
-   $419 = $39;
-   $420 = 1000000000 >> $419;
-   $421 = $41;
-   $422 = Math_imul($420, $421)|0;
-   $37 = $422;
-   $423 = $15;
-   $424 = ((($423)) + 4|0);
-   $15 = $424;
-  }
-  $425 = $14;
-  $426 = HEAP32[$425>>2]|0;
-  $427 = ($426|0)!=(0);
-  if (!($427)) {
-   $428 = $14;
-   $429 = ((($428)) + 4|0);
-   $14 = $429;
-  }
-  $430 = $37;
-  $431 = ($430|0)!=(0);
-  if ($431) {
-   $432 = $37;
-   $433 = $17;
-   $434 = ((($433)) + 4|0);
-   $17 = $434;
-   HEAP32[$433>>2] = $432;
-  }
-  $435 = $12;
-  $436 = $435 | 32;
-  $437 = ($436|0)==(102);
-  $438 = $16;
-  $439 = $14;
-  $440 = $437 ? $438 : $439;
-  $38 = $440;
-  $441 = $17;
-  $442 = $38;
-  $443 = $441;
-  $444 = $442;
-  $445 = (($443) - ($444))|0;
-  $446 = (($445|0) / 4)&-1;
-  $447 = $40;
-  $448 = ($446|0)>($447|0);
-  if ($448) {
-   $449 = $38;
-   $450 = $40;
-   $451 = (($449) + ($450<<2)|0);
-   $17 = $451;
-  }
-  $452 = $39;
-  $453 = HEAP32[$19>>2]|0;
-  $454 = (($453) + ($452))|0;
-  HEAP32[$19>>2] = $454;
- }
- $455 = $14;
- $456 = $17;
- $457 = ($455>>>0)<($456>>>0);
- L105: do {
-  if ($457) {
-   $18 = 10;
-   $458 = $16;
-   $459 = $14;
-   $460 = $458;
-   $461 = $459;
-   $462 = (($460) - ($461))|0;
-   $463 = (($462|0) / 4)&-1;
-   $464 = ($463*9)|0;
-   $20 = $464;
-   while(1) {
-    $465 = $14;
-    $466 = HEAP32[$465>>2]|0;
-    $467 = $18;
-    $468 = ($466>>>0)>=($467>>>0);
-    if (!($468)) {
-     break L105;
-    }
-    $469 = $18;
-    $470 = ($469*10)|0;
-    $18 = $470;
-    $471 = $20;
-    $472 = (($471) + 1)|0;
-    $20 = $472;
-   }
-  } else {
-   $20 = 0;
-  }
- } while(0);
- $473 = $10;
- $474 = $12;
- $475 = $474 | 32;
- $476 = ($475|0)!=(102);
- $477 = $476&1;
- $478 = $20;
- $479 = Math_imul($477, $478)|0;
- $480 = (($473) - ($479))|0;
- $481 = $12;
- $482 = $481 | 32;
- $483 = ($482|0)==(103);
- $484 = $10;
- $485 = ($484|0)!=(0);
- $486 = $483 ? $485 : 0;
- $487 = $486&1;
- $488 = (($480) - ($487))|0;
- $21 = $488;
- $489 = $21;
- $490 = $17;
- $491 = $16;
- $492 = $490;
- $493 = $491;
- $494 = (($492) - ($493))|0;
- $495 = (($494|0) / 4)&-1;
- $496 = (($495) - 1)|0;
- $497 = ($496*9)|0;
- $498 = ($489|0)<($497|0);
- if ($498) {
-  $499 = $16;
-  $500 = ((($499)) + 4|0);
-  $501 = $21;
-  $502 = (($501) + 9216)|0;
-  $503 = (($502|0) / 9)&-1;
-  $504 = (($503) - 1024)|0;
-  $505 = (($500) + ($504<<2)|0);
-  $15 = $505;
-  $506 = $21;
-  $507 = (($506) + 9216)|0;
-  $21 = $507;
-  $508 = $21;
-  $509 = (($508|0) % 9)&-1;
-  $21 = $509;
-  $18 = 10;
-  $510 = $21;
-  $511 = (($510) + 1)|0;
-  $21 = $511;
-  while(1) {
-   $512 = $21;
-   $513 = ($512|0)<(9);
-   if (!($513)) {
-    break;
-   }
-   $514 = $18;
-   $515 = ($514*10)|0;
-   $18 = $515;
-   $516 = $21;
-   $517 = (($516) + 1)|0;
-   $21 = $517;
-  }
-  $518 = $15;
-  $519 = HEAP32[$518>>2]|0;
-  $520 = $18;
-  $521 = (($519>>>0) % ($520>>>0))&-1;
-  $42 = $521;
-  $522 = $42;
-  $523 = ($522|0)!=(0);
-  if ($523) {
-   label = 82;
-  } else {
-   $524 = $15;
-   $525 = ((($524)) + 4|0);
-   $526 = $17;
-   $527 = ($525|0)!=($526|0);
-   if ($527) {
-    label = 82;
-   }
-  }
-  L120: do {
-   if ((label|0) == 82) {
-    $43 = 9007199254740992.0;
-    $528 = $15;
-    $529 = HEAP32[$528>>2]|0;
-    $530 = $18;
-    $531 = (($529>>>0) / ($530>>>0))&-1;
-    $532 = $531 & 1;
-    $533 = ($532|0)!=(0);
-    if ($533) {
-     $534 = $43;
-     $535 = $534 + 2.0;
-     $43 = $535;
-    }
-    $536 = $42;
-    $537 = $18;
-    $538 = (($537>>>0) / 2)&-1;
-    $539 = ($536>>>0)<($538>>>0);
-    do {
-     if ($539) {
-      $44 = 0.5;
-     } else {
-      $540 = $42;
-      $541 = $18;
-      $542 = (($541>>>0) / 2)&-1;
-      $543 = ($540|0)==($542|0);
-      if ($543) {
-       $544 = $15;
-       $545 = ((($544)) + 4|0);
-       $546 = $17;
-       $547 = ($545|0)==($546|0);
-       if ($547) {
-        $44 = 1.0;
-        break;
-       }
-      }
-      $44 = 1.5;
-     }
-    } while(0);
-    $548 = $26;
-    $549 = ($548|0)!=(0);
-    if ($549) {
-     $550 = $25;
-     $551 = HEAP8[$550>>0]|0;
-     $552 = $551 << 24 >> 24;
-     $553 = ($552|0)==(45);
-     if ($553) {
-      $554 = $43;
-      $555 = $554 * -1.0;
-      $43 = $555;
-      $556 = $44;
-      $557 = $556 * -1.0;
-      $44 = $557;
-     }
-    }
-    $558 = $42;
-    $559 = $15;
-    $560 = HEAP32[$559>>2]|0;
-    $561 = (($560) - ($558))|0;
-    HEAP32[$559>>2] = $561;
-    $562 = $43;
-    $563 = $44;
-    $564 = $562 + $563;
-    $565 = $43;
-    $566 = $564 != $565;
-    if ($566) {
-     $567 = $15;
-     $568 = HEAP32[$567>>2]|0;
-     $569 = $18;
-     $570 = (($568) + ($569))|0;
-     $571 = $15;
-     HEAP32[$571>>2] = $570;
-     while(1) {
-      $572 = $15;
-      $573 = HEAP32[$572>>2]|0;
-      $574 = ($573>>>0)>(999999999);
-      if (!($574)) {
-       break;
-      }
-      $575 = $15;
-      $576 = ((($575)) + -4|0);
-      $15 = $576;
-      HEAP32[$575>>2] = 0;
-      $577 = $15;
-      $578 = $14;
-      $579 = ($577>>>0)<($578>>>0);
-      if ($579) {
-       $580 = $14;
-       $581 = ((($580)) + -4|0);
-       $14 = $581;
-       HEAP32[$581>>2] = 0;
-      }
-      $582 = $15;
-      $583 = HEAP32[$582>>2]|0;
-      $584 = (($583) + 1)|0;
-      HEAP32[$582>>2] = $584;
-     }
-     $18 = 10;
-     $585 = $16;
-     $586 = $14;
-     $587 = $585;
-     $588 = $586;
-     $589 = (($587) - ($588))|0;
-     $590 = (($589|0) / 4)&-1;
-     $591 = ($590*9)|0;
-     $20 = $591;
-     while(1) {
-      $592 = $14;
-      $593 = HEAP32[$592>>2]|0;
-      $594 = $18;
-      $595 = ($593>>>0)>=($594>>>0);
-      if (!($595)) {
-       break L120;
-      }
-      $596 = $18;
-      $597 = ($596*10)|0;
-      $18 = $597;
-      $598 = $20;
-      $599 = (($598) + 1)|0;
-      $20 = $599;
-     }
-    }
-   }
-  } while(0);
-  $600 = $17;
-  $601 = $15;
-  $602 = ((($601)) + 4|0);
-  $603 = ($600>>>0)>($602>>>0);
-  if ($603) {
-   $604 = $15;
-   $605 = ((($604)) + 4|0);
-   $17 = $605;
-  }
- }
- while(1) {
-  $606 = $17;
-  $607 = $14;
-  $608 = ($606>>>0)>($607>>>0);
-  if (!($608)) {
-   break;
-  }
-  $609 = $17;
-  $610 = ((($609)) + -4|0);
-  $611 = HEAP32[$610>>2]|0;
-  $612 = ($611|0)!=(0);
-  $613 = $612 ^ 1;
-  if (!($613)) {
-   break;
-  }
-  $614 = $17;
-  $615 = ((($614)) + -4|0);
-  $17 = $615;
- }
- $616 = $12;
- $617 = $616 | 32;
- $618 = ($617|0)==(103);
- do {
-  if ($618) {
-   $619 = $10;
-   $620 = ($619|0)!=(0);
-   if (!($620)) {
-    $621 = $10;
-    $622 = (($621) + 1)|0;
-    $10 = $622;
-   }
-   $623 = $10;
-   $624 = $20;
-   $625 = ($623|0)>($624|0);
-   $626 = $20;
-   $627 = ($626|0)>=(-4);
-   $or$cond6 = $625 & $627;
-   $628 = $12;
-   if ($or$cond6) {
-    $629 = (($628) + -1)|0;
-    $12 = $629;
-    $630 = $20;
-    $631 = (($630) + 1)|0;
-    $632 = $10;
-    $633 = (($632) - ($631))|0;
-    $10 = $633;
-   } else {
-    $634 = (($628) - 2)|0;
-    $12 = $634;
-    $635 = $10;
-    $636 = (($635) + -1)|0;
-    $10 = $636;
-   }
-   $637 = $11;
-   $638 = $637 & 8;
-   $639 = ($638|0)!=(0);
-   if (!($639)) {
-    $640 = $17;
-    $641 = $14;
-    $642 = ($640>>>0)>($641>>>0);
-    L165: do {
-     if ($642) {
-      $643 = $17;
-      $644 = ((($643)) + -4|0);
-      $645 = HEAP32[$644>>2]|0;
-      $646 = ($645|0)!=(0);
-      if ($646) {
-       $18 = 10;
-       $21 = 0;
-       while(1) {
-        $647 = $17;
-        $648 = ((($647)) + -4|0);
-        $649 = HEAP32[$648>>2]|0;
-        $650 = $18;
-        $651 = (($649>>>0) % ($650>>>0))&-1;
-        $652 = ($651|0)==(0);
-        if (!($652)) {
-         break L165;
-        }
-        $653 = $18;
-        $654 = ($653*10)|0;
-        $18 = $654;
-        $655 = $21;
-        $656 = (($655) + 1)|0;
-        $21 = $656;
-       }
-      } else {
-       label = 119;
-      }
-     } else {
-      label = 119;
-     }
-    } while(0);
-    if ((label|0) == 119) {
-     $21 = 9;
-    }
-    $657 = $12;
-    $658 = $657 | 32;
-    $659 = ($658|0)==(102);
-    $660 = $10;
-    $661 = $17;
-    $662 = $16;
-    $663 = $661;
-    $664 = $662;
-    $665 = (($663) - ($664))|0;
-    $666 = (($665|0) / 4)&-1;
-    $667 = (($666) - 1)|0;
-    $668 = ($667*9)|0;
-    if ($659) {
-     $669 = $21;
-     $670 = (($668) - ($669))|0;
-     $671 = (0)>($670|0);
-     if ($671) {
-      $683 = 0;
-     } else {
-      $672 = $17;
-      $673 = $16;
-      $674 = $672;
-      $675 = $673;
-      $676 = (($674) - ($675))|0;
-      $677 = (($676|0) / 4)&-1;
-      $678 = (($677) - 1)|0;
-      $679 = ($678*9)|0;
-      $680 = $21;
-      $681 = (($679) - ($680))|0;
-      $683 = $681;
-     }
-     $682 = ($660|0)<($683|0);
-     do {
-      if ($682) {
-       $684 = $10;
-       $706 = $684;
-      } else {
-       $685 = $17;
-       $686 = $16;
-       $687 = $685;
-       $688 = $686;
-       $689 = (($687) - ($688))|0;
-       $690 = (($689|0) / 4)&-1;
-       $691 = (($690) - 1)|0;
-       $692 = ($691*9)|0;
-       $693 = $21;
-       $694 = (($692) - ($693))|0;
-       $695 = (0)>($694|0);
-       if ($695) {
-        $706 = 0;
-        break;
-       }
-       $696 = $17;
-       $697 = $16;
-       $698 = $696;
-       $699 = $697;
-       $700 = (($698) - ($699))|0;
-       $701 = (($700|0) / 4)&-1;
-       $702 = (($701) - 1)|0;
-       $703 = ($702*9)|0;
-       $704 = $21;
-       $705 = (($703) - ($704))|0;
-       $706 = $705;
-      }
-     } while(0);
-     $10 = $706;
-     break;
-    } else {
-     $707 = $20;
-     $708 = (($668) + ($707))|0;
-     $709 = $21;
-     $710 = (($708) - ($709))|0;
-     $711 = (0)>($710|0);
-     if ($711) {
-      $725 = 0;
-     } else {
-      $712 = $17;
-      $713 = $16;
-      $714 = $712;
-      $715 = $713;
-      $716 = (($714) - ($715))|0;
-      $717 = (($716|0) / 4)&-1;
-      $718 = (($717) - 1)|0;
-      $719 = ($718*9)|0;
-      $720 = $20;
-      $721 = (($719) + ($720))|0;
-      $722 = $21;
-      $723 = (($721) - ($722))|0;
-      $725 = $723;
-     }
-     $724 = ($660|0)<($725|0);
-     do {
-      if ($724) {
-       $726 = $10;
-       $752 = $726;
-      } else {
-       $727 = $17;
-       $728 = $16;
-       $729 = $727;
-       $730 = $728;
-       $731 = (($729) - ($730))|0;
-       $732 = (($731|0) / 4)&-1;
-       $733 = (($732) - 1)|0;
-       $734 = ($733*9)|0;
-       $735 = $20;
-       $736 = (($734) + ($735))|0;
-       $737 = $21;
-       $738 = (($736) - ($737))|0;
-       $739 = (0)>($738|0);
-       if ($739) {
-        $752 = 0;
-        break;
-       }
-       $740 = $17;
-       $741 = $16;
-       $742 = $740;
-       $743 = $741;
-       $744 = (($742) - ($743))|0;
-       $745 = (($744|0) / 4)&-1;
-       $746 = (($745) - 1)|0;
-       $747 = ($746*9)|0;
-       $748 = $20;
-       $749 = (($747) + ($748))|0;
-       $750 = $21;
-       $751 = (($749) - ($750))|0;
-       $752 = $751;
-      }
-     } while(0);
-     $10 = $752;
-     break;
-    }
-   }
-  }
- } while(0);
- $753 = $10;
- $754 = (1 + ($753))|0;
- $755 = $10;
- $756 = ($755|0)!=(0);
- if ($756) {
-  $761 = 1;
- } else {
-  $757 = $11;
-  $758 = $757 & 8;
-  $759 = ($758|0)!=(0);
-  $761 = $759;
- }
- $760 = $761&1;
- $762 = (($754) + ($760))|0;
- $22 = $762;
- $763 = $12;
- $764 = $763 | 32;
- $765 = ($764|0)==(102);
- $766 = $20;
- if ($765) {
-  $767 = ($766|0)>(0);
-  if ($767) {
-   $768 = $20;
-   $769 = $22;
-   $770 = (($769) + ($768))|0;
-   $22 = $770;
-  }
- } else {
-  $771 = ($766|0)<(0);
-  $772 = $20;
-  $773 = (0 - ($772))|0;
-  $774 = $771 ? $773 : $772;
-  $775 = $28;
-  $776 = (_fmt_u($774,$775)|0);
-  $29 = $776;
-  while(1) {
-   $777 = $28;
-   $778 = $29;
-   $779 = $777;
-   $780 = $778;
-   $781 = (($779) - ($780))|0;
-   $782 = ($781|0)<(2);
-   if (!($782)) {
-    break;
-   }
-   $783 = $29;
-   $784 = ((($783)) + -1|0);
-   $29 = $784;
-   HEAP8[$784>>0] = 48;
-  }
-  $785 = $20;
-  $786 = ($785|0)<(0);
-  $787 = $786 ? 45 : 43;
-  $788 = $787&255;
-  $789 = $29;
-  $790 = ((($789)) + -1|0);
-  $29 = $790;
-  HEAP8[$790>>0] = $788;
-  $791 = $12;
-  $792 = $791&255;
-  $793 = $29;
-  $794 = ((($793)) + -1|0);
-  $29 = $794;
-  HEAP8[$794>>0] = $792;
-  $795 = $28;
-  $796 = $29;
-  $797 = $795;
-  $798 = $796;
-  $799 = (($797) - ($798))|0;
-  $800 = $22;
-  $801 = (($800) + ($799))|0;
-  $22 = $801;
- }
- $802 = $7;
- $803 = $9;
- $804 = $26;
- $805 = $22;
- $806 = (($804) + ($805))|0;
- $807 = $11;
- _pad($802,32,$803,$806,$807);
- $808 = $7;
- $809 = $25;
- $810 = $26;
- _out($808,$809,$810);
- $811 = $7;
- $812 = $9;
- $813 = $26;
- $814 = $22;
- $815 = (($813) + ($814))|0;
- $816 = $11;
- $817 = $816 ^ 65536;
- _pad($811,48,$812,$815,$817);
- $818 = $12;
- $819 = $818 | 32;
- $820 = ($819|0)==(102);
- if ($820) {
-  $821 = $14;
-  $822 = $16;
-  $823 = ($821>>>0)>($822>>>0);
-  if ($823) {
-   $824 = $16;
-   $14 = $824;
-  }
-  $825 = $14;
-  $15 = $825;
-  while(1) {
-   $826 = $15;
-   $827 = $16;
-   $828 = ($826>>>0)<=($827>>>0);
-   if (!($828)) {
-    break;
-   }
-   $829 = $15;
-   $830 = HEAP32[$829>>2]|0;
-   $831 = ((($23)) + 9|0);
-   $832 = (_fmt_u($830,$831)|0);
-   $45 = $832;
-   $833 = $15;
-   $834 = $14;
-   $835 = ($833|0)!=($834|0);
-   L214: do {
-    if ($835) {
-     while(1) {
-      $836 = $45;
-      $837 = ($836>>>0)>($23>>>0);
-      if (!($837)) {
-       break L214;
-      }
-      $838 = $45;
-      $839 = ((($838)) + -1|0);
-      $45 = $839;
-      HEAP8[$839>>0] = 48;
-     }
-    } else {
-     $840 = $45;
-     $841 = ((($23)) + 9|0);
-     $842 = ($840|0)==($841|0);
-     if ($842) {
-      $843 = $45;
-      $844 = ((($843)) + -1|0);
-      $45 = $844;
-      HEAP8[$844>>0] = 48;
-     }
-    }
-   } while(0);
-   $845 = $7;
-   $846 = $45;
-   $847 = ((($23)) + 9|0);
-   $848 = $45;
-   $849 = $847;
-   $850 = $848;
-   $851 = (($849) - ($850))|0;
-   _out($845,$846,$851);
-   $852 = $15;
-   $853 = ((($852)) + 4|0);
-   $15 = $853;
-  }
-  $854 = $10;
-  $855 = ($854|0)!=(0);
-  if ($855) {
-   label = 157;
-  } else {
-   $856 = $11;
-   $857 = $856 & 8;
-   $858 = ($857|0)!=(0);
-   if ($858) {
-    label = 157;
-   }
-  }
-  if ((label|0) == 157) {
-   $859 = $7;
-   _out($859,70783,1);
-  }
-  while(1) {
-   $860 = $15;
-   $861 = $17;
-   $862 = ($860>>>0)<($861>>>0);
-   $863 = $10;
-   $864 = ($863|0)>(0);
-   $865 = $862 ? $864 : 0;
-   if (!($865)) {
-    break;
-   }
-   $866 = $15;
-   $867 = HEAP32[$866>>2]|0;
-   $868 = ((($23)) + 9|0);
-   $869 = (_fmt_u($867,$868)|0);
-   $46 = $869;
-   while(1) {
-    $870 = $46;
-    $871 = ($870>>>0)>($23>>>0);
-    if (!($871)) {
-     break;
-    }
-    $872 = $46;
-    $873 = ((($872)) + -1|0);
-    $46 = $873;
-    HEAP8[$873>>0] = 48;
-   }
-   $874 = $7;
-   $875 = $46;
-   $876 = $10;
-   $877 = (9)<($876|0);
-   $878 = $10;
-   $879 = $877 ? 9 : $878;
-   _out($874,$875,$879);
-   $880 = $15;
-   $881 = ((($880)) + 4|0);
-   $15 = $881;
-   $882 = $10;
-   $883 = (($882) - 9)|0;
-   $10 = $883;
-  }
-  $884 = $7;
-  $885 = $10;
-  $886 = (($885) + 9)|0;
-  _pad($884,48,$886,9,0);
- } else {
-  $887 = $17;
-  $888 = $14;
-  $889 = ($887>>>0)<=($888>>>0);
-  if ($889) {
-   $890 = $14;
-   $891 = ((($890)) + 4|0);
-   $17 = $891;
-  }
-  $892 = $14;
-  $15 = $892;
-  while(1) {
-   $893 = $15;
-   $894 = $17;
-   $895 = ($893>>>0)<($894>>>0);
-   $896 = $10;
-   $897 = ($896|0)>=(0);
-   $898 = $895 ? $897 : 0;
-   if (!($898)) {
-    break;
-   }
-   $899 = $15;
-   $900 = HEAP32[$899>>2]|0;
-   $901 = ((($23)) + 9|0);
-   $902 = (_fmt_u($900,$901)|0);
-   $47 = $902;
-   $903 = $47;
-   $904 = ((($23)) + 9|0);
-   $905 = ($903|0)==($904|0);
-   if ($905) {
-    $906 = $47;
-    $907 = ((($906)) + -1|0);
-    $47 = $907;
-    HEAP8[$907>>0] = 48;
-   }
-   $908 = $15;
-   $909 = $14;
-   $910 = ($908|0)!=($909|0);
-   L244: do {
-    if ($910) {
-     while(1) {
-      $911 = $47;
-      $912 = ($911>>>0)>($23>>>0);
-      if (!($912)) {
-       break L244;
-      }
-      $913 = $47;
-      $914 = ((($913)) + -1|0);
-      $47 = $914;
-      HEAP8[$914>>0] = 48;
-     }
-    } else {
-     $915 = $7;
-     $916 = $47;
-     $917 = ((($916)) + 1|0);
-     $47 = $917;
-     _out($915,$916,1);
-     $918 = $10;
-     $919 = ($918|0)>(0);
-     if (!($919)) {
-      $920 = $11;
-      $921 = $920 & 8;
-      $922 = ($921|0)!=(0);
-      if (!($922)) {
-       break;
-      }
-     }
-     $923 = $7;
-     _out($923,70783,1);
-    }
-   } while(0);
-   $924 = $7;
-   $925 = $47;
-   $926 = ((($23)) + 9|0);
-   $927 = $47;
-   $928 = $926;
-   $929 = $927;
-   $930 = (($928) - ($929))|0;
-   $931 = $10;
-   $932 = ($930|0)<($931|0);
-   if ($932) {
-    $933 = ((($23)) + 9|0);
-    $934 = $47;
-    $935 = $933;
-    $936 = $934;
-    $937 = (($935) - ($936))|0;
-    $939 = $937;
-   } else {
-    $938 = $10;
-    $939 = $938;
-   }
-   _out($924,$925,$939);
-   $940 = ((($23)) + 9|0);
-   $941 = $47;
-   $942 = $940;
-   $943 = $941;
-   $944 = (($942) - ($943))|0;
-   $945 = $10;
-   $946 = (($945) - ($944))|0;
-   $10 = $946;
-   $947 = $15;
-   $948 = ((($947)) + 4|0);
-   $15 = $948;
-  }
-  $949 = $7;
-  $950 = $10;
-  $951 = (($950) + 18)|0;
-  _pad($949,48,$951,18,0);
-  $952 = $7;
-  $953 = $29;
-  $954 = $28;
-  $955 = $29;
-  $956 = $954;
-  $957 = $955;
-  $958 = (($956) - ($957))|0;
-  _out($952,$953,$958);
- }
- $959 = $7;
- $960 = $9;
- $961 = $26;
- $962 = $22;
- $963 = (($961) + ($962))|0;
- $964 = $11;
- $965 = $964 ^ 8192;
- _pad($959,32,$960,$963,$965);
- $966 = $9;
- $967 = $26;
- $968 = $22;
- $969 = (($967) + ($968))|0;
- $970 = ($966|0)>($969|0);
- if ($970) {
-  $971 = $9;
-  $975 = $971;
- } else {
-  $972 = $26;
-  $973 = $22;
-  $974 = (($972) + ($973))|0;
-  $975 = $974;
- }
- $6 = $975;
- $976 = $6;
- STACKTOP = sp;return ($976|0);
-}
-function ___FLOAT_BITS($0) {
- $0 = +$0;
- var $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = sp;
- $1 = $0;
- $3 = $1;
- HEAPF32[$2>>2] = $3;
- $4 = HEAP32[$2>>2]|0;
- STACKTOP = sp;return ($4|0);
-}
-function ___DOUBLE_BITS($0) {
- $0 = +$0;
- var $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = sp;
- $1 = $0;
- $3 = $1;
- HEAPF64[$2>>3] = $3;
- $4 = $2;
- $5 = $4;
- $6 = HEAP32[$5>>2]|0;
- $7 = (($4) + 4)|0;
- $8 = $7;
- $9 = HEAP32[$8>>2]|0;
- tempRet0 = ($9);
- STACKTOP = sp;return ($6|0);
-}
-function _pad($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0);
- $10 = sp + 16|0;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $11 = $9;
- $12 = $11 & 73728;
- $13 = ($12|0)!=(0);
- if ($13) {
-  STACKTOP = sp;return;
- }
- $14 = $8;
- $15 = $7;
- $16 = ($14|0)>=($15|0);
- if ($16) {
-  STACKTOP = sp;return;
- }
- $17 = $7;
- $18 = $8;
- $19 = (($17) - ($18))|0;
- $8 = $19;
- $20 = $6;
- $21 = $20 << 24 >> 24;
- $22 = $21&255;
- $23 = $8;
- $24 = ($23|0)>(256);
- $25 = $8;
- $26 = $24 ? 256 : $25;
- _memset(($10|0),($22|0),($26|0))|0;
- while(1) {
-  $27 = $8;
-  $28 = ($27|0)>=(256);
-  $29 = $5;
-  if (!($28)) {
-   break;
-  }
-  _out($29,$10,256);
-  $30 = $8;
-  $31 = (($30) - 256)|0;
-  $8 = $31;
- }
- $32 = $8;
- _out($29,$10,$32);
- STACKTOP = sp;return;
-}
-function _out($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $6 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $3;
- $8 = HEAP32[$7>>2]|0;
- $9 = $3;
- $10 = ((($9)) + 4|0);
- $11 = $4;
- $12 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_str_cat($6,$8,$$byval_copy,$11,$12);
- STACKTOP = sp;return;
-}
-function _fmt_u($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- while(1) {
-  $4 = $2;
-  $5 = ($4|0)!=(0);
-  if (!($5)) {
-   break;
-  }
-  $6 = $2;
-  $7 = (($6>>>0) % 10)&-1;
-  $8 = (48 + ($7))|0;
-  $9 = $8&255;
-  $10 = $3;
-  $11 = ((($10)) + -1|0);
-  $3 = $11;
-  HEAP8[$11>>0] = $9;
-  $12 = $2;
-  $13 = (($12>>>0) / 10)&-1;
-  $2 = $13;
- }
- $14 = $3;
- STACKTOP = sp;return ($14|0);
-}
-function _mrb_realloc_simple($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $3;
- $8 = ((($7)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = $3;
- $11 = $4;
- $12 = $5;
- $13 = $3;
- $14 = ((($13)) + 8|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = (FUNCTION_TABLE_iiiii[$9 & 255]($10,$11,$12,$15)|0);
- $6 = $16;
- $17 = $6;
- $18 = ($17|0)==(0|0);
- $19 = $5;
- $20 = ($19>>>0)>(0);
- $or$cond = $18 & $20;
- if (!($or$cond)) {
-  $36 = $6;
-  STACKTOP = sp;return ($36|0);
- }
- $21 = $3;
- $22 = ((($21)) + 92|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = ($23|0)!=(0|0);
- if (!($24)) {
-  $36 = $6;
-  STACKTOP = sp;return ($36|0);
- }
- $25 = $3;
- _mrb_full_gc($25);
- $26 = $3;
- $27 = ((($26)) + 4|0);
- $28 = HEAP32[$27>>2]|0;
- $29 = $3;
- $30 = $4;
- $31 = $5;
- $32 = $3;
- $33 = ((($32)) + 8|0);
- $34 = HEAP32[$33>>2]|0;
- $35 = (FUNCTION_TABLE_iiiii[$28 & 255]($29,$30,$31,$34)|0);
- $6 = $35;
- $36 = $6;
- STACKTOP = sp;return ($36|0);
-}
-function _mrb_full_gc($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = ((($3)) + 92|0);
- $2 = $4;
- $5 = $2;
- $6 = ((($5)) + 452|0);
- $7 = HEAP8[$6>>0]|0;
- $8 = $7 & 1;
- $9 = ($8<<24>>24)!=(0);
- if ($9) {
-  STACKTOP = sp;return;
- }
- $10 = $2;
- $11 = ((($10)) + 452|0);
- $12 = HEAP8[$11>>0]|0;
- $13 = ($12&255) >>> 2;
- $14 = $13 & 1;
- $15 = ($14<<24>>24)!=(0);
- if ($15) {
-  $16 = $1;
-  $17 = $2;
-  _clear_all_old($16,$17);
-  $18 = $2;
-  $19 = ((($18)) + 452|0);
-  $20 = HEAP8[$19>>0]|0;
-  $21 = $20 & -3;
-  $22 = $21 | 2;
-  HEAP8[$19>>0] = $22;
- } else {
-  $23 = $2;
-  $24 = ((($23)) + 420|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = ($25|0)!=(0);
-  if ($26) {
-   $27 = $1;
-   $28 = $2;
-   _incremental_gc_until($27,$28,0);
-  }
- }
- $29 = $1;
- $30 = $2;
- _incremental_gc_until($29,$30,0);
- $31 = $2;
- $32 = ((($31)) + 436|0);
- $33 = HEAP32[$32>>2]|0;
- $34 = (($33>>>0) / 100)&-1;
- $35 = $2;
- $36 = ((($35)) + 444|0);
- $37 = HEAP32[$36>>2]|0;
- $38 = Math_imul($34, $37)|0;
- $39 = $2;
- $40 = ((($39)) + 440|0);
- HEAP32[$40>>2] = $38;
- $41 = $2;
- $42 = ((($41)) + 452|0);
- $43 = HEAP8[$42>>0]|0;
- $44 = ($43&255) >>> 2;
- $45 = $44 & 1;
- $46 = ($45<<24>>24)!=(0);
- if (!($46)) {
-  STACKTOP = sp;return;
- }
- $47 = $2;
- $48 = ((($47)) + 436|0);
- $49 = HEAP32[$48>>2]|0;
- $50 = (($49>>>0) / 100)&-1;
- $51 = ($50*200)|0;
- $52 = $2;
- $53 = ((($52)) + 456|0);
- HEAP32[$53>>2] = $51;
- $54 = $2;
- $55 = ((($54)) + 452|0);
- $56 = HEAP8[$55>>0]|0;
- $57 = $56 & -3;
- HEAP8[$55>>0] = $57;
- STACKTOP = sp;return;
-}
-function _clear_all_old($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $3;
- $6 = ((($5)) + 452|0);
- $7 = HEAP8[$6>>0]|0;
- $8 = ($7&255) >>> 2;
- $9 = $8 & 1;
- $4 = $9;
- $10 = $3;
- $11 = ((($10)) + 452|0);
- $12 = HEAP8[$11>>0]|0;
- $13 = ($12&255) >>> 2;
- $14 = $13 & 1;
- $15 = $14&255;
- $16 = ($15|0)!=(0);
- if ($16) {
-  $17 = $3;
-  $18 = ((($17)) + 452|0);
-  $19 = HEAP8[$18>>0]|0;
-  $20 = ($19&255) >>> 1;
-  $21 = $20 & 1;
-  $22 = $21&255;
-  $23 = ($22|0)!=(0);
-  if ($23) {
-   $24 = $2;
-   $25 = $3;
-   _incremental_gc_until($24,$25,0);
-  }
- }
- $26 = $3;
- $27 = ((($26)) + 452|0);
- $28 = HEAP8[$27>>0]|0;
- $29 = $28 & -5;
- HEAP8[$27>>0] = $29;
- $30 = $2;
- $31 = $3;
- _prepare_incremental_sweep($30,$31);
- $32 = $2;
- $33 = $3;
- _incremental_gc_until($32,$33,0);
- $34 = $4;
- $35 = $3;
- $36 = ((($35)) + 452|0);
- $37 = HEAP8[$36>>0]|0;
- $38 = $34 & 1;
- $39 = ($38 << 2)&255;
- $40 = $37 & -5;
- $41 = $40 | $39;
- HEAP8[$36>>0] = $41;
- $42 = $3;
- $43 = ((($42)) + 428|0);
- HEAP32[$43>>2] = 0;
- $44 = $3;
- $45 = ((($44)) + 432|0);
- HEAP32[$45>>2] = 0;
- STACKTOP = sp;return;
-}
-function _incremental_gc_until($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- while(1) {
-  $6 = $3;
-  $7 = $4;
-  (_incremental_gc($6,$7,-1)|0);
-  $8 = $4;
-  $9 = ((($8)) + 420|0);
-  $10 = HEAP32[$9>>2]|0;
-  $11 = $5;
-  $12 = ($10|0)!=($11|0);
-  if (!($12)) {
-   break;
-  }
- }
- STACKTOP = sp;return;
-}
-function _incremental_gc($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $8 = $5;
- $9 = ((($8)) + 420|0);
- $10 = HEAP32[$9>>2]|0;
- switch ($10|0) {
- case 0:  {
-  $11 = $4;
-  $12 = $5;
-  _root_scan_phase($11,$12);
-  $13 = $5;
-  $14 = ((($13)) + 420|0);
-  HEAP32[$14>>2] = 1;
-  $15 = $5;
-  $16 = ((($15)) + 424|0);
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $17 ^ 3;
-  $19 = $5;
-  $20 = ((($19)) + 424|0);
-  HEAP32[$20>>2] = $18;
-  $3 = 0;
-  $40 = $3;
-  STACKTOP = sp;return ($40|0);
-  break;
- }
- case 1:  {
-  $21 = $5;
-  $22 = ((($21)) + 428|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = ($23|0)!=(0|0);
-  $25 = $4;
-  $26 = $5;
-  if ($24) {
-   $27 = $6;
-   $28 = (_incremental_marking_phase($25,$26,$27)|0);
-   $3 = $28;
-   $40 = $3;
-   STACKTOP = sp;return ($40|0);
-  } else {
-   _final_marking_phase($25,$26);
-   $29 = $4;
-   $30 = $5;
-   _prepare_incremental_sweep($29,$30);
-   $3 = 0;
-   $40 = $3;
-   STACKTOP = sp;return ($40|0);
-  }
-  break;
- }
- case 2:  {
-  $7 = 0;
-  $31 = $4;
-  $32 = $5;
-  $33 = $6;
-  $34 = (_incremental_sweep_phase($31,$32,$33)|0);
-  $7 = $34;
-  $35 = $7;
-  $36 = ($35|0)==(0);
-  if ($36) {
-   $37 = $5;
-   $38 = ((($37)) + 420|0);
-   HEAP32[$38>>2] = 0;
-  }
-  $39 = $7;
-  $3 = $39;
-  $40 = $3;
-  STACKTOP = sp;return ($40|0);
-  break;
- }
- default: {
-  $3 = 0;
-  $40 = $3;
-  STACKTOP = sp;return ($40|0);
- }
- }
- return (0)|0;
-}
-function _root_scan_phase($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $6 = $3;
- $7 = ((($6)) + 452|0);
- $8 = HEAP8[$7>>0]|0;
- $9 = ($8&255) >>> 2;
- $10 = $9 & 1;
- $11 = $10&255;
- $12 = ($11|0)!=(0);
- if ($12) {
-  $13 = $3;
-  $14 = ((($13)) + 452|0);
-  $15 = HEAP8[$14>>0]|0;
-  $16 = ($15&255) >>> 1;
-  $17 = $16 & 1;
-  $18 = ($17<<24>>24)!=(0);
-  if ($18) {
-   label = 3;
-  }
- } else {
-  label = 3;
- }
- if ((label|0) == 3) {
-  $19 = $3;
-  $20 = ((($19)) + 428|0);
-  HEAP32[$20>>2] = 0;
-  $21 = $3;
-  $22 = ((($21)) + 432|0);
-  HEAP32[$22>>2] = 0;
- }
- $23 = $2;
- _mrb_gc_mark_gv($23);
- $4 = 0;
- $24 = $3;
- $25 = ((($24)) + 416|0);
- $26 = HEAP32[$25>>2]|0;
- $5 = $26;
- while(1) {
-  $27 = $4;
-  $28 = $5;
-  $29 = ($27>>>0)<($28>>>0);
-  $30 = $2;
-  if (!($29)) {
-   break;
-  }
-  $31 = $3;
-  $32 = ((($31)) + 16|0);
-  $33 = $4;
-  $34 = (($32) + ($33<<2)|0);
-  $35 = HEAP32[$34>>2]|0;
-  _mrb_gc_mark($30,$35);
-  $36 = $4;
-  $37 = (($36) + 1)|0;
-  $4 = $37;
- }
- $38 = $2;
- $39 = ((($38)) + 32|0);
- $40 = HEAP32[$39>>2]|0;
- _mrb_gc_mark($30,$40);
- $41 = $2;
- $42 = $2;
- $43 = ((($42)) + 28|0);
- $44 = HEAP32[$43>>2]|0;
- _mrb_gc_mark($41,$44);
- $45 = $2;
- $46 = $2;
- $47 = ((($46)) + 20|0);
- $48 = HEAP32[$47>>2]|0;
- _mrb_gc_mark($45,$48);
- $49 = $2;
- $50 = $2;
- $51 = ((($50)) + 576|0);
- $52 = HEAP32[$51>>2]|0;
- _mrb_gc_mark($49,$52);
- $53 = $2;
- $54 = $2;
- $55 = ((($54)) + 16|0);
- $56 = HEAP32[$55>>2]|0;
- _mark_context($53,$56);
- $57 = $2;
- $58 = ((($57)) + 16|0);
- $59 = HEAP32[$58>>2]|0;
- $60 = ((($59)) + 48|0);
- $61 = HEAP32[$60>>2]|0;
- $62 = ($61|0)!=(0|0);
- if ($62) {
-  $63 = $2;
-  $64 = $2;
-  $65 = ((($64)) + 16|0);
-  $66 = HEAP32[$65>>2]|0;
-  $67 = ((($66)) + 48|0);
-  $68 = HEAP32[$67>>2]|0;
-  _mrb_gc_mark($63,$68);
- }
- $69 = $2;
- $70 = ((($69)) + 16|0);
- $71 = HEAP32[$70>>2]|0;
- $72 = $2;
- $73 = ((($72)) + 12|0);
- $74 = HEAP32[$73>>2]|0;
- $75 = ($71|0)!=($74|0);
- if (!($75)) {
-  STACKTOP = sp;return;
- }
- $76 = $2;
- $77 = $2;
- $78 = ((($77)) + 12|0);
- $79 = HEAP32[$78>>2]|0;
- _mark_context($76,$79);
- STACKTOP = sp;return;
-}
-function _incremental_marking_phase($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = 0;
- while(1) {
-  $7 = $4;
-  $8 = ((($7)) + 428|0);
-  $9 = HEAP32[$8>>2]|0;
-  $10 = ($9|0)!=(0|0);
-  if (!($10)) {
-   label = 5;
-   break;
-  }
-  $11 = $6;
-  $12 = $5;
-  $13 = ($11>>>0)<($12>>>0);
-  if (!($13)) {
-   label = 5;
-   break;
-  }
-  $14 = $3;
-  $15 = $4;
-  $16 = $4;
-  $17 = ((($16)) + 428|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = (_gc_gray_mark($14,$15,$18)|0);
-  $20 = $6;
-  $21 = (($20) + ($19))|0;
-  $6 = $21;
- }
- if ((label|0) == 5) {
-  $22 = $6;
-  STACKTOP = sp;return ($22|0);
- }
- return (0)|0;
-}
-function _final_marking_phase($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $2;
- $6 = ((($5)) + 16|0);
- $7 = HEAP32[$6>>2]|0;
- _mark_context_stack($4,$7);
- $8 = $2;
- $9 = $3;
- _gc_mark_gray_list($8,$9);
- $10 = $3;
- $11 = ((($10)) + 432|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = $3;
- $14 = ((($13)) + 428|0);
- HEAP32[$14>>2] = $12;
- $15 = $3;
- $16 = ((($15)) + 432|0);
- HEAP32[$16>>2] = 0;
- $17 = $2;
- $18 = $3;
- _gc_mark_gray_list($17,$18);
- STACKTOP = sp;return;
-}
-function _prepare_incremental_sweep($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 420|0);
- HEAP32[$5>>2] = 2;
- $6 = $3;
- $7 = HEAP32[$6>>2]|0;
- $8 = $3;
- $9 = ((($8)) + 4|0);
- HEAP32[$9>>2] = $7;
- $10 = $3;
- $11 = ((($10)) + 12|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = $3;
- $14 = ((($13)) + 436|0);
- HEAP32[$14>>2] = $12;
- STACKTOP = sp;return;
-}
-function _incremental_sweep_phase($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
- var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
- var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
- var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
- var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $14 = $4;
- $15 = ((($14)) + 4|0);
- $16 = HEAP32[$15>>2]|0;
- $6 = $16;
- $7 = 0;
- while(1) {
-  $17 = $6;
-  $18 = ($17|0)!=(0|0);
-  if ($18) {
-   $19 = $7;
-   $20 = $5;
-   $21 = ($19>>>0)<($20>>>0);
-   $165 = $21;
-  } else {
-   $165 = 0;
-  }
-  $22 = $6;
-  if (!($165)) {
-   break;
-  }
-  $23 = ((($22)) + 24|0);
-  $8 = $23;
-  $24 = $8;
-  $25 = ((($24)) + 1536|0);
-  $9 = $25;
-  $10 = 0;
-  $11 = 1;
-  $26 = $6;
-  $27 = HEAP32[$26>>2]|0;
-  $28 = ($27|0)==(0|0);
-  $29 = $28&1;
-  $30 = $29&255;
-  $12 = $30;
-  $31 = $4;
-  $32 = ((($31)) + 452|0);
-  $33 = HEAP8[$32>>0]|0;
-  $34 = ($33&255) >>> 2;
-  $35 = $34 & 1;
-  $36 = $35&255;
-  $37 = ($36|0)!=(0);
-  if ($37) {
-   $38 = $4;
-   $39 = ((($38)) + 452|0);
-   $40 = HEAP8[$39>>0]|0;
-   $41 = ($40&255) >>> 1;
-   $42 = $41 & 1;
-   $43 = ($42<<24>>24)!=(0);
-   if (!($43)) {
-    $44 = $6;
-    $45 = ((($44)) + 20|0);
-    $46 = HEAP8[$45>>0]|0;
-    $47 = $46 & 1;
-    $48 = $47&255;
-    $49 = ($48|0)!=(0);
-    if ($49) {
-     $50 = $9;
-     $8 = $50;
-     $11 = 0;
-    }
-   }
-  }
-  while(1) {
-   $51 = $8;
-   $52 = $9;
-   $53 = ($51>>>0)<($52>>>0);
-   if (!($53)) {
-    break;
-   }
-   $54 = $8;
-   $55 = HEAP32[$54>>2]|0;
-   $56 = $55 >>> 8;
-   $57 = $56 & 7;
-   $58 = $4;
-   $59 = ((($58)) + 424|0);
-   $60 = HEAP32[$59>>2]|0;
-   $61 = $60 ^ 3;
-   $62 = $57 & $61;
-   $63 = $62 & 3;
-   $64 = ($63|0)!=(0);
-   if ($64) {
-    label = 12;
-   } else {
-    $65 = $8;
-    $66 = HEAP32[$65>>2]|0;
-    $67 = $66 & 255;
-    $68 = ($67|0)==(1);
-    if ($68) {
-     label = 12;
-    } else {
-     $83 = $4;
-     $84 = ((($83)) + 452|0);
-     $85 = HEAP8[$84>>0]|0;
-     $86 = ($85&255) >>> 2;
-     $87 = $86 & 1;
-     $88 = ($87<<24>>24)!=(0);
-     if (!($88)) {
-      $89 = $4;
-      $90 = ((($89)) + 424|0);
-      $91 = HEAP32[$90>>2]|0;
-      $92 = $8;
-      $93 = HEAP32[$92>>2]|0;
-      $94 = $91 & 7;
-      $95 = $94 << 8;
-      $96 = $93 & -1793;
-      $97 = $96 | $95;
-      HEAP32[$92>>2] = $97;
-     }
-     $11 = 0;
-    }
-   }
-   if ((label|0) == 12) {
-    label = 0;
-    $69 = $8;
-    $70 = HEAP32[$69>>2]|0;
-    $71 = $70 & 255;
-    $72 = ($71|0)!=(1);
-    if ($72) {
-     $73 = $3;
-     $74 = $8;
-     _obj_free($73,$74);
-     $75 = $6;
-     $76 = HEAP32[$75>>2]|0;
-     $77 = $8;
-     $78 = ((($77)) + 12|0);
-     HEAP32[$78>>2] = $76;
-     $79 = $8;
-     $80 = $6;
-     HEAP32[$80>>2] = $79;
-     $81 = $10;
-     $82 = (($81) + 1)|0;
-     $10 = $82;
-    }
-   }
-   $98 = $8;
-   $99 = ((($98)) + 24|0);
-   $8 = $99;
-  }
-  $100 = $11;
-  $101 = $100&255;
-  $102 = ($101|0)!=(0);
-  $103 = $10;
-  $104 = ($103>>>0)<(64);
-  $or$cond = $102 & $104;
-  if ($or$cond) {
-   $105 = $6;
-   $106 = ((($105)) + 8|0);
-   $107 = HEAP32[$106>>2]|0;
-   $13 = $107;
-   $108 = $4;
-   $109 = $6;
-   _unlink_heap_page($108,$109);
-   $110 = $4;
-   $111 = $6;
-   _unlink_free_heap_page($110,$111);
-   $112 = $3;
-   $113 = $6;
-   _mrb_free($112,$113);
-   $114 = $13;
-   $6 = $114;
-  } else {
-   $115 = $12;
-   $116 = $115&255;
-   $117 = ($116|0)!=(0);
-   $118 = $10;
-   $119 = ($118>>>0)>(0);
-   $or$cond3 = $117 & $119;
-   if ($or$cond3) {
-    $120 = $4;
-    $121 = $6;
-    _link_free_heap_page($120,$121);
-   }
-   $122 = $6;
-   $123 = HEAP32[$122>>2]|0;
-   $124 = ($123|0)==(0|0);
-   if ($124) {
-    $125 = $4;
-    $126 = ((($125)) + 452|0);
-    $127 = HEAP8[$126>>0]|0;
-    $128 = ($127&255) >>> 2;
-    $129 = $128 & 1;
-    $130 = $129&255;
-    $131 = ($130|0)!=(0);
-    if ($131) {
-     $132 = $4;
-     $133 = ((($132)) + 452|0);
-     $134 = HEAP8[$133>>0]|0;
-     $135 = ($134&255) >>> 1;
-     $136 = $135 & 1;
-     $137 = ($136<<24>>24)!=(0);
-     if ($137) {
-      label = 26;
-     } else {
-      $138 = $6;
-      $139 = ((($138)) + 20|0);
-      $140 = HEAP8[$139>>0]|0;
-      $141 = $140 & -2;
-      $142 = $141 | 1;
-      HEAP8[$139>>0] = $142;
-     }
-    } else {
-     label = 26;
-    }
-   } else {
-    label = 26;
-   }
-   if ((label|0) == 26) {
-    label = 0;
-    $143 = $6;
-    $144 = ((($143)) + 20|0);
-    $145 = HEAP8[$144>>0]|0;
-    $146 = $145 & -2;
-    HEAP8[$144>>0] = $146;
-   }
-   $147 = $6;
-   $148 = ((($147)) + 8|0);
-   $149 = HEAP32[$148>>2]|0;
-   $6 = $149;
-  }
-  $150 = $7;
-  $151 = (($150) + 64)|0;
-  $7 = $151;
-  $152 = $10;
-  $153 = $4;
-  $154 = ((($153)) + 12|0);
-  $155 = HEAP32[$154>>2]|0;
-  $156 = (($155) - ($152))|0;
-  HEAP32[$154>>2] = $156;
-  $157 = $10;
-  $158 = $4;
-  $159 = ((($158)) + 436|0);
-  $160 = HEAP32[$159>>2]|0;
-  $161 = (($160) - ($157))|0;
-  HEAP32[$159>>2] = $161;
- }
- $162 = $4;
- $163 = ((($162)) + 4|0);
- HEAP32[$163>>2] = $22;
- $164 = $7;
- STACKTOP = sp;return ($164|0);
-}
-function _obj_free($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
- var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
- var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
- var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
- var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
- var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $8 = $3;
- $9 = HEAP32[$8>>2]|0;
- $10 = $9 & 255;
- L1: do {
-  switch ($10|0) {
-  case 18: case 8:  {
-   $11 = $2;
-   $12 = $3;
-   _mrb_gc_free_iv($11,$12);
-   break;
-  }
-  case 12: case 10: case 9:  {
-   $13 = $2;
-   $14 = $3;
-   _mrb_gc_free_mt($13,$14);
-   $15 = $2;
-   $16 = $3;
-   _mrb_gc_free_iv($15,$16);
-   break;
-  }
-  case 11:  {
-   $17 = $3;
-   $18 = HEAP32[$17>>2]|0;
-   $19 = $18 >>> 11;
-   $20 = $19 & 1048576;
-   $21 = ($20|0)!=(0);
-   if ($21) {
-    $22 = $2;
-    $23 = $3;
-    _mrb_gc_free_mt($22,$23);
-   }
-   break;
-  }
-  case 20:  {
-   $24 = $3;
-   $4 = $24;
-   $25 = $4;
-   $26 = ((($25)) + 20|0);
-   $27 = HEAP32[$26>>2]|0;
-   $28 = ($27|0)>=(0);
-   if (!($28)) {
-    $29 = $2;
-    $30 = $4;
-    $31 = ((($30)) + 12|0);
-    $32 = HEAP32[$31>>2]|0;
-    _mrb_free($29,$32);
-    $33 = $4;
-    $34 = ((($33)) + 12|0);
-    HEAP32[$34>>2] = 0;
-   }
-   break;
-  }
-  case 22:  {
-   $35 = $3;
-   $36 = ((($35)) + 12|0);
-   $37 = HEAP32[$36>>2]|0;
-   $5 = $37;
-   $38 = $5;
-   $39 = $2;
-   $40 = ((($39)) + 16|0);
-   $41 = HEAP32[$40>>2]|0;
-   $42 = ($38|0)!=($41|0);
-   if ($42) {
-    $43 = $2;
-    $44 = $5;
-    _mrb_free_context($43,$44);
-   }
-   break;
-  }
-  case 14:  {
-   $45 = $3;
-   $46 = HEAP32[$45>>2]|0;
-   $47 = $46 >>> 11;
-   $48 = $47 & 256;
-   $49 = ($48|0)!=(0);
-   $50 = $2;
-   $51 = $3;
-   if ($49) {
-    $52 = ((($51)) + 16|0);
-    $53 = HEAP32[$52>>2]|0;
-    _mrb_ary_decref($50,$53);
-    break L1;
-   } else {
-    $54 = ((($51)) + 20|0);
-    $55 = HEAP32[$54>>2]|0;
-    _mrb_free($50,$55);
-    break L1;
-   }
-   break;
-  }
-  case 15:  {
-   $56 = $2;
-   $57 = $3;
-   _mrb_gc_free_iv($56,$57);
-   $58 = $2;
-   $59 = $3;
-   _mrb_gc_free_hash($58,$59);
-   break;
-  }
-  case 16:  {
-   $60 = $2;
-   $61 = $3;
-   _mrb_gc_free_str($60,$61);
-   break;
-  }
-  case 13:  {
-   $62 = $3;
-   $6 = $62;
-   $63 = $6;
-   $64 = HEAP32[$63>>2]|0;
-   $65 = $64 >>> 11;
-   $66 = $65 & 128;
-   $67 = ($66|0)!=(0);
-   if (!($67)) {
-    $68 = $6;
-    $69 = ((($68)) + 12|0);
-    $70 = HEAP32[$69>>2]|0;
-    $71 = ($70|0)!=(0|0);
-    if ($71) {
-     $72 = $2;
-     $73 = $6;
-     $74 = ((($73)) + 12|0);
-     $75 = HEAP32[$74>>2]|0;
-     _mrb_irep_decref($72,$75);
-    }
-   }
-   break;
-  }
-  case 17:  {
-   $76 = $2;
-   $77 = $3;
-   $78 = ((($77)) + 12|0);
-   $79 = HEAP32[$78>>2]|0;
-   _mrb_free($76,$79);
-   break;
-  }
-  case 21:  {
-   $80 = $3;
-   $7 = $80;
-   $81 = $7;
-   $82 = ((($81)) + 16|0);
-   $83 = HEAP32[$82>>2]|0;
-   $84 = ($83|0)!=(0|0);
-   if ($84) {
-    $85 = $7;
-    $86 = ((($85)) + 16|0);
-    $87 = HEAP32[$86>>2]|0;
-    $88 = ((($87)) + 4|0);
-    $89 = HEAP32[$88>>2]|0;
-    $90 = ($89|0)!=(0|0);
-    if ($90) {
-     $91 = $7;
-     $92 = ((($91)) + 16|0);
-     $93 = HEAP32[$92>>2]|0;
-     $94 = ((($93)) + 4|0);
-     $95 = HEAP32[$94>>2]|0;
-     $96 = $2;
-     $97 = $7;
-     $98 = ((($97)) + 20|0);
-     $99 = HEAP32[$98>>2]|0;
-     FUNCTION_TABLE_vii[$95 & 511]($96,$99);
-    }
-   }
-   $100 = $2;
-   $101 = $3;
-   _mrb_gc_free_iv($100,$101);
-   break;
-  }
-  case 6: case 4: case 3: case 2:  {
-   STACKTOP = sp;return;
-   break;
-  }
-  default: {
-  }
-  }
- } while(0);
- $102 = $3;
- $103 = HEAP32[$102>>2]|0;
- $104 = $103 & -256;
- $105 = $104 | 1;
- HEAP32[$102>>2] = $105;
- STACKTOP = sp;return;
-}
-function _unlink_heap_page($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 4|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ($6|0)!=(0|0);
- if ($7) {
-  $8 = $3;
-  $9 = ((($8)) + 8|0);
-  $10 = HEAP32[$9>>2]|0;
-  $11 = $3;
-  $12 = ((($11)) + 4|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = ((($13)) + 8|0);
-  HEAP32[$14>>2] = $10;
- }
- $15 = $3;
- $16 = ((($15)) + 8|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17|0)!=(0|0);
- if ($18) {
-  $19 = $3;
-  $20 = ((($19)) + 4|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $3;
-  $23 = ((($22)) + 8|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = ((($24)) + 4|0);
-  HEAP32[$25>>2] = $21;
- }
- $26 = $2;
- $27 = HEAP32[$26>>2]|0;
- $28 = $3;
- $29 = ($27|0)==($28|0);
- if (!($29)) {
-  $34 = $3;
-  $35 = ((($34)) + 4|0);
-  HEAP32[$35>>2] = 0;
-  $36 = $3;
-  $37 = ((($36)) + 8|0);
-  HEAP32[$37>>2] = 0;
-  STACKTOP = sp;return;
- }
- $30 = $3;
- $31 = ((($30)) + 8|0);
- $32 = HEAP32[$31>>2]|0;
- $33 = $2;
- HEAP32[$33>>2] = $32;
- $34 = $3;
- $35 = ((($34)) + 4|0);
- HEAP32[$35>>2] = 0;
- $36 = $3;
- $37 = ((($36)) + 8|0);
- HEAP32[$37>>2] = 0;
- STACKTOP = sp;return;
-}
-function _unlink_free_heap_page($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 16|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ($6|0)!=(0|0);
- if ($7) {
-  $8 = $3;
-  $9 = ((($8)) + 12|0);
-  $10 = HEAP32[$9>>2]|0;
-  $11 = $3;
-  $12 = ((($11)) + 16|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = ((($13)) + 12|0);
-  HEAP32[$14>>2] = $10;
- }
- $15 = $3;
- $16 = ((($15)) + 12|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17|0)!=(0|0);
- if ($18) {
-  $19 = $3;
-  $20 = ((($19)) + 16|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $3;
-  $23 = ((($22)) + 12|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = ((($24)) + 16|0);
-  HEAP32[$25>>2] = $21;
- }
- $26 = $2;
- $27 = ((($26)) + 8|0);
- $28 = HEAP32[$27>>2]|0;
- $29 = $3;
- $30 = ($28|0)==($29|0);
- if (!($30)) {
-  $36 = $3;
-  $37 = ((($36)) + 16|0);
-  HEAP32[$37>>2] = 0;
-  $38 = $3;
-  $39 = ((($38)) + 12|0);
-  HEAP32[$39>>2] = 0;
-  STACKTOP = sp;return;
- }
- $31 = $3;
- $32 = ((($31)) + 12|0);
- $33 = HEAP32[$32>>2]|0;
- $34 = $2;
- $35 = ((($34)) + 8|0);
- HEAP32[$35>>2] = $33;
- $36 = $3;
- $37 = ((($36)) + 16|0);
- HEAP32[$37>>2] = 0;
- $38 = $3;
- $39 = ((($38)) + 12|0);
- HEAP32[$39>>2] = 0;
- STACKTOP = sp;return;
-}
-function _mrb_free($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = ((($4)) + 4|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = $2;
- $8 = $3;
- $9 = $2;
- $10 = ((($9)) + 8|0);
- $11 = HEAP32[$10>>2]|0;
- (FUNCTION_TABLE_iiiii[$6 & 255]($7,$8,0,$11)|0);
- STACKTOP = sp;return;
-}
-function _link_free_heap_page($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = ((($4)) + 8|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = $3;
- $8 = ((($7)) + 12|0);
- HEAP32[$8>>2] = $6;
- $9 = $2;
- $10 = ((($9)) + 8|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)!=(0|0);
- if ($12) {
-  $13 = $3;
-  $14 = $2;
-  $15 = ((($14)) + 8|0);
-  $16 = HEAP32[$15>>2]|0;
-  $17 = ((($16)) + 16|0);
-  HEAP32[$17>>2] = $13;
- }
- $18 = $3;
- $19 = $2;
- $20 = ((($19)) + 8|0);
- HEAP32[$20>>2] = $18;
- STACKTOP = sp;return;
-}
-function _mark_context_stack($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $6 = sp + 8|0;
- $7 = sp;
- $2 = $0;
- $3 = $1;
- $8 = $3;
- $9 = ((($8)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = $3;
- $12 = ((($11)) + 8|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $10;
- $15 = $13;
- $16 = (($14) - ($15))|0;
- $17 = (($16|0) / 8)&-1;
- $5 = $17;
- $18 = $3;
- $19 = ((($18)) + 16|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = ($20|0)!=(0|0);
- if ($21) {
-  $22 = $3;
-  $23 = ((($22)) + 16|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = ((($24)) + 12|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $5;
-  $28 = (($27) + ($26))|0;
-  $5 = $28;
- }
- $29 = $3;
- $30 = ((($29)) + 8|0);
- $31 = HEAP32[$30>>2]|0;
- $32 = $5;
- $33 = (($31) + ($32<<3)|0);
- $34 = $3;
- $35 = ((($34)) + 12|0);
- $36 = HEAP32[$35>>2]|0;
- $37 = ($33>>>0)>($36>>>0);
- if ($37) {
-  $38 = $3;
-  $39 = ((($38)) + 12|0);
-  $40 = HEAP32[$39>>2]|0;
-  $41 = $3;
-  $42 = ((($41)) + 8|0);
-  $43 = HEAP32[$42>>2]|0;
-  $44 = $40;
-  $45 = $43;
-  $46 = (($44) - ($45))|0;
-  $47 = (($46|0) / 8)&-1;
-  $5 = $47;
- }
- $4 = 0;
- while(1) {
-  $48 = $4;
-  $49 = $5;
-  $50 = ($48>>>0)<($49>>>0);
-  if (!($50)) {
-   break;
-  }
-  $51 = $3;
-  $52 = ((($51)) + 8|0);
-  $53 = HEAP32[$52>>2]|0;
-  $54 = $4;
-  $55 = (($53) + ($54<<3)|0);
-  ;HEAP32[$6>>2]=HEAP32[$55>>2]|0;HEAP32[$6+4>>2]=HEAP32[$55+4>>2]|0;
-  $56 = ((($6)) + 4|0);
-  $57 = HEAP32[$56>>2]|0;
-  $58 = ($57>>>0)<(8);
-  do {
-   if (!($58)) {
-    $59 = HEAP32[$6>>2]|0;
-    $60 = HEAP32[$59>>2]|0;
-    $61 = $60 & 255;
-    $62 = ($61|0)==(1);
-    if ($62) {
-     $63 = $3;
-     $64 = ((($63)) + 8|0);
-     $65 = HEAP32[$64>>2]|0;
-     $66 = $4;
-     $67 = (($65) + ($66<<3)|0);
-     _mrb_nil_value_55($7);
-     ;HEAP32[$67>>2]=HEAP32[$7>>2]|0;HEAP32[$67+4>>2]=HEAP32[$7+4>>2]|0;
-     break;
-    } else {
-     $68 = $2;
-     $69 = HEAP32[$6>>2]|0;
-     _mrb_gc_mark($68,$69);
-     break;
-    }
-   }
-  } while(0);
-  $70 = $4;
-  $71 = (($70) + 1)|0;
-  $4 = $71;
- }
- STACKTOP = sp;return;
-}
-function _gc_mark_gray_list($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- while(1) {
-  $4 = $3;
-  $5 = ((($4)) + 428|0);
-  $6 = HEAP32[$5>>2]|0;
-  $7 = ($6|0)!=(0|0);
-  if (!($7)) {
-   break;
-  }
-  $8 = $3;
-  $9 = ((($8)) + 428|0);
-  $10 = HEAP32[$9>>2]|0;
-  $11 = HEAP32[$10>>2]|0;
-  $12 = $11 >>> 8;
-  $13 = $12 & 7;
-  $14 = ($13|0)==(0);
-  if ($14) {
-   $15 = $2;
-   $16 = $3;
-   $17 = $3;
-   $18 = ((($17)) + 428|0);
-   $19 = HEAP32[$18>>2]|0;
-   _gc_mark_children($15,$16,$19);
-   continue;
-  } else {
-   $20 = $3;
-   $21 = ((($20)) + 428|0);
-   $22 = HEAP32[$21>>2]|0;
-   $23 = ((($22)) + 8|0);
-   $24 = HEAP32[$23>>2]|0;
-   $25 = $3;
-   $26 = ((($25)) + 428|0);
-   HEAP32[$26>>2] = $24;
-   continue;
-  }
- }
- STACKTOP = sp;return;
-}
-function _gc_mark_children($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
- var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
- var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
- var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
- var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $17 = $5;
- $18 = HEAP32[$17>>2]|0;
- $19 = $18 & -1793;
- $20 = $19 | 1024;
- HEAP32[$17>>2] = $20;
- $21 = $5;
- $22 = ((($21)) + 8|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = $4;
- $25 = ((($24)) + 428|0);
- HEAP32[$25>>2] = $23;
- $26 = $3;
- $27 = $5;
- $28 = ((($27)) + 4|0);
- $29 = HEAP32[$28>>2]|0;
- _mrb_gc_mark($26,$29);
- $30 = $5;
- $31 = HEAP32[$30>>2]|0;
- $32 = $31 & 255;
- switch ($32|0) {
- case 11:  {
-  $33 = $5;
-  $6 = $33;
-  $34 = $6;
-  $35 = HEAP32[$34>>2]|0;
-  $36 = $35 >>> 11;
-  $37 = $36 & 1048576;
-  $38 = ($37|0)!=(0);
-  if ($38) {
-   $39 = $3;
-   $40 = $6;
-   _mrb_gc_mark_mt($39,$40);
-  }
-  $41 = $3;
-  $42 = $5;
-  $43 = ((($42)) + 20|0);
-  $44 = HEAP32[$43>>2]|0;
-  _mrb_gc_mark($41,$44);
-  STACKTOP = sp;return;
-  break;
- }
- case 12: case 10: case 9:  {
-  $45 = $5;
-  $7 = $45;
-  $46 = $3;
-  $47 = $7;
-  _mrb_gc_mark_mt($46,$47);
-  $48 = $3;
-  $49 = $7;
-  $50 = ((($49)) + 20|0);
-  $51 = HEAP32[$50>>2]|0;
-  _mrb_gc_mark($48,$51);
-  break;
- }
- case 18: case 21: case 8:  {
-  break;
- }
- case 13:  {
-  $54 = $5;
-  $8 = $54;
-  $55 = $3;
-  $56 = $8;
-  $57 = ((($56)) + 20|0);
-  $58 = HEAP32[$57>>2]|0;
-  _mrb_gc_mark($55,$58);
-  $59 = $3;
-  $60 = $8;
-  $61 = ((($60)) + 16|0);
-  $62 = HEAP32[$61>>2]|0;
-  _mrb_gc_mark($59,$62);
-  STACKTOP = sp;return;
-  break;
- }
- case 20:  {
-  $63 = $5;
-  $9 = $63;
-  $64 = $9;
-  $65 = ((($64)) + 20|0);
-  $66 = HEAP32[$65>>2]|0;
-  $67 = ($66|0)>=(0);
-  if ($67) {
-   STACKTOP = sp;return;
-  }
-  $68 = $9;
-  $69 = HEAP32[$68>>2]|0;
-  $70 = $69 >>> 11;
-  $11 = $70;
-  $10 = 0;
-  while(1) {
-   $71 = $10;
-   $72 = $11;
-   $73 = ($71|0)<($72|0);
-   if (!($73)) {
-    break;
-   }
-   $74 = $9;
-   $75 = ((($74)) + 12|0);
-   $76 = HEAP32[$75>>2]|0;
-   $77 = $10;
-   $78 = (($76) + ($77<<3)|0);
-   $79 = ((($78)) + 4|0);
-   $80 = HEAP32[$79>>2]|0;
-   $81 = ($80>>>0)<(8);
-   if (!($81)) {
-    $82 = $3;
-    $83 = $9;
-    $84 = ((($83)) + 12|0);
-    $85 = HEAP32[$84>>2]|0;
-    $86 = $10;
-    $87 = (($85) + ($86<<3)|0);
-    $88 = HEAP32[$87>>2]|0;
-    _mrb_gc_mark($82,$88);
-   }
-   $89 = $10;
-   $90 = (($89) + 1)|0;
-   $10 = $90;
-  }
-  STACKTOP = sp;return;
-  break;
- }
- case 22:  {
-  $91 = $5;
-  $92 = ((($91)) + 12|0);
-  $93 = HEAP32[$92>>2]|0;
-  $12 = $93;
-  $94 = $12;
-  $95 = ($94|0)!=(0|0);
-  if (!($95)) {
-   STACKTOP = sp;return;
-  }
-  $96 = $3;
-  $97 = $12;
-  _mark_context($96,$97);
-  STACKTOP = sp;return;
-  break;
- }
- case 14:  {
-  $98 = $5;
-  $13 = $98;
-  $14 = 0;
-  $99 = $13;
-  $100 = ((($99)) + 12|0);
-  $101 = HEAP32[$100>>2]|0;
-  $15 = $101;
-  while(1) {
-   $102 = $14;
-   $103 = $15;
-   $104 = ($102>>>0)<($103>>>0);
-   if (!($104)) {
-    break;
-   }
-   $105 = $13;
-   $106 = ((($105)) + 20|0);
-   $107 = HEAP32[$106>>2]|0;
-   $108 = $14;
-   $109 = (($107) + ($108<<3)|0);
-   $110 = ((($109)) + 4|0);
-   $111 = HEAP32[$110>>2]|0;
-   $112 = ($111>>>0)<(8);
-   if (!($112)) {
-    $113 = $3;
-    $114 = $13;
-    $115 = ((($114)) + 20|0);
-    $116 = HEAP32[$115>>2]|0;
-    $117 = $14;
-    $118 = (($116) + ($117<<3)|0);
-    $119 = HEAP32[$118>>2]|0;
-    _mrb_gc_mark($113,$119);
-   }
-   $120 = $14;
-   $121 = (($120) + 1)|0;
-   $14 = $121;
-  }
-  STACKTOP = sp;return;
-  break;
- }
- case 15:  {
-  $122 = $3;
-  $123 = $5;
-  _mrb_gc_mark_iv($122,$123);
-  $124 = $3;
-  $125 = $5;
-  _mrb_gc_mark_hash($124,$125);
-  STACKTOP = sp;return;
-  break;
- }
- case 17:  {
-  $126 = $5;
-  $16 = $126;
-  $127 = $16;
-  $128 = ((($127)) + 12|0);
-  $129 = HEAP32[$128>>2]|0;
-  $130 = ($129|0)!=(0|0);
-  if (!($130)) {
-   STACKTOP = sp;return;
-  }
-  $131 = $16;
-  $132 = ((($131)) + 12|0);
-  $133 = HEAP32[$132>>2]|0;
-  $134 = ((($133)) + 4|0);
-  $135 = HEAP32[$134>>2]|0;
-  $136 = ($135>>>0)<(8);
-  if (!($136)) {
-   $137 = $3;
-   $138 = $16;
-   $139 = ((($138)) + 12|0);
-   $140 = HEAP32[$139>>2]|0;
-   $141 = HEAP32[$140>>2]|0;
-   _mrb_gc_mark($137,$141);
-  }
-  $142 = $16;
-  $143 = ((($142)) + 12|0);
-  $144 = HEAP32[$143>>2]|0;
-  $145 = ((($144)) + 8|0);
-  $146 = ((($145)) + 4|0);
-  $147 = HEAP32[$146>>2]|0;
-  $148 = ($147>>>0)<(8);
-  if ($148) {
-   STACKTOP = sp;return;
-  }
-  $149 = $3;
-  $150 = $16;
-  $151 = ((($150)) + 12|0);
-  $152 = HEAP32[$151>>2]|0;
-  $153 = ((($152)) + 8|0);
-  $154 = HEAP32[$153>>2]|0;
-  _mrb_gc_mark($149,$154);
-  STACKTOP = sp;return;
-  break;
- }
- default: {
-  STACKTOP = sp;return;
- }
- }
- $52 = $3;
- $53 = $5;
- _mrb_gc_mark_iv($52,$53);
- STACKTOP = sp;return;
-}
-function _mrb_gc_mark($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4|0)==(0|0);
- if ($5) {
-  STACKTOP = sp;return;
- }
- $6 = $3;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7 >>> 8;
- $9 = $8 & 7;
- $10 = $9 & 3;
- $11 = ($10|0)!=(0);
- if (!($11)) {
-  STACKTOP = sp;return;
- }
- $12 = $2;
- $13 = $2;
- $14 = ((($13)) + 92|0);
- $15 = $3;
- _add_gray_list($12,$14,$15);
- STACKTOP = sp;return;
-}
-function _mark_context($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $5 = 0;
- $7 = $2;
- $8 = $3;
- _mark_context_stack($7,$8);
- $9 = $3;
- $10 = ((($9)) + 20|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)!=(0|0);
- L1: do {
-  if ($12) {
-   $13 = $3;
-   $14 = ((($13)) + 20|0);
-   $15 = HEAP32[$14>>2]|0;
-   $6 = $15;
-   while(1) {
-    $16 = $6;
-    $17 = $3;
-    $18 = ((($17)) + 16|0);
-    $19 = HEAP32[$18>>2]|0;
-    $20 = ($16>>>0)<=($19>>>0);
-    if (!($20)) {
-     break L1;
-    }
-    $21 = $6;
-    $22 = ((($21)) + 20|0);
-    $23 = HEAP32[$22>>2]|0;
-    $24 = $5;
-    $25 = ($23|0)>($24|0);
-    if ($25) {
-     $26 = $6;
-     $27 = ((($26)) + 20|0);
-     $28 = HEAP32[$27>>2]|0;
-     $5 = $28;
-    }
-    $29 = $2;
-    $30 = $6;
-    $31 = ((($30)) + 24|0);
-    $32 = HEAP32[$31>>2]|0;
-    _mrb_gc_mark($29,$32);
-    $33 = $2;
-    $34 = $6;
-    $35 = ((($34)) + 4|0);
-    $36 = HEAP32[$35>>2]|0;
-    _mrb_gc_mark($33,$36);
-    $37 = $2;
-    $38 = $6;
-    $39 = ((($38)) + 44|0);
-    $40 = HEAP32[$39>>2]|0;
-    _mrb_gc_mark($37,$40);
-    $41 = $6;
-    $42 = ((($41)) + 48|0);
-    $6 = $42;
-   }
-  }
- } while(0);
- $4 = 0;
- while(1) {
-  $43 = $4;
-  $44 = $5;
-  $45 = ($43|0)<($44|0);
-  if (!($45)) {
-   break;
-  }
-  $46 = $2;
-  $47 = $3;
-  $48 = ((($47)) + 36|0);
-  $49 = HEAP32[$48>>2]|0;
-  $50 = $4;
-  $51 = (($49) + ($50<<2)|0);
-  $52 = HEAP32[$51>>2]|0;
-  _mrb_gc_mark($46,$52);
-  $53 = $4;
-  $54 = (($53) + 1)|0;
-  $4 = $54;
- }
- $55 = $3;
- $56 = HEAP32[$55>>2]|0;
- $57 = ($56|0)!=(0|0);
- if (!($57)) {
-  STACKTOP = sp;return;
- }
- $58 = $3;
- $59 = HEAP32[$58>>2]|0;
- $60 = ((($59)) + 48|0);
- $61 = HEAP32[$60>>2]|0;
- $62 = ($61|0)!=(0|0);
- if (!($62)) {
-  STACKTOP = sp;return;
- }
- $63 = $2;
- $64 = $3;
- $65 = HEAP32[$64>>2]|0;
- $66 = ((($65)) + 48|0);
- $67 = HEAP32[$66>>2]|0;
- _mrb_gc_mark($63,$67);
- STACKTOP = sp;return;
-}
-function _add_gray_list($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $5;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7 & -1793;
- HEAP32[$6>>2] = $8;
- $9 = $4;
- $10 = ((($9)) + 428|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = $5;
- $13 = ((($12)) + 8|0);
- HEAP32[$13>>2] = $11;
- $14 = $5;
- $15 = $4;
- $16 = ((($15)) + 428|0);
- HEAP32[$16>>2] = $14;
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_55($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _gc_gray_mark($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = 0;
- $12 = $3;
- $13 = $4;
- $14 = $5;
- _gc_mark_children($12,$13,$14);
- $15 = $5;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 & 255;
- switch ($17|0) {
- case 11:  {
-  $18 = $6;
-  $19 = (($18) + 1)|0;
-  $6 = $19;
-  $140 = $6;
-  STACKTOP = sp;return ($140|0);
-  break;
- }
- case 10: case 12: case 9:  {
-  $20 = $5;
-  $7 = $20;
-  $21 = $3;
-  $22 = $5;
-  $23 = (_mrb_gc_mark_iv_size($21,$22)|0);
-  $24 = $6;
-  $25 = (($24) + ($23))|0;
-  $6 = $25;
-  $26 = $3;
-  $27 = $7;
-  $28 = (_mrb_gc_mark_mt_size($26,$27)|0);
-  $29 = $6;
-  $30 = (($29) + ($28))|0;
-  $6 = $30;
-  $31 = $6;
-  $32 = (($31) + 1)|0;
-  $6 = $32;
-  $140 = $6;
-  STACKTOP = sp;return ($140|0);
-  break;
- }
- case 18: case 21: case 8:  {
-  $33 = $3;
-  $34 = $5;
-  $35 = (_mrb_gc_mark_iv_size($33,$34)|0);
-  $36 = $6;
-  $37 = (($36) + ($35))|0;
-  $6 = $37;
-  $140 = $6;
-  STACKTOP = sp;return ($140|0);
-  break;
- }
- case 20:  {
-  $38 = $5;
-  $39 = HEAP32[$38>>2]|0;
-  $40 = $39 >>> 11;
-  $41 = $6;
-  $42 = (($41) + ($40))|0;
-  $6 = $42;
-  $140 = $6;
-  STACKTOP = sp;return ($140|0);
-  break;
- }
- case 22:  {
-  $43 = $5;
-  $44 = ((($43)) + 12|0);
-  $45 = HEAP32[$44>>2]|0;
-  $8 = $45;
-  $46 = $8;
-  $47 = ($46|0)!=(0|0);
-  if (!($47)) {
-   $140 = $6;
-   STACKTOP = sp;return ($140|0);
-  }
-  $48 = $8;
-  $49 = ((($48)) + 4|0);
-  $50 = HEAP32[$49>>2]|0;
-  $51 = $8;
-  $52 = ((($51)) + 8|0);
-  $53 = HEAP32[$52>>2]|0;
-  $54 = $50;
-  $55 = $53;
-  $56 = (($54) - ($55))|0;
-  $57 = (($56|0) / 8)&-1;
-  $9 = $57;
-  $58 = $8;
-  $59 = ((($58)) + 16|0);
-  $60 = HEAP32[$59>>2]|0;
-  $61 = ($60|0)!=(0|0);
-  if ($61) {
-   $62 = $8;
-   $63 = ((($62)) + 16|0);
-   $64 = HEAP32[$63>>2]|0;
-   $65 = ((($64)) + 12|0);
-   $66 = HEAP32[$65>>2]|0;
-   $67 = $9;
-   $68 = (($67) + ($66))|0;
-   $9 = $68;
-  }
-  $69 = $8;
-  $70 = ((($69)) + 8|0);
-  $71 = HEAP32[$70>>2]|0;
-  $72 = $9;
-  $73 = (($71) + ($72<<3)|0);
-  $74 = $8;
-  $75 = ((($74)) + 12|0);
-  $76 = HEAP32[$75>>2]|0;
-  $77 = ($73>>>0)>($76>>>0);
-  if ($77) {
-   $78 = $8;
-   $79 = ((($78)) + 12|0);
-   $80 = HEAP32[$79>>2]|0;
-   $81 = $8;
-   $82 = ((($81)) + 8|0);
-   $83 = HEAP32[$82>>2]|0;
-   $84 = $80;
-   $85 = $83;
-   $86 = (($84) - ($85))|0;
-   $87 = (($86|0) / 8)&-1;
-   $9 = $87;
-  }
-  $88 = $9;
-  $89 = $6;
-  $90 = (($89) + ($88))|0;
-  $6 = $90;
-  $91 = $8;
-  $92 = ((($91)) + 16|0);
-  $93 = HEAP32[$92>>2]|0;
-  $94 = ($93|0)!=(0|0);
-  if ($94) {
-   $95 = $8;
-   $96 = ((($95)) + 16|0);
-   $97 = HEAP32[$96>>2]|0;
-   $98 = ((($97)) + 20|0);
-   $99 = HEAP32[$98>>2]|0;
-   $102 = $99;
-  } else {
-   $102 = 0;
-  }
-  $100 = $6;
-  $101 = (($100) + ($102))|0;
-  $6 = $101;
-  $103 = $8;
-  $104 = ((($103)) + 20|0);
-  $105 = HEAP32[$104>>2]|0;
-  $106 = ($105|0)!=(0|0);
-  L23: do {
-   if ($106) {
-    $9 = 0;
-    $107 = $8;
-    $108 = ((($107)) + 20|0);
-    $109 = HEAP32[$108>>2]|0;
-    $10 = $109;
-    while(1) {
-     $110 = $10;
-     $111 = $8;
-     $112 = ((($111)) + 16|0);
-     $113 = HEAP32[$112>>2]|0;
-     $114 = ($110>>>0)<=($113>>>0);
-     if (!($114)) {
-      break L23;
-     }
-     $115 = $9;
-     $116 = (($115) + 1)|0;
-     $9 = $116;
-     $117 = $10;
-     $118 = ((($117)) + 48|0);
-     $10 = $118;
-    }
-   }
-  } while(0);
-  $119 = $9;
-  $120 = $6;
-  $121 = (($120) + ($119))|0;
-  $6 = $121;
-  $140 = $6;
-  STACKTOP = sp;return ($140|0);
-  break;
- }
- case 14:  {
-  $122 = $5;
-  $11 = $122;
-  $123 = $11;
-  $124 = ((($123)) + 12|0);
-  $125 = HEAP32[$124>>2]|0;
-  $126 = $6;
-  $127 = (($126) + ($125))|0;
-  $6 = $127;
-  $140 = $6;
-  STACKTOP = sp;return ($140|0);
-  break;
- }
- case 15:  {
-  $128 = $3;
-  $129 = $5;
-  $130 = (_mrb_gc_mark_iv_size($128,$129)|0);
-  $131 = $6;
-  $132 = (($131) + ($130))|0;
-  $6 = $132;
-  $133 = $3;
-  $134 = $5;
-  $135 = (_mrb_gc_mark_hash_size($133,$134)|0);
-  $136 = $6;
-  $137 = (($136) + ($135))|0;
-  $6 = $137;
-  $140 = $6;
-  STACKTOP = sp;return ($140|0);
-  break;
- }
- case 17: case 13:  {
-  $138 = $6;
-  $139 = (($138) + 2)|0;
-  $6 = $139;
-  $140 = $6;
-  STACKTOP = sp;return ($140|0);
-  break;
- }
- default: {
-  $140 = $6;
-  STACKTOP = sp;return ($140|0);
- }
- }
- return (0)|0;
-}
-function _mrb_realloc($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $7 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = $4;
- $10 = $5;
- $11 = (_mrb_realloc_simple($8,$9,$10)|0);
- $6 = $11;
- $12 = $6;
- $13 = ($12|0)==(0|0);
- $14 = $5;
- $15 = ($14|0)!=(0);
- $or$cond = $13 & $15;
- $16 = $3;
- $17 = ((($16)) + 92|0);
- $18 = ((($17)) + 452|0);
- $19 = HEAP8[$18>>0]|0;
- if (!($or$cond)) {
-  $33 = $19 & -9;
-  HEAP8[$18>>0] = $33;
-  $34 = $6;
-  STACKTOP = sp;return ($34|0);
- }
- $20 = ($19&255) >>> 3;
- $21 = $20 & 1;
- $22 = ($21<<24>>24)!=(0);
- if ($22) {
-  $34 = $6;
-  STACKTOP = sp;return ($34|0);
- } else {
-  $23 = $3;
-  $24 = ((($23)) + 92|0);
-  $25 = ((($24)) + 452|0);
-  $26 = HEAP8[$25>>0]|0;
-  $27 = $26 & -9;
-  $28 = $27 | 8;
-  HEAP8[$25>>0] = $28;
-  $29 = $3;
-  $30 = $3;
-  $31 = ((($30)) + 576|0);
-  $32 = HEAP32[$31>>2]|0;
-  _mrb_obj_value($7,$32);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
-  _mrb_exc_raise($29,$$byval_copy);
-  // unreachable;
- }
- return (0)|0;
-}
-function _mrb_obj_value($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_malloc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_mrb_realloc($4,0,$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _mrb_malloc_simple($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_mrb_realloc_simple($4,0,$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _mrb_calloc($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $4;
- $9 = ($8>>>0)>(0);
- $10 = $5;
- $11 = ($10>>>0)>(0);
- $or$cond = $9 & $11;
- if ($or$cond) {
-  $12 = $4;
-  $13 = $5;
-  $14 = (4294967295 / ($13>>>0))&-1;
-  $15 = ($12>>>0)<=($14>>>0);
-  if ($15) {
-   $16 = $4;
-   $17 = $5;
-   $18 = Math_imul($16, $17)|0;
-   $7 = $18;
-   $19 = $3;
-   $20 = $7;
-   $21 = (_mrb_malloc($19,$20)|0);
-   $6 = $21;
-   $22 = $6;
-   $23 = $7;
-   _memset(($22|0),0,($23|0))|0;
-   $24 = $6;
-   STACKTOP = sp;return ($24|0);
-  }
- }
- $6 = 0;
- $24 = $6;
- STACKTOP = sp;return ($24|0);
-}
-function _mrb_gc_init($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 424|0);
- HEAP32[$5>>2] = 1;
- $6 = $3;
- HEAP32[$6>>2] = 0;
- $7 = $3;
- $8 = ((($7)) + 8|0);
- HEAP32[$8>>2] = 0;
- $9 = $2;
- $10 = $3;
- _add_heap($9,$10);
- $11 = $3;
- $12 = ((($11)) + 444|0);
- HEAP32[$12>>2] = 200;
- $13 = $3;
- $14 = ((($13)) + 448|0);
- HEAP32[$14>>2] = 200;
- $15 = $3;
- $16 = ((($15)) + 452|0);
- $17 = HEAP8[$16>>0]|0;
- $18 = $17 & -5;
- $19 = $18 | 4;
- HEAP8[$16>>0] = $19;
- $20 = $3;
- $21 = ((($20)) + 452|0);
- $22 = HEAP8[$21>>0]|0;
- $23 = $22 & -3;
- $24 = $23 | 2;
- HEAP8[$21>>0] = $24;
- STACKTOP = sp;return;
-}
-function _add_heap($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $8 = $2;
- $9 = (_mrb_calloc($8,1,1560)|0);
- $4 = $9;
- $7 = 0;
- $10 = $4;
- $11 = ((($10)) + 24|0);
- $5 = $11;
- $12 = $5;
- $13 = ((($12)) + 1536|0);
- $6 = $13;
- while(1) {
-  $14 = $5;
-  $15 = $6;
-  $16 = ($14>>>0)<($15>>>0);
-  if (!($16)) {
-   break;
-  }
-  $17 = $5;
-  $18 = HEAP32[$17>>2]|0;
-  $19 = $18 & -256;
-  $20 = $19 | 1;
-  HEAP32[$17>>2] = $20;
-  $21 = $7;
-  $22 = $5;
-  $23 = ((($22)) + 12|0);
-  HEAP32[$23>>2] = $21;
-  $24 = $5;
-  $7 = $24;
-  $25 = $5;
-  $26 = ((($25)) + 24|0);
-  $5 = $26;
- }
- $27 = $7;
- $28 = $4;
- HEAP32[$28>>2] = $27;
- $29 = $3;
- $30 = $4;
- _link_heap_page($29,$30);
- $31 = $3;
- $32 = $4;
- _link_free_heap_page($31,$32);
- STACKTOP = sp;return;
-}
-function _link_heap_page($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $3;
- $7 = ((($6)) + 8|0);
- HEAP32[$7>>2] = $5;
- $8 = $2;
- $9 = HEAP32[$8>>2]|0;
- $10 = ($9|0)!=(0|0);
- if ($10) {
-  $11 = $3;
-  $12 = $2;
-  $13 = HEAP32[$12>>2]|0;
-  $14 = ((($13)) + 4|0);
-  HEAP32[$14>>2] = $11;
- }
- $15 = $3;
- $16 = $2;
- HEAP32[$16>>2] = $15;
- STACKTOP = sp;return;
-}
-function _free_heap($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $8 = $3;
- $9 = HEAP32[$8>>2]|0;
- $4 = $9;
- while(1) {
-  $10 = $4;
-  $11 = ($10|0)!=(0|0);
-  if (!($11)) {
-   break;
-  }
-  $12 = $4;
-  $5 = $12;
-  $13 = $4;
-  $14 = ((($13)) + 8|0);
-  $15 = HEAP32[$14>>2]|0;
-  $4 = $15;
-  $16 = $5;
-  $17 = ((($16)) + 24|0);
-  $6 = $17;
-  $18 = $6;
-  $19 = ((($18)) + 1536|0);
-  $7 = $19;
-  while(1) {
-   $20 = $6;
-   $21 = $7;
-   $22 = ($20>>>0)<($21>>>0);
-   if (!($22)) {
-    break;
-   }
-   $23 = $6;
-   $24 = HEAP32[$23>>2]|0;
-   $25 = $24 & 255;
-   $26 = ($25|0)!=(1);
-   if ($26) {
-    $27 = $2;
-    $28 = $6;
-    _obj_free($27,$28);
-   }
-   $29 = $6;
-   $30 = ((($29)) + 24|0);
-   $6 = $30;
-  }
-  $31 = $2;
-  $32 = $5;
-  _mrb_free($31,$32);
- }
- STACKTOP = sp;return;
-}
-function _mrb_gc_destroy($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- _free_heap($4,$5);
- STACKTOP = sp;return;
-}
-function _mrb_gc_protect($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = ((($1)) + 4|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ($4>>>0)<(8);
- if ($5) {
-  STACKTOP = sp;return;
- }
- $6 = $2;
- $7 = $2;
- $8 = ((($7)) + 92|0);
- $9 = HEAP32[$1>>2]|0;
- _gc_protect($6,$8,$9);
- STACKTOP = sp;return;
-}
-function _gc_protect($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $4;
- $7 = ((($6)) + 416|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)>=(100);
- if ($9) {
-  $10 = $4;
-  $11 = ((($10)) + 416|0);
-  HEAP32[$11>>2] = 96;
-  $12 = $3;
-  $13 = $3;
-  $14 = (_mrb_class_get($13,68266)|0);
-  _mrb_raise($12,$14,54868);
-  // unreachable;
- } else {
-  $15 = $5;
-  $16 = $4;
-  $17 = ((($16)) + 16|0);
-  $18 = $4;
-  $19 = ((($18)) + 416|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = (($20) + 1)|0;
-  HEAP32[$19>>2] = $21;
-  $22 = (($17) + ($20<<2)|0);
-  HEAP32[$22>>2] = $15;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_obj_alloc($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = ((($8)) + 92|0);
- $7 = $9;
- $10 = $7;
- $11 = ((($10)) + 440|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = $7;
- $14 = ((($13)) + 12|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = ($12>>>0)<($15>>>0);
- if ($16) {
-  $17 = $3;
-  _mrb_incremental_gc($17);
- }
- $18 = $7;
- $19 = ((($18)) + 8|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = ($20|0)==(0|0);
- if ($21) {
-  $22 = $3;
-  $23 = $7;
-  _add_heap($22,$23);
- }
- $24 = $7;
- $25 = ((($24)) + 8|0);
- $26 = HEAP32[$25>>2]|0;
- $27 = HEAP32[$26>>2]|0;
- $6 = $27;
- $28 = $6;
- $29 = ((($28)) + 12|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = $7;
- $32 = ((($31)) + 8|0);
- $33 = HEAP32[$32>>2]|0;
- HEAP32[$33>>2] = $30;
- $34 = $7;
- $35 = ((($34)) + 8|0);
- $36 = HEAP32[$35>>2]|0;
- $37 = HEAP32[$36>>2]|0;
- $38 = ($37|0)==(0|0);
- if ($38) {
-  $39 = $7;
-  $40 = $7;
-  $41 = ((($40)) + 8|0);
-  $42 = HEAP32[$41>>2]|0;
-  _unlink_free_heap_page($39,$42);
- }
- $43 = $7;
- $44 = ((($43)) + 12|0);
- $45 = HEAP32[$44>>2]|0;
- $46 = (($45) + 1)|0;
- HEAP32[$44>>2] = $46;
- $47 = $3;
- $48 = $7;
- $49 = $6;
- _gc_protect($47,$48,$49);
- $50 = $6;
- ;HEAP32[$50>>2]=HEAP32[72724>>2]|0;HEAP32[$50+4>>2]=HEAP32[72724+4>>2]|0;HEAP32[$50+8>>2]=HEAP32[72724+8>>2]|0;HEAP32[$50+12>>2]=HEAP32[72724+12>>2]|0;HEAP32[$50+16>>2]=HEAP32[72724+16>>2]|0;HEAP32[$50+20>>2]=HEAP32[72724+20>>2]|0;
- $51 = $4;
- $52 = $6;
- $53 = HEAP32[$52>>2]|0;
- $54 = $51 & 255;
- $55 = $53 & -256;
- $56 = $55 | $54;
- HEAP32[$52>>2] = $56;
- $57 = $5;
- $58 = $6;
- $59 = ((($58)) + 4|0);
- HEAP32[$59>>2] = $57;
- $60 = $7;
- $61 = ((($60)) + 424|0);
- $62 = HEAP32[$61>>2]|0;
- $63 = $6;
- $64 = HEAP32[$63>>2]|0;
- $65 = $62 & 7;
- $66 = $65 << 8;
- $67 = $64 & -1793;
- $68 = $67 | $66;
- HEAP32[$63>>2] = $68;
- $69 = $6;
- STACKTOP = sp;return ($69|0);
-}
-function _mrb_incremental_gc($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
- var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = ((($3)) + 92|0);
- $2 = $4;
- $5 = $2;
- $6 = ((($5)) + 452|0);
- $7 = HEAP8[$6>>0]|0;
- $8 = $7 & 1;
- $9 = ($8<<24>>24)!=(0);
- if ($9) {
-  STACKTOP = sp;return;
- }
- $10 = $2;
- $11 = ((($10)) + 452|0);
- $12 = HEAP8[$11>>0]|0;
- $13 = ($12&255) >>> 2;
- $14 = $13 & 1;
- $15 = $14&255;
- $16 = ($15|0)!=(0);
- if ($16) {
-  $17 = $2;
-  $18 = ((($17)) + 452|0);
-  $19 = HEAP8[$18>>0]|0;
-  $20 = ($19&255) >>> 1;
-  $21 = $20 & 1;
-  $22 = ($21<<24>>24)!=(0);
-  if ($22) {
-   label = 5;
-  } else {
-   $23 = $1;
-   $24 = $2;
-   _incremental_gc_until($23,$24,0);
-  }
- } else {
-  label = 5;
- }
- if ((label|0) == 5) {
-  $25 = $1;
-  $26 = $2;
-  _incremental_gc_step($25,$26);
- }
- $27 = $2;
- $28 = ((($27)) + 420|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = ($29|0)==(0);
- if (!($30)) {
-  STACKTOP = sp;return;
- }
- $31 = $2;
- $32 = ((($31)) + 436|0);
- $33 = HEAP32[$32>>2]|0;
- $34 = (($33>>>0) / 100)&-1;
- $35 = $2;
- $36 = ((($35)) + 444|0);
- $37 = HEAP32[$36>>2]|0;
- $38 = Math_imul($34, $37)|0;
- $39 = $2;
- $40 = ((($39)) + 440|0);
- HEAP32[$40>>2] = $38;
- $41 = $2;
- $42 = ((($41)) + 440|0);
- $43 = HEAP32[$42>>2]|0;
- $44 = ($43>>>0)<(1024);
- if ($44) {
-  $45 = $2;
-  $46 = ((($45)) + 440|0);
-  HEAP32[$46>>2] = 1024;
- }
- $47 = $2;
- $48 = ((($47)) + 452|0);
- $49 = HEAP8[$48>>0]|0;
- $50 = ($49&255) >>> 2;
- $51 = $50 & 1;
- $52 = $51&255;
- $53 = ($52|0)!=(0);
- if ($53) {
-  $54 = $2;
-  $55 = ((($54)) + 452|0);
-  $56 = HEAP8[$55>>0]|0;
-  $57 = ($56&255) >>> 1;
-  $58 = $57 & 1;
-  $59 = $58&255;
-  $60 = ($59|0)!=(0);
-  if ($60) {
-   $61 = $2;
-   $62 = ((($61)) + 436|0);
-   $63 = HEAP32[$62>>2]|0;
-   $64 = (($63>>>0) / 100)&-1;
-   $65 = ($64*200)|0;
-   $66 = $2;
-   $67 = ((($66)) + 456|0);
-   HEAP32[$67>>2] = $65;
-   $68 = $2;
-   $69 = ((($68)) + 452|0);
-   $70 = HEAP8[$69>>0]|0;
-   $71 = $70 & -3;
-   HEAP8[$69>>0] = $71;
-   STACKTOP = sp;return;
-  }
- }
- $72 = $2;
- $73 = ((($72)) + 452|0);
- $74 = HEAP8[$73>>0]|0;
- $75 = ($74&255) >>> 2;
- $76 = $75 & 1;
- $77 = $76&255;
- $78 = ($77|0)!=(0);
- if (!($78)) {
-  STACKTOP = sp;return;
- }
- $79 = $2;
- $80 = ((($79)) + 452|0);
- $81 = HEAP8[$80>>0]|0;
- $82 = ($81&255) >>> 1;
- $83 = $82 & 1;
- $84 = ($83<<24>>24)!=(0);
- if ($84) {
-  STACKTOP = sp;return;
- }
- $85 = $2;
- $86 = ((($85)) + 12|0);
- $87 = HEAP32[$86>>2]|0;
- $88 = $2;
- $89 = ((($88)) + 456|0);
- $90 = HEAP32[$89>>2]|0;
- $91 = ($87>>>0)>($90>>>0);
- if (!($91)) {
-  STACKTOP = sp;return;
- }
- $92 = $1;
- $93 = $2;
- _clear_all_old($92,$93);
- $94 = $2;
- $95 = ((($94)) + 452|0);
- $96 = HEAP8[$95>>0]|0;
- $97 = $96 & -3;
- $98 = $97 | 2;
- HEAP8[$95>>0] = $98;
- STACKTOP = sp;return;
-}
-function _incremental_gc_step($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $5 = 0;
- $6 = $3;
- $7 = ((($6)) + 448|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8*10)|0;
- $4 = $9;
- while(1) {
-  $10 = $5;
-  $11 = $4;
-  $12 = ($10>>>0)<($11>>>0);
-  if (!($12)) {
-   break;
-  }
-  $13 = $2;
-  $14 = $3;
-  $15 = $4;
-  $16 = (_incremental_gc($13,$14,$15)|0);
-  $17 = $5;
-  $18 = (($17) + ($16))|0;
-  $5 = $18;
-  $19 = $3;
-  $20 = ((($19)) + 420|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = ($21|0)==(0);
-  if ($22) {
-   break;
-  }
- }
- $23 = $3;
- $24 = ((($23)) + 12|0);
- $25 = HEAP32[$24>>2]|0;
- $26 = (($25) + 1024)|0;
- $27 = $3;
- $28 = ((($27)) + 440|0);
- HEAP32[$28>>2] = $26;
- STACKTOP = sp;return;
-}
-function _mrb_gc_arena_save($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 92|0);
- $4 = ((($3)) + 416|0);
- $5 = HEAP32[$4>>2]|0;
- STACKTOP = sp;return ($5|0);
-}
-function _mrb_gc_arena_restore($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = ((($5)) + 92|0);
- $4 = $6;
- $7 = $3;
- $8 = $4;
- $9 = ((($8)) + 416|0);
- HEAP32[$9>>2] = $7;
- STACKTOP = sp;return;
-}
-function _mrb_field_write_barrier($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $3;
- $8 = ((($7)) + 92|0);
- $6 = $8;
- $9 = $4;
- $10 = HEAP32[$9>>2]|0;
- $11 = $10 >>> 8;
- $12 = $11 & 7;
- $13 = $12 & 4;
- $14 = ($13|0)!=(0);
- if (!($14)) {
-  STACKTOP = sp;return;
- }
- $15 = $5;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 >>> 8;
- $18 = $17 & 7;
- $19 = $18 & 3;
- $20 = ($19|0)!=(0);
- if (!($20)) {
-  STACKTOP = sp;return;
- }
- $21 = $6;
- $22 = ((($21)) + 452|0);
- $23 = HEAP8[$22>>0]|0;
- $24 = ($23&255) >>> 2;
- $25 = $24 & 1;
- $26 = $25&255;
- $27 = ($26|0)!=(0);
- if (!($27)) {
-  $28 = $6;
-  $29 = ((($28)) + 420|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = ($30|0)==(1);
-  if (!($31)) {
-   $35 = $6;
-   $36 = ((($35)) + 424|0);
-   $37 = HEAP32[$36>>2]|0;
-   $38 = $4;
-   $39 = HEAP32[$38>>2]|0;
-   $40 = $37 & 7;
-   $41 = $40 << 8;
-   $42 = $39 & -1793;
-   $43 = $42 | $41;
-   HEAP32[$38>>2] = $43;
-   STACKTOP = sp;return;
-  }
- }
- $32 = $3;
- $33 = $6;
- $34 = $5;
- _add_gray_list($32,$33,$34);
- STACKTOP = sp;return;
-}
-function _mrb_write_barrier($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = ((($5)) + 92|0);
- $4 = $6;
- $7 = $3;
- $8 = HEAP32[$7>>2]|0;
- $9 = $8 >>> 8;
- $10 = $9 & 7;
- $11 = $10 & 4;
- $12 = ($11|0)!=(0);
- if (!($12)) {
-  STACKTOP = sp;return;
- }
- $13 = $3;
- $14 = HEAP32[$13>>2]|0;
- $15 = $14 & -1793;
- HEAP32[$13>>2] = $15;
- $16 = $4;
- $17 = ((($16)) + 432|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = $3;
- $20 = ((($19)) + 8|0);
- HEAP32[$20>>2] = $18;
- $21 = $3;
- $22 = $4;
- $23 = ((($22)) + 432|0);
- HEAP32[$23>>2] = $21;
- STACKTOP = sp;return;
-}
-function _mrb_init_gc($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = (_mrb_define_module($3,54889)|0);
- $2 = $4;
- $5 = $1;
- $6 = $2;
- _mrb_define_class_method($5,$6,54892,8,0);
- $7 = $1;
- $8 = $2;
- _mrb_define_class_method($7,$8,54898,9,0);
- $9 = $1;
- $10 = $2;
- _mrb_define_class_method($9,$10,54905,10,0);
- $11 = $1;
- $12 = $2;
- _mrb_define_class_method($11,$12,54913,11,0);
- $13 = $1;
- $14 = $2;
- _mrb_define_class_method($13,$14,54928,12,262144);
- $15 = $1;
- $16 = $2;
- _mrb_define_class_method($15,$16,54944,13,0);
- $17 = $1;
- $18 = $2;
- _mrb_define_class_method($17,$18,54955,14,262144);
- $19 = $1;
- $20 = $2;
- _mrb_define_class_method($19,$20,54967,15,262144);
- $21 = $1;
- $22 = $2;
- _mrb_define_class_method($21,$22,54986,16,0);
- STACKTOP = sp;return;
-}
-function _gc_start($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- _mrb_full_gc($4);
- _mrb_nil_value_55($0);
- STACKTOP = sp;return;
-}
-function _gc_enable($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = $3;
- $6 = ((($5)) + 92|0);
- $7 = ((($6)) + 452|0);
- $8 = HEAP8[$7>>0]|0;
- $9 = $8 & 1;
- $4 = $9;
- $10 = $3;
- $11 = ((($10)) + 92|0);
- $12 = ((($11)) + 452|0);
- $13 = HEAP8[$12>>0]|0;
- $14 = $13 & -2;
- HEAP8[$12>>0] = $14;
- $15 = $4;
- _mrb_bool_value($0,$15);
- STACKTOP = sp;return;
-}
-function _gc_disable($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = $3;
- $6 = ((($5)) + 92|0);
- $7 = ((($6)) + 452|0);
- $8 = HEAP8[$7>>0]|0;
- $9 = $8 & 1;
- $4 = $9;
- $10 = $3;
- $11 = ((($10)) + 92|0);
- $12 = ((($11)) + 452|0);
- $13 = HEAP8[$12>>0]|0;
- $14 = $13 & -2;
- $15 = $14 | 1;
- HEAP8[$12>>0] = $15;
- $16 = $4;
- _mrb_bool_value($0,$16);
- STACKTOP = sp;return;
-}
-function _gc_interval_ratio_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 92|0);
- $6 = ((($5)) + 444|0);
- $7 = HEAP32[$6>>2]|0;
- _mrb_fixnum_value($0,$7);
- STACKTOP = sp;return;
-}
-function _gc_interval_ratio_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $4 = sp + 4|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,64797,$vararg_buffer)|0);
- $6 = HEAP32[$4>>2]|0;
- $7 = $3;
- $8 = ((($7)) + 92|0);
- $9 = ((($8)) + 444|0);
- HEAP32[$9>>2] = $6;
- _mrb_nil_value_55($0);
- STACKTOP = sp;return;
-}
-function _gc_step_ratio_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 92|0);
- $6 = ((($5)) + 448|0);
- $7 = HEAP32[$6>>2]|0;
- _mrb_fixnum_value($0,$7);
- STACKTOP = sp;return;
-}
-function _gc_step_ratio_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $4 = sp + 4|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,64797,$vararg_buffer)|0);
- $6 = HEAP32[$4>>2]|0;
- $7 = $3;
- $8 = ((($7)) + 92|0);
- $9 = ((($8)) + 448|0);
- HEAP32[$9>>2] = $6;
- _mrb_nil_value_55($0);
- STACKTOP = sp;return;
-}
-function _gc_generational_mode_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,55358,$vararg_buffer)|0);
- $6 = $3;
- $7 = ((($6)) + 92|0);
- $8 = ((($7)) + 452|0);
- $9 = HEAP8[$8>>0]|0;
- $10 = ($9&255) >>> 2;
- $11 = $10 & 1;
- $12 = $11&255;
- $13 = HEAP8[$4>>0]|0;
- $14 = $13&255;
- $15 = ($12|0)!=($14|0);
- if (!($15)) {
-  $20 = HEAP8[$4>>0]|0;
-  _mrb_bool_value($0,$20);
-  STACKTOP = sp;return;
- }
- $16 = $3;
- $17 = $3;
- $18 = ((($17)) + 92|0);
- $19 = HEAP8[$4>>0]|0;
- _change_gen_gc_mode($16,$18,$19);
- $20 = HEAP8[$4>>0]|0;
- _mrb_bool_value($0,$20);
- STACKTOP = sp;return;
-}
-function _gc_generational_mode_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 92|0);
- $6 = ((($5)) + 452|0);
- $7 = HEAP8[$6>>0]|0;
- $8 = ($7&255) >>> 2;
- $9 = $8 & 1;
- _mrb_bool_value($0,$9);
- STACKTOP = sp;return;
-}
-function _mrb_bool_value($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- $7 = $6 ? 2 : 0;
- $8 = ((($3)) + 4|0);
- HEAP32[$8>>2] = $7;
- HEAP32[$3>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _change_gen_gc_mode($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $4;
- $7 = ((($6)) + 452|0);
- $8 = HEAP8[$7>>0]|0;
- $9 = ($8&255) >>> 2;
- $10 = $9 & 1;
- $11 = $10&255;
- $12 = ($11|0)==(0);
- $13 = $5;
- $14 = ($13<<24>>24)!=(0);
- $or$cond = $12 | $14;
- if ($or$cond) {
-  $21 = $4;
-  $22 = ((($21)) + 452|0);
-  $23 = HEAP8[$22>>0]|0;
-  $24 = ($23&255) >>> 2;
-  $25 = $24 & 1;
-  $26 = ($25<<24>>24)!=(0);
-  if (!($26)) {
-   $27 = $5;
-   $28 = $27&255;
-   $29 = ($28|0)!=(0);
-   if ($29) {
-    $30 = $3;
-    $31 = $4;
-    _incremental_gc_until($30,$31,0);
-    $32 = $4;
-    $33 = ((($32)) + 436|0);
-    $34 = HEAP32[$33>>2]|0;
-    $35 = (($34>>>0) / 100)&-1;
-    $36 = ($35*200)|0;
-    $37 = $4;
-    $38 = ((($37)) + 456|0);
-    HEAP32[$38>>2] = $36;
-    $39 = $4;
-    $40 = ((($39)) + 452|0);
-    $41 = HEAP8[$40>>0]|0;
-    $42 = $41 & -3;
-    HEAP8[$40>>0] = $42;
-   }
-  }
- } else {
-  $15 = $3;
-  $16 = $4;
-  _clear_all_old($15,$16);
-  $17 = $4;
-  $18 = ((($17)) + 452|0);
-  $19 = HEAP8[$18>>0]|0;
-  $20 = $19 & -3;
-  HEAP8[$18>>0] = $20;
- }
- $43 = $5;
- $44 = $4;
- $45 = ((($44)) + 452|0);
- $46 = HEAP8[$45>>0]|0;
- $47 = $43 & 1;
- $48 = ($47 << 2)&255;
- $49 = $46 & -5;
- $50 = $49 | $48;
- HEAP8[$45>>0] = $50;
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_value($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _kh_alloc_ht($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $7 = $3;
- $8 = HEAP32[$7>>2]|0;
- $4 = $8;
- $5 = 20;
- $9 = $2;
- $10 = $4;
- $11 = $10;
- $12 = (($11>>>0) / 4)&-1;
- $13 = $5;
- $14 = $4;
- $15 = Math_imul($13, $14)|0;
- $16 = (($12) + ($15))|0;
- $17 = (_mrb_malloc($9,$16)|0);
- $6 = $17;
- $18 = $3;
- $19 = ((($18)) + 8|0);
- HEAP32[$19>>2] = 0;
- $20 = $3;
- $21 = ((($20)) + 4|0);
- HEAP32[$21>>2] = 0;
- $22 = $6;
- $23 = $3;
- $24 = ((($23)) + 16|0);
- HEAP32[$24>>2] = $22;
- $25 = $6;
- $26 = $4;
- $27 = $26<<3;
- $28 = (($25) + ($27)|0);
- $29 = $3;
- $30 = ((($29)) + 20|0);
- HEAP32[$30>>2] = $28;
- $31 = $6;
- $32 = $5;
- $33 = $4;
- $34 = Math_imul($32, $33)|0;
- $35 = (($31) + ($34)|0);
- $36 = $3;
- $37 = ((($36)) + 12|0);
- HEAP32[$37>>2] = $35;
- $38 = $3;
- $39 = ((($38)) + 12|0);
- $40 = HEAP32[$39>>2]|0;
- $41 = $4;
- $42 = (($41>>>0) / 4)&-1;
- _kh_fill_flags($40,-86,$42);
- STACKTOP = sp;return;
-}
-function _kh_fill_flags($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- while(1) {
-  $6 = $5;
-  $7 = (($6) + -1)|0;
-  $5 = $7;
-  $8 = ($6>>>0)>(0);
-  if (!($8)) {
-   break;
-  }
-  $9 = $4;
-  $10 = $3;
-  $11 = ((($10)) + 1|0);
-  $3 = $11;
-  HEAP8[$10>>0] = $9;
- }
- STACKTOP = sp;return;
-}
-function _kh_init_ht_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = (_mrb_calloc($5,1,24)|0);
- $4 = $6;
- $7 = $3;
- $8 = ($7>>>0)<(8);
- if ($8) {
-  $3 = 8;
- }
- $9 = $3;
- $10 = (($9) + -1)|0;
- $3 = $10;
- $11 = $3;
- $12 = $11 >>> 1;
- $13 = $3;
- $14 = $13 | $12;
- $3 = $14;
- $15 = $3;
- $16 = $15 >>> 2;
- $17 = $3;
- $18 = $17 | $16;
- $3 = $18;
- $19 = $3;
- $20 = $19 >>> 4;
- $21 = $3;
- $22 = $21 | $20;
- $3 = $22;
- $23 = $3;
- $24 = $23 >>> 8;
- $25 = $3;
- $26 = $25 | $24;
- $3 = $26;
- $27 = $3;
- $28 = $27 >>> 16;
- $29 = $3;
- $30 = $29 | $28;
- $3 = $30;
- $31 = $3;
- $32 = (($31) + 1)|0;
- $3 = $32;
- $33 = $3;
- $34 = $4;
- HEAP32[$34>>2] = $33;
- $35 = $2;
- $36 = $4;
- _kh_alloc_ht($35,$36);
- $37 = $4;
- STACKTOP = sp;return ($37|0);
-}
-function _kh_init_ht($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_kh_init_ht_size($2,8)|0);
- STACKTOP = sp;return ($3|0);
-}
-function _kh_destroy_ht($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $2;
- $7 = $3;
- $8 = ((($7)) + 16|0);
- $9 = HEAP32[$8>>2]|0;
- _mrb_free($6,$9);
- $10 = $2;
- $11 = $3;
- _mrb_free($10,$11);
- STACKTOP = sp;return;
-}
-function _kh_clear_ht($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $3;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)!=(0|0);
- if (!($9)) {
-  STACKTOP = sp;return;
- }
- $10 = $3;
- $11 = ((($10)) + 12|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = $3;
- $14 = HEAP32[$13>>2]|0;
- $15 = (($14>>>0) / 4)&-1;
- _kh_fill_flags($12,-86,$15);
- $16 = $3;
- $17 = ((($16)) + 8|0);
- HEAP32[$17>>2] = 0;
- $18 = $3;
- $19 = ((($18)) + 4|0);
- HEAP32[$19>>2] = 0;
- STACKTOP = sp;return;
-}
-function _kh_get_ht($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
- var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
- var $63 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 40|0;
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $4 = $0;
- $5 = $1;
- $8 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $9 = (_mrb_hash_ht_hash_func($8,$$byval_copy)|0);
- $10 = $5;
- $11 = HEAP32[$10>>2]|0;
- $12 = (($11) - 1)|0;
- $13 = $9 & $12;
- $6 = $13;
- $7 = 0;
- while(1) {
-  $14 = $5;
-  $15 = ((($14)) + 12|0);
-  $16 = HEAP32[$15>>2]|0;
-  $17 = $6;
-  $18 = (($17>>>0) / 4)&-1;
-  $19 = (($16) + ($18)|0);
-  $20 = HEAP8[$19>>0]|0;
-  $21 = $20&255;
-  $22 = $6;
-  $23 = (($22>>>0) % 4)&-1;
-  $24 = (55004 + ($23)|0);
-  $25 = HEAP8[$24>>0]|0;
-  $26 = $25&255;
-  $27 = $21 & $26;
-  $28 = ($27|0)!=(0);
-  $29 = $28 ^ 1;
-  $30 = $5;
-  if (!($29)) {
-   label = 7;
-   break;
-  }
-  $31 = ((($30)) + 12|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = $6;
-  $34 = (($33>>>0) / 4)&-1;
-  $35 = (($32) + ($34)|0);
-  $36 = HEAP8[$35>>0]|0;
-  $37 = $36&255;
-  $38 = $6;
-  $39 = (($38>>>0) % 4)&-1;
-  $40 = (55008 + ($39)|0);
-  $41 = HEAP8[$40>>0]|0;
-  $42 = $41&255;
-  $43 = $37 & $42;
-  $44 = ($43|0)!=(0);
-  if (!($44)) {
-   $45 = $4;
-   $46 = $5;
-   $47 = ((($46)) + 16|0);
-   $48 = HEAP32[$47>>2]|0;
-   $49 = $6;
-   $50 = (($48) + ($49<<3)|0);
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$50>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$50+4>>2]|0;
-   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-   $51 = (_mrb_hash_ht_hash_equal($45,$$byval_copy1,$$byval_copy2)|0);
-   $52 = ($51|0)!=(0);
-   if ($52) {
-    label = 5;
-    break;
-   }
-  }
-  $54 = $6;
-  $55 = $7;
-  $56 = (($55) + 1)|0;
-  $7 = $56;
-  $57 = (($54) + ($56))|0;
-  $58 = $5;
-  $59 = HEAP32[$58>>2]|0;
-  $60 = (($59) - 1)|0;
-  $61 = $57 & $60;
-  $6 = $61;
- }
- if ((label|0) == 5) {
-  $53 = $6;
-  $3 = $53;
-  $63 = $3;
-  STACKTOP = sp;return ($63|0);
- }
- else if ((label|0) == 7) {
-  $62 = HEAP32[$30>>2]|0;
-  $3 = $62;
-  $63 = $3;
-  STACKTOP = sp;return ($63|0);
- }
- return (0)|0;
-}
-function _mrb_hash_ht_hash_func($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
- var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy = sp + 56|0;
- $vararg_buffer = sp;
- $5 = sp + 32|0;
- $10 = sp + 8|0;
- $3 = $0;
- $11 = ((($1)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $4 = $12;
- $13 = $4;
- switch ($13|0) {
- case 16:  {
-  $14 = HEAP32[$1>>2]|0;
-  $15 = HEAP32[$14>>2]|0;
-  $16 = $15 >>> 11;
-  $17 = $16 & 8;
-  $18 = ($17|0)!=(0);
-  $19 = HEAP32[$1>>2]|0;
-  $20 = ((($19)) + 12|0);
-  if ($18) {
-   $23 = $20;
-  } else {
-   $21 = ((($20)) + 8|0);
-   $22 = HEAP32[$21>>2]|0;
-   $23 = $22;
-  }
-  $6 = $23;
-  $24 = HEAP32[$1>>2]|0;
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $25 >>> 11;
-  $27 = $26 & 8;
-  $28 = ($27|0)!=(0);
-  $29 = HEAP32[$1>>2]|0;
-  if ($28) {
-   $30 = HEAP32[$29>>2]|0;
-   $31 = $30 >>> 11;
-   $32 = $31 & 496;
-   $33 = $32 >> 4;
-   $36 = $33;
-  } else {
-   $34 = ((($29)) + 12|0);
-   $35 = HEAP32[$34>>2]|0;
-   $36 = $35;
-  }
-  $8 = $36;
-  $9 = 0;
-  $7 = 0;
-  while(1) {
-   $37 = $7;
-   $38 = $8;
-   $39 = ($37|0)<($38|0);
-   $40 = $9;
-   if (!($39)) {
-    break;
-   }
-   $41 = $40 << 5;
-   $42 = $9;
-   $43 = (($41) - ($42))|0;
-   $44 = $6;
-   $45 = ((($44)) + 1|0);
-   $6 = $45;
-   $46 = HEAP8[$44>>0]|0;
-   $47 = $46 << 24 >> 24;
-   $48 = (($43) + ($47))|0;
-   $9 = $48;
-   $49 = $7;
-   $50 = (($49) + 1)|0;
-   $7 = $50;
-  }
-  $2 = $40;
-  $89 = $2;
-  STACKTOP = sp;return ($89|0);
-  break;
- }
- case 4:  {
-  $51 = HEAP32[$1>>2]|0;
-  $9 = $51;
-  $52 = $9;
-  $53 = $9;
-  $54 = $53 << 2;
-  $55 = $52 ^ $54;
-  $56 = $9;
-  $57 = $56 >>> 2;
-  $58 = $55 ^ $57;
-  $2 = $58;
-  $89 = $2;
-  STACKTOP = sp;return ($89|0);
-  break;
- }
- case 3:  {
-  $59 = HEAP32[$1>>2]|0;
-  $60 = (+($59|0));
-  $61 = (_mrb_float_id($60)|0);
-  $9 = $61;
-  $62 = $9;
-  $63 = $9;
-  $64 = $63 << 2;
-  $65 = $62 ^ $64;
-  $66 = $9;
-  $67 = $66 >>> 2;
-  $68 = $65 ^ $67;
-  $2 = $68;
-  $89 = $2;
-  STACKTOP = sp;return ($89|0);
-  break;
- }
- case 6:  {
-  $69 = +HEAPF32[$1>>2];
-  $70 = (_mrb_float_id($69)|0);
-  $9 = $70;
-  $71 = $9;
-  $72 = $9;
-  $73 = $72 << 2;
-  $74 = $71 ^ $73;
-  $75 = $9;
-  $76 = $75 >>> 2;
-  $77 = $74 ^ $76;
-  $2 = $77;
-  $89 = $2;
-  STACKTOP = sp;return ($89|0);
-  break;
- }
- default: {
-  $78 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
-  _mrb_funcall($10,$78,$$byval_copy,68413,0,$vararg_buffer);
-  ;HEAP32[$5>>2]=HEAP32[$10>>2]|0;HEAP32[$5+4>>2]=HEAP32[$10+4>>2]|0;
-  $79 = $4;
-  $80 = HEAP32[$5>>2]|0;
-  $81 = $79 ^ $80;
-  $9 = $81;
-  $82 = $9;
-  $83 = $9;
-  $84 = $83 << 2;
-  $85 = $82 ^ $84;
-  $86 = $9;
-  $87 = $86 >>> 2;
-  $88 = $85 ^ $87;
-  $2 = $88;
-  $89 = $2;
-  STACKTOP = sp;return ($89|0);
- }
- }
- return (0)|0;
-}
-function _mrb_hash_ht_hash_equal($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
- var $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy3 = sp + 40|0;
- $$byval_copy2 = sp + 32|0;
- $$byval_copy1 = sp + 24|0;
- $$byval_copy = sp + 16|0;
- $4 = $0;
- $6 = ((($1)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $5 = $7;
- $8 = $5;
- L1: do {
-  switch ($8|0) {
-  case 16:  {
-   $9 = $4;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-   $10 = (_mrb_str_equal($9,$$byval_copy,$$byval_copy1)|0);
-   $11 = $10&255;
-   $3 = $11;
-   break;
-  }
-  case 4:  {
-   $12 = ((($2)) + 4|0);
-   $13 = HEAP32[$12>>2]|0;
-   $14 = ($13|0)!=(4);
-   if ($14) {
-    $3 = 0;
-    break L1;
-   } else {
-    $15 = HEAP32[$1>>2]|0;
-    $16 = HEAP32[$2>>2]|0;
-    $17 = ($15|0)==($16|0);
-    $18 = $17&1;
-    $3 = $18;
-    break L1;
-   }
-   break;
-  }
-  case 3:  {
-   $19 = ((($2)) + 4|0);
-   $20 = HEAP32[$19>>2]|0;
-   switch ($20|0) {
-   case 3:  {
-    $21 = HEAP32[$1>>2]|0;
-    $22 = HEAP32[$2>>2]|0;
-    $23 = ($21|0)==($22|0);
-    $24 = $23&1;
-    $3 = $24;
-    break L1;
-    break;
-   }
-   case 6:  {
-    $25 = HEAP32[$1>>2]|0;
-    $26 = (+($25|0));
-    $27 = +HEAPF32[$2>>2];
-    $28 = $26 == $27;
-    $29 = $28&1;
-    $3 = $29;
-    break L1;
-    break;
-   }
-   default: {
-    $3 = 0;
-    break L1;
-   }
-   }
-   break;
-  }
-  case 6:  {
-   $30 = ((($2)) + 4|0);
-   $31 = HEAP32[$30>>2]|0;
-   switch ($31|0) {
-   case 3:  {
-    $32 = +HEAPF32[$1>>2];
-    $33 = HEAP32[$2>>2]|0;
-    $34 = (+($33|0));
-    $35 = $32 == $34;
-    $36 = $35&1;
-    $3 = $36;
-    break L1;
-    break;
-   }
-   case 6:  {
-    $37 = +HEAPF32[$1>>2];
-    $38 = +HEAPF32[$2>>2];
-    $39 = $37 == $38;
-    $40 = $39&1;
-    $3 = $40;
-    break L1;
-    break;
-   }
-   default: {
-    $3 = 0;
-    break L1;
-   }
-   }
-   break;
-  }
-  default: {
-   $41 = $4;
-   ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0;
-   ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
-   $42 = (_mrb_eql($41,$$byval_copy2,$$byval_copy3)|0);
-   $43 = $42&255;
-   $3 = $43;
-  }
-  }
- } while(0);
- $44 = $3;
- STACKTOP = sp;return ($44|0);
-}
-function _kh_resize_ht($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$ = 0, $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
- var $82 = 0, $83 = 0, $84 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy = sp + 64|0;
- $6 = sp + 24|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $13 = $5;
- $14 = ($13>>>0)<(8);
- $$ = $14 ? 8 : $2;
- $5 = $$;
- $15 = $5;
- $16 = (($15) + -1)|0;
- $5 = $16;
- $17 = $5;
- $18 = $17 >>> 1;
- $19 = $5;
- $20 = $19 | $18;
- $5 = $20;
- $21 = $5;
- $22 = $21 >>> 2;
- $23 = $5;
- $24 = $23 | $22;
- $5 = $24;
- $25 = $5;
- $26 = $25 >>> 4;
- $27 = $5;
- $28 = $27 | $26;
- $5 = $28;
- $29 = $5;
- $30 = $29 >>> 8;
- $31 = $5;
- $32 = $31 | $30;
- $5 = $32;
- $33 = $5;
- $34 = $33 >>> 16;
- $35 = $5;
- $36 = $35 | $34;
- $5 = $36;
- $37 = $5;
- $38 = (($37) + 1)|0;
- $5 = $38;
- $39 = $4;
- $40 = ((($39)) + 12|0);
- $41 = HEAP32[$40>>2]|0;
- $7 = $41;
- $42 = $4;
- $43 = ((($42)) + 16|0);
- $44 = HEAP32[$43>>2]|0;
- $8 = $44;
- $45 = $4;
- $46 = ((($45)) + 20|0);
- $47 = HEAP32[$46>>2]|0;
- $9 = $47;
- $48 = $4;
- $49 = HEAP32[$48>>2]|0;
- $10 = $49;
- $50 = $5;
- HEAP32[$6>>2] = $50;
- $51 = $3;
- _kh_alloc_ht($51,$6);
- $11 = 0;
- while(1) {
-  $52 = $11;
-  $53 = $10;
-  $54 = ($52>>>0)<($53>>>0);
-  if (!($54)) {
-   break;
-  }
-  $55 = $7;
-  $56 = $11;
-  $57 = (($56>>>0) / 4)&-1;
-  $58 = (($55) + ($57)|0);
-  $59 = HEAP8[$58>>0]|0;
-  $60 = $59&255;
-  $61 = $11;
-  $62 = (($61>>>0) % 4)&-1;
-  $63 = (55012 + ($62)|0);
-  $64 = HEAP8[$63>>0]|0;
-  $65 = $64&255;
-  $66 = $60 & $65;
-  $67 = ($66|0)!=(0);
-  if (!($67)) {
-   $68 = $3;
-   $69 = $8;
-   $70 = $11;
-   $71 = (($69) + ($70<<3)|0);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$71>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$71+4>>2]|0;
-   $72 = (_kh_put_ht($68,$6,$$byval_copy,0)|0);
-   $12 = $72;
-   $73 = ((($6)) + 20|0);
-   $74 = HEAP32[$73>>2]|0;
-   $75 = $12;
-   $76 = (($74) + (($75*12)|0)|0);
-   $77 = $9;
-   $78 = $11;
-   $79 = (($77) + (($78*12)|0)|0);
-   ;HEAP32[$76>>2]=HEAP32[$79>>2]|0;HEAP32[$76+4>>2]=HEAP32[$79+4>>2]|0;HEAP32[$76+8>>2]=HEAP32[$79+8>>2]|0;
-  }
-  $80 = $11;
-  $81 = (($80) + 1)|0;
-  $11 = $81;
- }
- $82 = $4;
- ;HEAP32[$82>>2]=HEAP32[$6>>2]|0;HEAP32[$82+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$82+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$82+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$82+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$82+20>>2]=HEAP32[$6+20>>2]|0;
- $83 = $3;
- $84 = $8;
- _mrb_free($83,$84);
- STACKTOP = sp;return;
-}
-function _kh_put_ht($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
- var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
- var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
- var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
- var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
- var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
- var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
- var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy2 = sp + 48|0;
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $5 = $0;
- $6 = $1;
- $7 = $3;
- $10 = 0;
- $11 = $6;
- $12 = ((($11)) + 8|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $6;
- $15 = HEAP32[$14>>2]|0;
- $16 = $15 >>> 2;
- $17 = $6;
- $18 = HEAP32[$17>>2]|0;
- $19 = $18 >>> 1;
- $20 = $16 | $19;
- $21 = ($13>>>0)>=($20>>>0);
- if ($21) {
-  $22 = $5;
-  $23 = $6;
-  $24 = $6;
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $25<<1;
-  _kh_resize_ht($22,$23,$26);
- }
- $27 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $28 = (_mrb_hash_ht_hash_func($27,$$byval_copy)|0);
- $29 = $6;
- $30 = HEAP32[$29>>2]|0;
- $31 = (($30) - 1)|0;
- $32 = $28 & $31;
- $8 = $32;
- $33 = $6;
- $34 = HEAP32[$33>>2]|0;
- $9 = $34;
- while(1) {
-  $35 = $6;
-  $36 = ((($35)) + 12|0);
-  $37 = HEAP32[$36>>2]|0;
-  $38 = $8;
-  $39 = (($38>>>0) / 4)&-1;
-  $40 = (($37) + ($39)|0);
-  $41 = HEAP8[$40>>0]|0;
-  $42 = $41&255;
-  $43 = $8;
-  $44 = (($43>>>0) % 4)&-1;
-  $45 = (55004 + ($44)|0);
-  $46 = HEAP8[$45>>0]|0;
-  $47 = $46&255;
-  $48 = $42 & $47;
-  $49 = ($48|0)!=(0);
-  $50 = $49 ^ 1;
-  if (!($50)) {
-   break;
-  }
-  $51 = $6;
-  $52 = ((($51)) + 12|0);
-  $53 = HEAP32[$52>>2]|0;
-  $54 = $8;
-  $55 = (($54>>>0) / 4)&-1;
-  $56 = (($53) + ($55)|0);
-  $57 = HEAP8[$56>>0]|0;
-  $58 = $57&255;
-  $59 = $8;
-  $60 = (($59>>>0) % 4)&-1;
-  $61 = (55008 + ($60)|0);
-  $62 = HEAP8[$61>>0]|0;
-  $63 = $62&255;
-  $64 = $58 & $63;
-  $65 = ($64|0)!=(0);
-  if ($65) {
-   $78 = $9;
-   $79 = $6;
-   $80 = HEAP32[$79>>2]|0;
-   $81 = ($78|0)==($80|0);
-   if ($81) {
-    $82 = $8;
-    $9 = $82;
-   }
-  } else {
-   $66 = $5;
-   $67 = $6;
-   $68 = ((($67)) + 16|0);
-   $69 = HEAP32[$68>>2]|0;
-   $70 = $8;
-   $71 = (($69) + ($70<<3)|0);
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$71>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$71+4>>2]|0;
-   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-   $72 = (_mrb_hash_ht_hash_equal($66,$$byval_copy1,$$byval_copy2)|0);
-   $73 = ($72|0)!=(0);
-   if ($73) {
-    label = 7;
-    break;
-   }
-  }
-  $83 = $8;
-  $84 = $10;
-  $85 = (($84) + 1)|0;
-  $10 = $85;
-  $86 = (($83) + ($85))|0;
-  $87 = $6;
-  $88 = HEAP32[$87>>2]|0;
-  $89 = (($88) - 1)|0;
-  $90 = $86 & $89;
-  $8 = $90;
- }
- if ((label|0) == 7) {
-  $74 = $7;
-  $75 = ($74|0)!=(0|0);
-  if ($75) {
-   $76 = $7;
-   HEAP32[$76>>2] = 0;
-  }
-  $77 = $8;
-  $4 = $77;
-  $154 = $4;
-  STACKTOP = sp;return ($154|0);
- }
- $91 = $9;
- $92 = $6;
- $93 = HEAP32[$92>>2]|0;
- $94 = ($91|0)!=($93|0);
- $95 = $6;
- $96 = ((($95)) + 16|0);
- $97 = HEAP32[$96>>2]|0;
- if ($94) {
-  $98 = $9;
-  $99 = (($97) + ($98<<3)|0);
-  ;HEAP32[$99>>2]=HEAP32[$2>>2]|0;HEAP32[$99+4>>2]=HEAP32[$2+4>>2]|0;
-  $100 = $9;
-  $101 = (($100>>>0) % 4)&-1;
-  $102 = (55008 + ($101)|0);
-  $103 = HEAP8[$102>>0]|0;
-  $104 = $103&255;
-  $105 = $104 ^ -1;
-  $106 = $6;
-  $107 = ((($106)) + 12|0);
-  $108 = HEAP32[$107>>2]|0;
-  $109 = $9;
-  $110 = (($109>>>0) / 4)&-1;
-  $111 = (($108) + ($110)|0);
-  $112 = HEAP8[$111>>0]|0;
-  $113 = $112&255;
-  $114 = $113 & $105;
-  $115 = $114&255;
-  HEAP8[$111>>0] = $115;
-  $116 = $6;
-  $117 = ((($116)) + 4|0);
-  $118 = HEAP32[$117>>2]|0;
-  $119 = (($118) + 1)|0;
-  HEAP32[$117>>2] = $119;
-  $120 = $7;
-  $121 = ($120|0)!=(0|0);
-  if ($121) {
-   $122 = $7;
-   HEAP32[$122>>2] = 2;
-  }
-  $123 = $9;
-  $4 = $123;
-  $154 = $4;
-  STACKTOP = sp;return ($154|0);
- } else {
-  $124 = $8;
-  $125 = (($97) + ($124<<3)|0);
-  ;HEAP32[$125>>2]=HEAP32[$2>>2]|0;HEAP32[$125+4>>2]=HEAP32[$2+4>>2]|0;
-  $126 = $8;
-  $127 = (($126>>>0) % 4)&-1;
-  $128 = (55004 + ($127)|0);
-  $129 = HEAP8[$128>>0]|0;
-  $130 = $129&255;
-  $131 = $130 ^ -1;
-  $132 = $6;
-  $133 = ((($132)) + 12|0);
-  $134 = HEAP32[$133>>2]|0;
-  $135 = $8;
-  $136 = (($135>>>0) / 4)&-1;
-  $137 = (($134) + ($136)|0);
-  $138 = HEAP8[$137>>0]|0;
-  $139 = $138&255;
-  $140 = $139 & $131;
-  $141 = $140&255;
-  HEAP8[$137>>0] = $141;
-  $142 = $6;
-  $143 = ((($142)) + 4|0);
-  $144 = HEAP32[$143>>2]|0;
-  $145 = (($144) + 1)|0;
-  HEAP32[$143>>2] = $145;
-  $146 = $6;
-  $147 = ((($146)) + 8|0);
-  $148 = HEAP32[$147>>2]|0;
-  $149 = (($148) + 1)|0;
-  HEAP32[$147>>2] = $149;
-  $150 = $7;
-  $151 = ($150|0)!=(0|0);
-  if ($151) {
-   $152 = $7;
-   HEAP32[$152>>2] = 1;
-  }
-  $153 = $8;
-  $4 = $153;
-  $154 = $4;
-  STACKTOP = sp;return ($154|0);
- }
- return (0)|0;
-}
-function _kh_del_ht($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $5;
- $7 = (($6>>>0) % 4)&-1;
- $8 = (55008 + ($7)|0);
- $9 = HEAP8[$8>>0]|0;
- $10 = $9&255;
- $11 = $4;
- $12 = ((($11)) + 12|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $5;
- $15 = (($14>>>0) / 4)&-1;
- $16 = (($13) + ($15)|0);
- $17 = HEAP8[$16>>0]|0;
- $18 = $17&255;
- $19 = $18 | $10;
- $20 = $19&255;
- HEAP8[$16>>0] = $20;
- $21 = $4;
- $22 = ((($21)) + 4|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = (($23) + -1)|0;
- HEAP32[$22>>2] = $24;
- STACKTOP = sp;return;
-}
-function _mrb_gc_mark_hash($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $6 = sp + 8|0;
- $7 = sp;
- $2 = $0;
- $3 = $1;
- $8 = $3;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $5 = $10;
- $11 = $5;
- $12 = ($11|0)!=(0|0);
- if (!($12)) {
-  STACKTOP = sp;return;
- }
- $4 = 0;
- while(1) {
-  $13 = $4;
-  $14 = $5;
-  $15 = HEAP32[$14>>2]|0;
-  $16 = ($13|0)!=($15|0);
-  if (!($16)) {
-   break;
-  }
-  $17 = $5;
-  $18 = ((($17)) + 12|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $4;
-  $21 = (($20>>>0) / 4)&-1;
-  $22 = (($19) + ($21)|0);
-  $23 = HEAP8[$22>>0]|0;
-  $24 = $23&255;
-  $25 = $4;
-  $26 = (($25>>>0) % 4)&-1;
-  $27 = (55012 + ($26)|0);
-  $28 = HEAP8[$27>>0]|0;
-  $29 = $28&255;
-  $30 = $24 & $29;
-  $31 = ($30|0)!=(0);
-  if (!($31)) {
-   $32 = $5;
-   $33 = ((($32)) + 16|0);
-   $34 = HEAP32[$33>>2]|0;
-   $35 = $4;
-   $36 = (($34) + ($35<<3)|0);
-   ;HEAP32[$6>>2]=HEAP32[$36>>2]|0;HEAP32[$6+4>>2]=HEAP32[$36+4>>2]|0;
-   $37 = $5;
-   $38 = ((($37)) + 20|0);
-   $39 = HEAP32[$38>>2]|0;
-   $40 = $4;
-   $41 = (($39) + (($40*12)|0)|0);
-   ;HEAP32[$7>>2]=HEAP32[$41>>2]|0;HEAP32[$7+4>>2]=HEAP32[$41+4>>2]|0;
-   $42 = ((($6)) + 4|0);
-   $43 = HEAP32[$42>>2]|0;
-   $44 = ($43>>>0)<(8);
-   if (!($44)) {
-    $45 = $2;
-    $46 = HEAP32[$6>>2]|0;
-    _mrb_gc_mark($45,$46);
-   }
-   $47 = ((($7)) + 4|0);
-   $48 = HEAP32[$47>>2]|0;
-   $49 = ($48>>>0)<(8);
-   if (!($49)) {
-    $50 = $2;
-    $51 = HEAP32[$7>>2]|0;
-    _mrb_gc_mark($50,$51);
-   }
-  }
-  $52 = $4;
-  $53 = (($52) + 1)|0;
-  $4 = $53;
- }
- STACKTOP = sp;return;
-}
-function _mrb_gc_mark_hash_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $4;
- $6 = ((($5)) + 16|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)!=(0|0);
- if ($8) {
-  $9 = $4;
-  $10 = ((($9)) + 16|0);
-  $11 = HEAP32[$10>>2]|0;
-  $12 = ((($11)) + 4|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = $13<<1;
-  $2 = $14;
-  $15 = $2;
-  STACKTOP = sp;return ($15|0);
- } else {
-  $2 = 0;
-  $15 = $2;
-  STACKTOP = sp;return ($15|0);
- }
- return (0)|0;
-}
-function _mrb_gc_free_hash($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 16|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ($6|0)!=(0|0);
- if (!($7)) {
-  STACKTOP = sp;return;
- }
- $8 = $2;
- $9 = $3;
- $10 = ((($9)) + 16|0);
- $11 = HEAP32[$10>>2]|0;
- _kh_destroy_ht($8,$11);
- STACKTOP = sp;return;
-}
-function _mrb_hash_new_capa($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $2;
- $6 = $3;
- $7 = $3;
- $8 = ((($7)) + 56|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = (_mrb_obj_alloc($6,15,$9)|0);
- $5 = $10;
- $11 = $3;
- $12 = (_kh_init_ht($11)|0);
- $13 = $5;
- $14 = ((($13)) + 16|0);
- HEAP32[$14>>2] = $12;
- $15 = $4;
- $16 = ($15|0)>(0);
- if ($16) {
-  $17 = $3;
-  $18 = $5;
-  $19 = ((($18)) + 16|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = $4;
-  _kh_resize_ht($17,$20,$21);
- }
- $22 = $5;
- $23 = ((($22)) + 12|0);
- HEAP32[$23>>2] = 0;
- $24 = $5;
- _mrb_obj_value_86($0,$24);
- STACKTOP = sp;return;
-}
-function _mrb_obj_value_86($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_hash_get($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy4 = sp + 64|0;
- $$byval_copy3 = sp + 56|0;
- $$byval_copy2 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $vararg_buffer = sp;
- $7 = sp + 16|0;
- $4 = $1;
- $8 = HEAP32[$2>>2]|0;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $5 = $10;
- $11 = $5;
- $12 = ($11|0)!=(0|0);
- if ($12) {
-  $13 = $4;
-  $14 = $5;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
-  $15 = (_kh_get_ht($13,$14,$$byval_copy)|0);
-  $6 = $15;
-  $16 = $6;
-  $17 = $5;
-  $18 = HEAP32[$17>>2]|0;
-  $19 = ($16|0)!=($18|0);
-  if ($19) {
-   $20 = $5;
-   $21 = ((($20)) + 20|0);
-   $22 = HEAP32[$21>>2]|0;
-   $23 = $6;
-   $24 = (($22) + (($23*12)|0)|0);
-   ;HEAP32[$0>>2]=HEAP32[$24>>2]|0;HEAP32[$0+4>>2]=HEAP32[$24+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- $25 = HEAP32[$2>>2]|0;
- $26 = HEAP32[$25>>2]|0;
- $27 = $26 >>> 11;
- $28 = $27 & 256;
- $29 = ($28|0)!=(0);
- $30 = $4;
- $31 = $4;
- if ($29) {
-  $32 = $4;
-  $33 = (_mrb_intern_static($32,55016,6)|0);
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_iv_get($7,$31,$$byval_copy2,$33);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
-  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
-  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$3>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$3+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$3+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$3+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$3+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$3+7>>0]|0;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
-  _mrb_funcall($0,$30,$$byval_copy3,69604,2,$vararg_buffer);
-  STACKTOP = sp;return;
- } else {
-  $34 = (_mrb_intern_static($31,55016,6)|0);
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_iv_get($0,$30,$$byval_copy4,$34);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_hash_set($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy2 = sp + 48|0;
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $7 = sp + 12|0;
- $9 = sp;
- $4 = $0;
- $10 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_hash_modify($10,$$byval_copy);
- $11 = HEAP32[$1>>2]|0;
- $12 = ((($11)) + 16|0);
- $13 = HEAP32[$12>>2]|0;
- $5 = $13;
- $14 = $5;
- $15 = ($14|0)!=(0|0);
- if (!($15)) {
-  $16 = $4;
-  $17 = (_kh_init_ht($16)|0);
-  $18 = HEAP32[$1>>2]|0;
-  $19 = ((($18)) + 16|0);
-  HEAP32[$19>>2] = $17;
-  $5 = $17;
- }
- $20 = $4;
- $21 = $5;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- $22 = (_kh_put_ht($20,$21,$$byval_copy1,$7)|0);
- $6 = $22;
- $23 = $5;
- $24 = ((($23)) + 20|0);
- $25 = HEAP32[$24>>2]|0;
- $26 = $6;
- $27 = (($25) + (($26*12)|0)|0);
- ;HEAP32[$27>>2]=HEAP32[$3>>2]|0;HEAP32[$27+4>>2]=HEAP32[$3+4>>2]|0;
- $28 = HEAP32[$7>>2]|0;
- $29 = ($28|0)!=(0);
- if ($29) {
-  $30 = $4;
-  $31 = (_mrb_gc_arena_save($30)|0);
-  $8 = $31;
-  $32 = $5;
-  $33 = ((($32)) + 16|0);
-  $34 = HEAP32[$33>>2]|0;
-  $35 = $6;
-  $36 = (($34) + ($35<<3)|0);
-  $37 = $4;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_hash_ht_key($9,$37,$$byval_copy2);
-  ;HEAP32[$36>>2]=HEAP32[$9>>2]|0;HEAP32[$36+4>>2]=HEAP32[$9+4>>2]|0;
-  ;HEAP32[$2>>2]=HEAP32[$36>>2]|0;HEAP32[$2+4>>2]=HEAP32[$36+4>>2]|0;
-  $38 = $4;
-  $39 = $8;
-  _mrb_gc_arena_restore($38,$39);
-  $40 = $5;
-  $41 = ((($40)) + 4|0);
-  $42 = HEAP32[$41>>2]|0;
-  $43 = (($42) - 1)|0;
-  $44 = $5;
-  $45 = ((($44)) + 20|0);
-  $46 = HEAP32[$45>>2]|0;
-  $47 = $6;
-  $48 = (($46) + (($47*12)|0)|0);
-  $49 = ((($48)) + 8|0);
-  HEAP32[$49>>2] = $43;
- }
- $50 = ((($2)) + 4|0);
- $51 = HEAP32[$50>>2]|0;
- $52 = ($51>>>0)<(8);
- if (!($52)) {
-  $53 = $4;
-  $54 = HEAP32[$1>>2]|0;
-  $55 = HEAP32[$2>>2]|0;
-  _mrb_field_write_barrier($53,$54,$55);
- }
- $56 = ((($3)) + 4|0);
- $57 = HEAP32[$56>>2]|0;
- $58 = ($57>>>0)<(8);
- if ($58) {
-  STACKTOP = sp;return;
- }
- $59 = $4;
- $60 = HEAP32[$1>>2]|0;
- $61 = HEAP32[$3>>2]|0;
- _mrb_field_write_barrier($59,$60,$61);
- STACKTOP = sp;return;
-}
-function _mrb_hash_modify($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $2 = $0;
- $3 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- (_mrb_hash_tbl($3,$$byval_copy)|0);
- STACKTOP = sp;return;
-}
-function _mrb_hash_ht_key($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $4 = sp;
- $3 = $1;
- $5 = ((($2)) + 4|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ($6|0)==(16);
- if ($7) {
-  $8 = HEAP32[$2>>2]|0;
-  $9 = HEAP32[$8>>2]|0;
-  $10 = $9 >>> 11;
-  $11 = $10 & 4;
-  $12 = ($11|0)!=(0);
-  if (!($12)) {
-   $13 = $3;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-   _mrb_str_dup($4,$13,$$byval_copy);
-   ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;
-   $14 = HEAP32[$2>>2]|0;
-   $15 = HEAP32[$14>>2]|0;
-   $16 = $15 >>> 11;
-   $17 = $16 | 4;
-   $18 = HEAP32[$14>>2]|0;
-   $19 = $17 & 2097151;
-   $20 = $19 << 11;
-   $21 = $18 & 2047;
-   $22 = $21 | $20;
-   HEAP32[$14>>2] = $22;
-  }
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_hash_tbl($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $5 = HEAP32[$1>>2]|0;
- $6 = ((($5)) + 16|0);
- $7 = HEAP32[$6>>2]|0;
- $4 = $7;
- $8 = $4;
- $9 = ($8|0)!=(0|0);
- if ($9) {
-  $14 = $4;
-  $2 = $14;
-  $15 = $2;
-  STACKTOP = sp;return ($15|0);
- } else {
-  $10 = $3;
-  $11 = (_kh_init_ht($10)|0);
-  $12 = HEAP32[$1>>2]|0;
-  $13 = ((($12)) + 16|0);
-  HEAP32[$13>>2] = $11;
-  $2 = $11;
-  $15 = $2;
-  STACKTOP = sp;return ($15|0);
- }
- return (0)|0;
-}
-function _mrb_hash_delete_key($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $7 = sp + 8|0;
- $4 = $1;
- $9 = HEAP32[$2>>2]|0;
- $10 = ((($9)) + 16|0);
- $11 = HEAP32[$10>>2]|0;
- $5 = $11;
- $12 = $5;
- $13 = ($12|0)!=(0|0);
- if ($13) {
-  $14 = $4;
-  $15 = $5;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
-  $16 = (_kh_get_ht($14,$15,$$byval_copy)|0);
-  $6 = $16;
-  $17 = $6;
-  $18 = $5;
-  $19 = HEAP32[$18>>2]|0;
-  $20 = ($17|0)!=($19|0);
-  if ($20) {
-   $21 = $5;
-   $22 = ((($21)) + 20|0);
-   $23 = HEAP32[$22>>2]|0;
-   $24 = $6;
-   $25 = (($23) + (($24*12)|0)|0);
-   ;HEAP32[$7>>2]=HEAP32[$25>>2]|0;HEAP32[$7+4>>2]=HEAP32[$25+4>>2]|0;
-   $26 = $5;
-   $27 = ((($26)) + 20|0);
-   $28 = HEAP32[$27>>2]|0;
-   $29 = $6;
-   $30 = (($28) + (($29*12)|0)|0);
-   $31 = ((($30)) + 8|0);
-   $32 = HEAP32[$31>>2]|0;
-   $8 = $32;
-   $33 = $4;
-   $34 = $5;
-   $35 = $6;
-   _kh_del_ht($33,$34,$35);
-   $6 = 0;
-   while(1) {
-    $36 = $6;
-    $37 = $5;
-    $38 = HEAP32[$37>>2]|0;
-    $39 = ($36|0)!=($38|0);
-    if (!($39)) {
-     break;
-    }
-    $40 = $5;
-    $41 = ((($40)) + 12|0);
-    $42 = HEAP32[$41>>2]|0;
-    $43 = $6;
-    $44 = (($43>>>0) / 4)&-1;
-    $45 = (($42) + ($44)|0);
-    $46 = HEAP8[$45>>0]|0;
-    $47 = $46&255;
-    $48 = $6;
-    $49 = (($48>>>0) % 4)&-1;
-    $50 = (55012 + ($49)|0);
-    $51 = HEAP8[$50>>0]|0;
-    $52 = $51&255;
-    $53 = $47 & $52;
-    $54 = ($53|0)!=(0);
-    if (!($54)) {
-     $55 = $5;
-     $56 = ((($55)) + 20|0);
-     $57 = HEAP32[$56>>2]|0;
-     $58 = $6;
-     $59 = (($57) + (($58*12)|0)|0);
-     $60 = ((($59)) + 8|0);
-     $61 = HEAP32[$60>>2]|0;
-     $62 = $8;
-     $63 = ($61|0)>($62|0);
-     if ($63) {
-      $64 = $5;
-      $65 = ((($64)) + 20|0);
-      $66 = HEAP32[$65>>2]|0;
-      $67 = $6;
-      $68 = (($66) + (($67*12)|0)|0);
-      $69 = ((($68)) + 8|0);
-      $70 = HEAP32[$69>>2]|0;
-      $71 = (($70) + -1)|0;
-      HEAP32[$69>>2] = $71;
-     }
-    }
-    $72 = $6;
-    $73 = (($72) + 1)|0;
-    $6 = $73;
-   }
-   ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- _mrb_nil_value_91($0);
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_91($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_hash_clear($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $6 = ((($5)) + 16|0);
- $7 = HEAP32[$6>>2]|0;
- $4 = $7;
- $8 = $4;
- $9 = ($8|0)!=(0|0);
- if ($9) {
-  $10 = $3;
-  $11 = $4;
-  _kh_clear_ht($10,$11);
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_hash_empty_p($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $6 = ((($5)) + 16|0);
- $7 = HEAP32[$6>>2]|0;
- $4 = $7;
- $8 = $4;
- $9 = ($8|0)!=(0|0);
- if ($9) {
-  $10 = $4;
-  $11 = ((($10)) + 4|0);
-  $12 = HEAP32[$11>>2]|0;
-  $13 = ($12|0)==(0);
-  $14 = $13&1;
-  $15 = $14&255;
-  _mrb_bool_value_92($0,$15);
-  STACKTOP = sp;return;
- } else {
-  _mrb_true_value($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_bool_value_92($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- $7 = $6 ? 2 : 0;
- $8 = ((($3)) + 4|0);
- HEAP32[$8>>2] = $7;
- HEAP32[$3>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_true_value($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 2;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_hash_keys($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy1 = sp + 80|0;
- $$byval_copy = sp + 72|0;
- $6 = sp + 48|0;
- $8 = sp + 32|0;
- $9 = sp + 24|0;
- $10 = sp + 16|0;
- $11 = sp;
- $3 = $1;
- $12 = HEAP32[$2>>2]|0;
- $13 = ((($12)) + 16|0);
- $14 = HEAP32[$13>>2]|0;
- $4 = $14;
- $15 = $4;
- $16 = ($15|0)!=(0|0);
- if ($16) {
-  $17 = $4;
-  $18 = ((($17)) + 4|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = ($19|0)==(0);
-  if (!($20)) {
-   $22 = $3;
-   $23 = $4;
-   $24 = ((($23)) + 4|0);
-   $25 = HEAP32[$24>>2]|0;
-   _mrb_ary_new_capa($8,$22,$25);
-   ;HEAP32[$6>>2]=HEAP32[$8>>2]|0;HEAP32[$6+4>>2]=HEAP32[$8+4>>2]|0;
-   $26 = $3;
-   $27 = $4;
-   $28 = ((($27)) + 4|0);
-   $29 = HEAP32[$28>>2]|0;
-   $30 = (($29) - 1)|0;
-   _mrb_nil_value_91($9);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
-   _mrb_ary_set($26,$$byval_copy,$30,$$byval_copy1);
-   $31 = HEAP32[$6>>2]|0;
-   $32 = ((($31)) + 20|0);
-   $33 = HEAP32[$32>>2]|0;
-   $7 = $33;
-   $5 = 0;
-   while(1) {
-    $34 = $5;
-    $35 = $4;
-    $36 = HEAP32[$35>>2]|0;
-    $37 = ($34|0)!=($36|0);
-    if (!($37)) {
-     break;
-    }
-    $38 = $4;
-    $39 = ((($38)) + 12|0);
-    $40 = HEAP32[$39>>2]|0;
-    $41 = $5;
-    $42 = (($41>>>0) / 4)&-1;
-    $43 = (($40) + ($42)|0);
-    $44 = HEAP8[$43>>0]|0;
-    $45 = $44&255;
-    $46 = $5;
-    $47 = (($46>>>0) % 4)&-1;
-    $48 = (55012 + ($47)|0);
-    $49 = HEAP8[$48>>0]|0;
-    $50 = $49&255;
-    $51 = $45 & $50;
-    $52 = ($51|0)!=(0);
-    if (!($52)) {
-     $53 = $4;
-     $54 = ((($53)) + 16|0);
-     $55 = HEAP32[$54>>2]|0;
-     $56 = $5;
-     $57 = (($55) + ($56<<3)|0);
-     ;HEAP32[$10>>2]=HEAP32[$57>>2]|0;HEAP32[$10+4>>2]=HEAP32[$57+4>>2]|0;
-     $58 = $4;
-     $59 = ((($58)) + 20|0);
-     $60 = HEAP32[$59>>2]|0;
-     $61 = $5;
-     $62 = (($60) + (($61*12)|0)|0);
-     ;HEAP32[$11>>2]=HEAP32[$62>>2]|0;HEAP32[$11+4>>2]=HEAP32[$62+4>>2]|0;HEAP32[$11+8>>2]=HEAP32[$62+8>>2]|0;
-     $63 = $7;
-     $64 = ((($11)) + 8|0);
-     $65 = HEAP32[$64>>2]|0;
-     $66 = (($63) + ($65<<3)|0);
-     ;HEAP32[$66>>2]=HEAP32[$10>>2]|0;HEAP32[$66+4>>2]=HEAP32[$10+4>>2]|0;
-    }
-    $67 = $5;
-    $68 = (($67) + 1)|0;
-    $5 = $68;
-   }
-   ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- $21 = $3;
- _mrb_ary_new($0,$21);
- STACKTOP = sp;return;
-}
-function _mrb_init_hash($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = $1;
- $5 = ((($4)) + 32|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (_mrb_define_class($3,65286,$6)|0);
- $2 = $7;
- $8 = $1;
- $9 = ((($8)) + 56|0);
- HEAP32[$9>>2] = $7;
- $10 = $2;
- $11 = HEAP32[$10>>2]|0;
- $12 = $11 >>> 11;
- $13 = $12 & -256;
- $14 = $13 | 15;
- $15 = $2;
- $16 = HEAP32[$15>>2]|0;
- $17 = $14 & 2097151;
- $18 = $17 << 11;
- $19 = $16 & 2047;
- $20 = $19 | $18;
- HEAP32[$15>>2] = $20;
- $21 = $1;
- $22 = $2;
- _mrb_define_method($21,$22,69083,17,262144);
- $23 = $1;
- $24 = $2;
- _mrb_define_method($23,$24,64619,18,524288);
- $25 = $1;
- $26 = $2;
- _mrb_define_method($25,$26,64623,19,0);
- $27 = $1;
- $28 = $2;
- _mrb_define_method($27,$28,55023,20,4096);
- $29 = $1;
- $30 = $2;
- _mrb_define_method($29,$30,55031,21,262144);
- $31 = $1;
- $32 = $2;
- _mrb_define_method($31,$32,55040,22,0);
- $33 = $1;
- $34 = $2;
- _mrb_define_method($33,$34,55053,23,262144);
- $35 = $1;
- $36 = $2;
- _mrb_define_method($35,$36,55067,24,262144);
- $37 = $1;
- $38 = $2;
- _mrb_define_method($37,$38,64646,25,0);
- $39 = $1;
- $40 = $2;
- _mrb_define_method($39,$40,55076,26,262144);
- $41 = $1;
- $42 = $2;
- _mrb_define_method($41,$42,55085,27,262144);
- $43 = $1;
- $44 = $2;
- _mrb_define_method($43,$44,69243,26,262144);
- $45 = $1;
- $46 = $2;
- _mrb_define_method($45,$46,69252,28,8192);
- $47 = $1;
- $48 = $2;
- _mrb_define_method($47,$48,55096,26,262144);
- $49 = $1;
- $50 = $2;
- _mrb_define_method($49,$50,55101,29,0);
- $51 = $1;
- $52 = $2;
- _mrb_define_method($51,$52,64664,30,0);
- $53 = $1;
- $54 = $2;
- _mrb_define_method($53,$54,69268,26,262144);
- $55 = $1;
- $56 = $2;
- _mrb_define_method($55,$56,64712,31,0);
- $57 = $1;
- $58 = $2;
- _mrb_define_method($57,$58,68395,32,0);
- $59 = $1;
- $60 = $2;
- _mrb_define_method($59,$60,64718,30,0);
- $61 = $1;
- $62 = $2;
- _mrb_define_method($61,$62,55106,18,524288);
- $63 = $1;
- $64 = $2;
- _mrb_define_method($63,$64,55112,27,262144);
- $65 = $1;
- $66 = $2;
- _mrb_define_method($65,$66,55119,33,0);
- $67 = $1;
- $68 = $2;
- _mrb_define_method($67,$68,65291,34,0);
- STACKTOP = sp;return;
-}
-function _mrb_hash_aget($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_hash_get($0,$6,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _mrb_hash_aset($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy3 = sp + 48|0;
- $$byval_copy2 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($6,55135,$vararg_buffer)|0);
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_hash_set($7,$$byval_copy,$$byval_copy2,$$byval_copy3);
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_hash_default($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy7 = sp + 64|0;
- $$byval_copy6 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $vararg_buffer2 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 32|0;
- $5 = sp + 72|0;
- $6 = sp + 24|0;
- $3 = $1;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($7,55131,$vararg_buffer)|0);
- $8 = HEAP32[$2>>2]|0;
- $9 = HEAP32[$8>>2]|0;
- $10 = $9 >>> 11;
- $11 = $10 & 256;
- $12 = ($11|0)!=(0);
- if (!($12)) {
-  $19 = $3;
-  $20 = $3;
-  $21 = (_mrb_intern_static($20,55016,6)|0);
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_iv_get($0,$19,$$byval_copy7,$21);
-  STACKTOP = sp;return;
- }
- $13 = HEAP8[$5>>0]|0;
- $14 = ($13<<24>>24)!=(0);
- if ($14) {
-  $15 = $3;
-  $16 = $3;
-  $17 = $3;
-  $18 = (_mrb_intern_static($17,55016,6)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_iv_get($6,$16,$$byval_copy,$18);
-  ;HEAP8[$vararg_buffer2>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$2+7>>0]|0;
-  $vararg_ptr5 = ((($vararg_buffer2)) + 8|0);
-  ;HEAP8[$vararg_ptr5>>0]=HEAP8[$4>>0]|0;HEAP8[$vararg_ptr5+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$vararg_ptr5+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$vararg_ptr5+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$vararg_ptr5+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$vararg_ptr5+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$vararg_ptr5+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$vararg_ptr5+7>>0]=HEAP8[$4+7>>0]|0;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$6+4>>2]|0;
-  _mrb_funcall($0,$15,$$byval_copy6,69604,2,$vararg_buffer2);
-  STACKTOP = sp;return;
- } else {
-  _mrb_nil_value_91($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_hash_set_default($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 40|0;
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_hash_modify($6,$$byval_copy);
- $7 = $3;
- $8 = $3;
- $9 = (_mrb_intern_static($8,55016,6)|0);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_iv_set($7,$$byval_copy1,$9,$$byval_copy2);
- $10 = HEAP32[$2>>2]|0;
- $11 = HEAP32[$10>>2]|0;
- $12 = $11 >>> 11;
- $13 = $12 & -257;
- $14 = HEAP32[$10>>2]|0;
- $15 = $13 & 2097151;
- $16 = $15 << 11;
- $17 = $14 & 2047;
- $18 = $17 | $16;
- HEAP32[$10>>2] = $18;
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_hash_default_proc($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = HEAP32[$2>>2]|0;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 >>> 11;
- $7 = $6 & 256;
- $8 = ($7|0)!=(0);
- if ($8) {
-  $9 = $3;
-  $10 = $3;
-  $11 = (_mrb_intern_static($10,55016,6)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_iv_get($0,$9,$$byval_copy,$11);
-  STACKTOP = sp;return;
- } else {
-  _mrb_nil_value_91($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_hash_set_default_proc($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 40|0;
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_hash_modify($6,$$byval_copy);
- $7 = $3;
- $8 = $3;
- $9 = (_mrb_intern_static($8,55016,6)|0);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_iv_set($7,$$byval_copy1,$9,$$byval_copy2);
- $10 = HEAP32[$2>>2]|0;
- $11 = HEAP32[$10>>2]|0;
- $12 = $11 >>> 11;
- $13 = $12 | 256;
- $14 = HEAP32[$10>>2]|0;
- $15 = $13 & 2097151;
- $16 = $15 << 11;
- $17 = $14 & 2047;
- $18 = $17 | $16;
- HEAP32[$10>>2] = $18;
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_hash_delete($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_hash_delete_key($0,$6,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _mrb_hash_has_key($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($7,69199,$vararg_buffer)|0);
- $8 = HEAP32[$2>>2]|0;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $5 = $10;
- $11 = $5;
- $12 = ($11|0)!=(0|0);
- if ($12) {
-  $13 = $3;
-  $14 = $5;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-  $15 = (_kh_get_ht($13,$14,$$byval_copy)|0);
-  $6 = $15;
-  $16 = $6;
-  $17 = $5;
-  $18 = HEAP32[$17>>2]|0;
-  $19 = ($16|0)!=($18|0);
-  $20 = $19&1;
-  $21 = $20&255;
-  _mrb_bool_value_92($0,$21);
-  STACKTOP = sp;return;
- } else {
-  _mrb_false_value($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_hash_has_value($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($7,69199,$vararg_buffer)|0);
- $8 = HEAP32[$2>>2]|0;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $5 = $10;
- $11 = $5;
- $12 = ($11|0)!=(0|0);
- L1: do {
-  if ($12) {
-   $6 = 0;
-   while(1) {
-    $13 = $6;
-    $14 = $5;
-    $15 = HEAP32[$14>>2]|0;
-    $16 = ($13|0)!=($15|0);
-    if (!($16)) {
-     break L1;
-    }
-    $17 = $5;
-    $18 = ((($17)) + 12|0);
-    $19 = HEAP32[$18>>2]|0;
-    $20 = $6;
-    $21 = (($20>>>0) / 4)&-1;
-    $22 = (($19) + ($21)|0);
-    $23 = HEAP8[$22>>0]|0;
-    $24 = $23&255;
-    $25 = $6;
-    $26 = (($25>>>0) % 4)&-1;
-    $27 = (55012 + ($26)|0);
-    $28 = HEAP8[$27>>0]|0;
-    $29 = $28&255;
-    $30 = $24 & $29;
-    $31 = ($30|0)!=(0);
-    if (!($31)) {
-     $32 = $3;
-     $33 = $5;
-     $34 = ((($33)) + 20|0);
-     $35 = HEAP32[$34>>2]|0;
-     $36 = $6;
-     $37 = (($35) + (($36*12)|0)|0);
-     ;HEAP32[$$byval_copy>>2]=HEAP32[$37>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$37+4>>2]|0;
-     ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
-     $38 = (_mrb_equal($32,$$byval_copy,$$byval_copy1)|0);
-     $39 = ($38<<24>>24)!=(0);
-     if ($39) {
-      break;
-     }
-    }
-    $40 = $6;
-    $41 = (($40) + 1)|0;
-    $6 = $41;
-   }
-   _mrb_true_value($0);
-   STACKTOP = sp;return;
-  }
- } while(0);
- _mrb_false_value($0);
- STACKTOP = sp;return;
-}
-function _mrb_hash_init($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy4 = sp + 64|0;
- $$byval_copy3 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $vararg_buffer = sp;
- $4 = sp + 32|0;
- $5 = sp + 24|0;
- $6 = sp + 72|0;
- $7 = sp + 16|0;
- $3 = $1;
- _mrb_nil_value_91($7);
- ;HEAP32[$5>>2]=HEAP32[$7>>2]|0;HEAP32[$5+4>>2]=HEAP32[$7+4>>2]|0;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- HEAP32[$vararg_ptr2>>2] = $6;
- (_mrb_get_args($8,55126,$vararg_buffer)|0);
- $9 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_hash_modify($9,$$byval_copy);
- $10 = ((($4)) + 4|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)==(0);
- if ($12) {
-  $13 = HEAP32[$4>>2]|0;
-  $14 = ($13|0)!=(0);
-  if ($14) {
-   label = 3;
-  }
- } else {
-  label = 3;
- }
- do {
-  if ((label|0) == 3) {
-   $15 = HEAP8[$6>>0]|0;
-   $16 = ($15<<24>>24)!=(0);
-   if ($16) {
-    $17 = $3;
-    $18 = $3;
-    $19 = (_mrb_class_get($18,69160)|0);
-    _mrb_raise($17,$19,65128);
-    // unreachable;
-   } else {
-    $20 = HEAP32[$2>>2]|0;
-    $21 = HEAP32[$20>>2]|0;
-    $22 = $21 >>> 11;
-    $23 = $22 | 256;
-    $24 = HEAP32[$20>>2]|0;
-    $25 = $23 & 2097151;
-    $26 = $25 << 11;
-    $27 = $24 & 2047;
-    $28 = $27 | $26;
-    HEAP32[$20>>2] = $28;
-    ;HEAP32[$5>>2]=HEAP32[$4>>2]|0;HEAP32[$5+4>>2]=HEAP32[$4+4>>2]|0;
-    break;
-   }
-  }
- } while(0);
- $29 = $3;
- $30 = $3;
- $31 = (_mrb_intern_static($30,55016,6)|0);
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_iv_set($29,$$byval_copy3,$31,$$byval_copy4);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_hash_size_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $6 = ((($5)) + 16|0);
- $7 = HEAP32[$6>>2]|0;
- $4 = $7;
- $8 = $4;
- $9 = ($8|0)!=(0|0);
- if ($9) {
-  $10 = $4;
-  $11 = ((($10)) + 4|0);
-  $12 = HEAP32[$11>>2]|0;
-  _mrb_fixnum_value_116($0,$12);
-  STACKTOP = sp;return;
- } else {
-  _mrb_fixnum_value_116($0,0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_hash_shift($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
- var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
- var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
- var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
- $$byval_copy10 = sp + 144|0;
- $$byval_copy9 = sp + 136|0;
- $$byval_copy8 = sp + 128|0;
- $$byval_copy7 = sp + 120|0;
- $$byval_copy6 = sp + 112|0;
- $$byval_copy5 = sp + 104|0;
- $$byval_copy4 = sp + 96|0;
- $$byval_copy3 = sp + 88|0;
- $$byval_copy2 = sp + 80|0;
- $$byval_copy = sp + 72|0;
- $vararg_buffer = sp;
- $6 = sp + 48|0;
- $7 = sp + 40|0;
- $8 = sp + 32|0;
- $9 = sp + 24|0;
- $10 = sp + 16|0;
- $3 = $1;
- $11 = HEAP32[$2>>2]|0;
- $12 = ((($11)) + 16|0);
- $13 = HEAP32[$12>>2]|0;
- $4 = $13;
- $14 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_hash_modify($14,$$byval_copy);
- $15 = $4;
- $16 = ($15|0)!=(0|0);
- L1: do {
-  if ($16) {
-   $17 = $4;
-   $18 = ((($17)) + 4|0);
-   $19 = HEAP32[$18>>2]|0;
-   $20 = ($19>>>0)>(0);
-   if ($20) {
-    $5 = 0;
-    while(1) {
-     $21 = $5;
-     $22 = $4;
-     $23 = HEAP32[$22>>2]|0;
-     $24 = ($21|0)!=($23|0);
-     if (!($24)) {
-      break L1;
-     }
-     $25 = $4;
-     $26 = ((($25)) + 12|0);
-     $27 = HEAP32[$26>>2]|0;
-     $28 = $5;
-     $29 = (($28>>>0) / 4)&-1;
-     $30 = (($27) + ($29)|0);
-     $31 = HEAP8[$30>>0]|0;
-     $32 = $31&255;
-     $33 = $5;
-     $34 = (($33>>>0) % 4)&-1;
-     $35 = (55012 + ($34)|0);
-     $36 = HEAP8[$35>>0]|0;
-     $37 = $36&255;
-     $38 = $32 & $37;
-     $39 = ($38|0)!=(0);
-     if (!($39)) {
-      break;
-     }
-     $49 = $5;
-     $50 = (($49) + 1)|0;
-     $5 = $50;
-    }
-    $40 = $4;
-    $41 = ((($40)) + 16|0);
-    $42 = HEAP32[$41>>2]|0;
-    $43 = $5;
-    $44 = (($42) + ($43<<3)|0);
-    ;HEAP32[$6>>2]=HEAP32[$44>>2]|0;HEAP32[$6+4>>2]=HEAP32[$44+4>>2]|0;
-    $45 = $3;
-    ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;
-    _mrb_gc_protect($45,$$byval_copy2);
-    $46 = $3;
-    ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
-    ;HEAP32[$$byval_copy4>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$6+4>>2]|0;
-    _mrb_hash_delete_key($8,$46,$$byval_copy3,$$byval_copy4);
-    ;HEAP32[$7>>2]=HEAP32[$8>>2]|0;HEAP32[$7+4>>2]=HEAP32[$8+4>>2]|0;
-    $47 = $3;
-    ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;
-    _mrb_gc_protect($47,$$byval_copy5);
-    $48 = $3;
-    ;HEAP32[$$byval_copy6>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$6+4>>2]|0;
-    ;HEAP32[$$byval_copy7>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$7+4>>2]|0;
-    _mrb_assoc_new($0,$48,$$byval_copy6,$$byval_copy7);
-    STACKTOP = sp;return;
-   }
-  }
- } while(0);
- $51 = HEAP32[$2>>2]|0;
- $52 = HEAP32[$51>>2]|0;
- $53 = $52 >>> 11;
- $54 = $53 & 256;
- $55 = ($54|0)!=(0);
- $56 = $3;
- $57 = $3;
- if ($55) {
-  $58 = $3;
-  $59 = (_mrb_intern_static($58,55016,6)|0);
-  ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_iv_get($9,$57,$$byval_copy8,$59);
-  _mrb_nil_value_91($10);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
-  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
-  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$10+7>>0]|0;
-  ;HEAP32[$$byval_copy9>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$9+4>>2]|0;
-  _mrb_funcall($0,$56,$$byval_copy9,69604,2,$vararg_buffer);
-  STACKTOP = sp;return;
- } else {
-  $60 = (_mrb_intern_static($57,55016,6)|0);
-  ;HEAP32[$$byval_copy10>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_iv_get($0,$56,$$byval_copy10,$60);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_hash_dup($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $10 = sp;
- $3 = $1;
- $11 = HEAP32[$2>>2]|0;
- $12 = ((($11)) + 16|0);
- $13 = HEAP32[$12>>2]|0;
- $5 = $13;
- $14 = $3;
- $15 = $3;
- $16 = ((($15)) + 56|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = (_mrb_obj_alloc($14,15,$17)|0);
- $4 = $18;
- $19 = $3;
- $20 = (_kh_init_ht($19)|0);
- $21 = $4;
- $22 = ((($21)) + 16|0);
- HEAP32[$22>>2] = $20;
- $23 = $5;
- $24 = ((($23)) + 4|0);
- $25 = HEAP32[$24>>2]|0;
- $26 = ($25>>>0)>(0);
- if (!($26)) {
-  $74 = $4;
-  _mrb_obj_value_86($0,$74);
-  STACKTOP = sp;return;
- }
- $27 = $4;
- $28 = ((($27)) + 16|0);
- $29 = HEAP32[$28>>2]|0;
- $6 = $29;
- $7 = 0;
- while(1) {
-  $30 = $7;
-  $31 = $5;
-  $32 = HEAP32[$31>>2]|0;
-  $33 = ($30|0)!=($32|0);
-  if (!($33)) {
-   break;
-  }
-  $34 = $5;
-  $35 = ((($34)) + 12|0);
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $7;
-  $38 = (($37>>>0) / 4)&-1;
-  $39 = (($36) + ($38)|0);
-  $40 = HEAP8[$39>>0]|0;
-  $41 = $40&255;
-  $42 = $7;
-  $43 = (($42>>>0) % 4)&-1;
-  $44 = (55012 + ($43)|0);
-  $45 = HEAP8[$44>>0]|0;
-  $46 = $45&255;
-  $47 = $41 & $46;
-  $48 = ($47|0)!=(0);
-  if (!($48)) {
-   $49 = $3;
-   $50 = (_mrb_gc_arena_save($49)|0);
-   $9 = $50;
-   $51 = $3;
-   $52 = $6;
-   $53 = $3;
-   $54 = $5;
-   $55 = ((($54)) + 16|0);
-   $56 = HEAP32[$55>>2]|0;
-   $57 = $7;
-   $58 = (($56) + ($57<<3)|0);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$58>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$58+4>>2]|0;
-   _mrb_hash_ht_key($10,$53,$$byval_copy);
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
-   $59 = (_kh_put_ht($51,$52,$$byval_copy1,0)|0);
-   $8 = $59;
-   $60 = $3;
-   $61 = $9;
-   _mrb_gc_arena_restore($60,$61);
-   $62 = $6;
-   $63 = ((($62)) + 20|0);
-   $64 = HEAP32[$63>>2]|0;
-   $65 = $8;
-   $66 = (($64) + (($65*12)|0)|0);
-   $67 = $5;
-   $68 = ((($67)) + 20|0);
-   $69 = HEAP32[$68>>2]|0;
-   $70 = $7;
-   $71 = (($69) + (($70*12)|0)|0);
-   ;HEAP32[$66>>2]=HEAP32[$71>>2]|0;HEAP32[$66+4>>2]=HEAP32[$71+4>>2]|0;HEAP32[$66+8>>2]=HEAP32[$71+8>>2]|0;
-  }
-  $72 = $7;
-  $73 = (($72) + 1)|0;
-  $7 = $73;
- }
- $74 = $4;
- _mrb_obj_value_86($0,$74);
- STACKTOP = sp;return;
-}
-function _mrb_hash_values($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $6 = sp + 24|0;
- $7 = sp + 16|0;
- $8 = sp;
- $3 = $1;
- $9 = HEAP32[$2>>2]|0;
- $10 = ((($9)) + 16|0);
- $11 = HEAP32[$10>>2]|0;
- $4 = $11;
- $12 = $4;
- $13 = ($12|0)!=(0|0);
- $14 = $3;
- if (!($13)) {
-  _mrb_ary_new($0,$14);
-  STACKTOP = sp;return;
- }
- $15 = $4;
- $16 = ((($15)) + 4|0);
- $17 = HEAP32[$16>>2]|0;
- _mrb_ary_new_capa($7,$14,$17);
- ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;
- $5 = 0;
- while(1) {
-  $18 = $5;
-  $19 = $4;
-  $20 = HEAP32[$19>>2]|0;
-  $21 = ($18|0)!=($20|0);
-  if (!($21)) {
-   break;
-  }
-  $22 = $4;
-  $23 = ((($22)) + 12|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = $5;
-  $26 = (($25>>>0) / 4)&-1;
-  $27 = (($24) + ($26)|0);
-  $28 = HEAP8[$27>>0]|0;
-  $29 = $28&255;
-  $30 = $5;
-  $31 = (($30>>>0) % 4)&-1;
-  $32 = (55012 + ($31)|0);
-  $33 = HEAP8[$32>>0]|0;
-  $34 = $33&255;
-  $35 = $29 & $34;
-  $36 = ($35|0)!=(0);
-  if (!($36)) {
-   $37 = $4;
-   $38 = ((($37)) + 20|0);
-   $39 = HEAP32[$38>>2]|0;
-   $40 = $5;
-   $41 = (($39) + (($40*12)|0)|0);
-   ;HEAP32[$8>>2]=HEAP32[$41>>2]|0;HEAP32[$8+4>>2]=HEAP32[$41+4>>2]|0;HEAP32[$8+8>>2]=HEAP32[$41+8>>2]|0;
-   $42 = $3;
-   $43 = ((($8)) + 8|0);
-   $44 = HEAP32[$43>>2]|0;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
-   _mrb_ary_set($42,$$byval_copy,$44,$$byval_copy1);
-  }
-  $45 = $5;
-  $46 = (($45) + 1)|0;
-  $5 = $46;
- }
- ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_hash_to_hash($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_value_116($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_false_value($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_to_flo($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0.0, $12 = 0.0, $2 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = ((($1)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- switch ($5|0) {
- case 3:  {
-  $6 = HEAP32[$1>>2]|0;
-  $7 = (+($6|0));
-  $2 = $7;
-  $12 = $2;
-  STACKTOP = sp;return (+$12);
-  break;
- }
- case 6:  {
-  $11 = +HEAPF32[$1>>2];
-  $2 = $11;
-  $12 = $2;
-  STACKTOP = sp;return (+$12);
-  break;
- }
- default: {
-  $8 = $3;
-  $9 = $3;
-  $10 = (_mrb_class_get($9,69204)|0);
-  _mrb_raise($8,$10,55138);
-  // unreachable;
- }
- }
- return +(0.0);
-}
-function _mrb_float_value($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = +$2;
- var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $5 = sp;
- $3 = $1;
- $4 = $2;
- $6 = ((($5)) + 4|0);
- HEAP32[$6>>2] = 6;
- $7 = $4;
- HEAPF32[$5>>2] = $7;
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_mul($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$old6 = 0, $$old8 = 0.0, $$old9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0.0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0.0, $43 = 0, $44 = 0.0;
- var $45 = 0.0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0, $52 = 0.0, $53 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond10 = 0, $or$cond12 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $4 = $1;
- $8 = HEAP32[$2>>2]|0;
- $5 = $8;
- $9 = ((($3)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(3);
- if (!($11)) {
-  $48 = $4;
-  $49 = $5;
-  $50 = (+($49|0));
-  $51 = $4;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
-  $52 = (+_mrb_to_flo($51,$$byval_copy));
-  $53 = $50 * $52;
-  _mrb_float_value($0,$48,$53);
-  STACKTOP = sp;return;
- }
- $12 = $5;
- $13 = ($12|0)==(0);
- if ($13) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $14 = HEAP32[$3>>2]|0;
- $7 = $14;
- $15 = $5;
- $16 = ($15|0)<(32768);
- $17 = $5;
- $18 = ($17|0)>=(-32768);
- $or$cond = $16 & $18;
- $19 = $7;
- $20 = ($19|0)<(32768);
- $or$cond3 = $or$cond & $20;
- $21 = $7;
- $22 = ($21|0)>=(-32768);
- $or$cond5 = $or$cond3 & $22;
- $23 = $5;
- $24 = $7;
- $25 = Math_imul($23, $24)|0;
- if ($or$cond5) {
-  _mrb_fixnum_value_125($0,$25);
-  STACKTOP = sp;return;
- }
- $26 = (+($25|0));
- $6 = $26;
- $27 = $5;
- $28 = ($27|0)!=(0);
- $29 = $6;
- if ($28) {
-  $30 = $5;
-  $31 = (+($30|0));
-  $32 = $29 / $31;
-  $33 = $7;
-  $34 = (+($33|0));
-  $35 = $32 == $34;
-  $36 = $6;
-  $37 = $36 <= 2147483648.0;
-  $or$cond7 = $35 & $37;
-  $38 = $6;
-  $39 = $38 >= -2147483648.0;
-  $or$cond10 = $or$cond7 & $39;
-  if ($or$cond10) {
-   label = 10;
-  } else {
-   label = 9;
-  }
- } else {
-  $$old6 = $29 <= 2147483648.0;
-  $$old8 = $6;
-  $$old9 = $$old8 >= -2147483648.0;
-  $or$cond12 = $$old6 & $$old9;
-  if ($or$cond12) {
-   label = 10;
-  } else {
-   label = 9;
-  }
- }
- if ((label|0) == 9) {
-  $40 = $4;
-  $41 = $5;
-  $42 = (+($41|0));
-  $43 = $7;
-  $44 = (+($43|0));
-  $45 = $42 * $44;
-  _mrb_float_value($0,$40,$45);
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 10) {
-  $46 = $6;
-  $47 = (~~(($46)));
-  _mrb_fixnum_value_125($0,$47);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_fixnum_value_125($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_flo_to_fixnum($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $4 = 0, $5 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $6 = ((($2)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)==(6);
- if (!($8)) {
-  $9 = $3;
-  $10 = $3;
-  $11 = (_mrb_class_get($10,69204)|0);
-  _mrb_raise($9,$11,55138);
-  // unreachable;
- }
- $12 = +HEAPF32[$2>>2];
- $5 = $12;
- $13 = $5;
- $14 = (___FLOAT_BITS_126($13)|0);
- $15 = $14 & 2147483647;
- $16 = ($15|0)==(2139095040);
- if ($16) {
-  $17 = $3;
-  $18 = $3;
-  $19 = (_mrb_class_get($18,55154)|0);
-  $20 = $5;
-  $21 = $20 < 0.0;
-  $22 = $21 ? 55171 : 55181;
-  _mrb_raise($17,$19,$22);
-  // unreachable;
- }
- $23 = $5;
- $24 = (___FLOAT_BITS_126($23)|0);
- $25 = $24 & 2147483647;
- $26 = ($25>>>0)>(2139095040);
- if ($26) {
-  $27 = $3;
-  $28 = $3;
-  $29 = (_mrb_class_get($28,55154)|0);
-  _mrb_raise($27,$29,55190);
-  // unreachable;
- } else {
-  $30 = $5;
-  $31 = (~~(($30)));
-  $4 = $31;
-  $32 = $4;
-  _mrb_fixnum_value_125($0,$32);
-  STACKTOP = sp;return;
- }
-}
-function ___FLOAT_BITS_126($0) {
- $0 = +$0;
- var $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = sp;
- $1 = $0;
- $3 = $1;
- HEAPF32[$2>>2] = $3;
- $4 = HEAP32[$2>>2]|0;
- STACKTOP = sp;return ($4|0);
-}
-function ___DOUBLE_BITS_127($0) {
- $0 = +$0;
- var $1 = 0.0, $2 = 0, $3 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = sp;
- $1 = $0;
- $3 = $1;
- HEAPF64[$2>>3] = $3;
- $4 = $2;
- $5 = $4;
- $6 = HEAP32[$5>>2]|0;
- $7 = (($4) + 4)|0;
- $8 = $7;
- $9 = HEAP32[$8>>2]|0;
- tempRet0 = ($9);
- STACKTOP = sp;return ($6|0);
-}
-function _mrb_fixnum_plus($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0, $28 = 0.0;
- var $29 = 0, $30 = 0.0, $31 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $7 = sp;
- $4 = $1;
- $8 = HEAP32[$2>>2]|0;
- $5 = $8;
- $9 = ((($3)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(3);
- if (!($11)) {
-  $26 = $4;
-  $27 = $5;
-  $28 = (+($27|0));
-  $29 = $4;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
-  $30 = (+_mrb_to_flo($29,$$byval_copy));
-  $31 = $28 + $30;
-  _mrb_float_value($0,$26,$31);
-  STACKTOP = sp;return;
- }
- $12 = $5;
- $13 = ($12|0)==(0);
- if ($13) {
-  ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $14 = HEAP32[$3>>2]|0;
- $6 = $14;
- $15 = $5;
- $16 = $6;
- $17 = (_mrb_int_add_overflow($15,$16,$7)|0);
- $18 = ($17<<24>>24)!=(0);
- if ($18) {
-  $19 = $4;
-  $20 = $5;
-  $21 = (+($20|0));
-  $22 = $6;
-  $23 = (+($22|0));
-  $24 = $21 + $23;
-  _mrb_float_value($0,$19,$24);
-  STACKTOP = sp;return;
- } else {
-  $25 = HEAP32[$7>>2]|0;
-  _mrb_fixnum_value_125($0,$25);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_int_add_overflow($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$arith = 0, $$ispos = 0, $$negcheck = 0, $$negtemp = 0, $$poscheck = 0, $$postemp = 0, $$select = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = $4;
- $$arith = (($8) + ($9))|0;
- $$postemp = (($8) + -2147483648)|0;
- $$negtemp = (($8) + 2147483647)|0;
- $$poscheck = ($$arith|0)<($$postemp|0);
- $$negcheck = ($$arith|0)>($$negtemp|0);
- $$ispos = ($8|0)>=(0);
- $$select = $$ispos ? $$poscheck : $$negcheck;
- $7 = $$arith;
- $10 = $7;
- $11 = ($10|0)>(2147483647);
- $or$cond = $$select | $11;
- if ($or$cond) {
-  $15 = 1;
- } else {
-  $12 = $7;
-  $13 = ($12|0)<(-2147483648);
-  $15 = $13;
- }
- $14 = $15&1;
- $16 = $14&255;
- $6 = $16;
- $17 = $7;
- $18 = $5;
- HEAP32[$18>>2] = $17;
- $19 = $6;
- STACKTOP = sp;return ($19|0);
-}
-function _mrb_fixnum_minus($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0, $28 = 0.0;
- var $29 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $7 = sp;
- $4 = $1;
- $8 = HEAP32[$2>>2]|0;
- $5 = $8;
- $9 = ((($3)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(3);
- if (!($11)) {
-  $24 = $4;
-  $25 = $5;
-  $26 = (+($25|0));
-  $27 = $4;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
-  $28 = (+_mrb_to_flo($27,$$byval_copy));
-  $29 = $26 - $28;
-  _mrb_float_value($0,$24,$29);
-  STACKTOP = sp;return;
- }
- $12 = HEAP32[$3>>2]|0;
- $6 = $12;
- $13 = $5;
- $14 = $6;
- $15 = (_mrb_int_sub_overflow($13,$14,$7)|0);
- $16 = ($15<<24>>24)!=(0);
- if ($16) {
-  $17 = $4;
-  $18 = $5;
-  $19 = (+($18|0));
-  $20 = $6;
-  $21 = (+($20|0));
-  $22 = $19 - $21;
-  _mrb_float_value($0,$17,$22);
-  STACKTOP = sp;return;
- } else {
-  $23 = HEAP32[$7>>2]|0;
-  _mrb_fixnum_value_125($0,$23);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_int_sub_overflow($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$arith = 0, $$ispos = 0, $$negcheck = 0, $$negtemp = 0, $$poscheck = 0, $$postemp = 0, $$select = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = $4;
- $$arith = (($8) - ($9))|0;
- $$postemp = (($8) + -2147483647)|0;
- $$negtemp = (($8) + -2147483648)|0;
- $$poscheck = ($$arith|0)<($$postemp|0);
- $$negcheck = ($$arith|0)>($$negtemp|0);
- $$ispos = ($8|0)>=(0);
- $$select = $$ispos ? $$poscheck : $$negcheck;
- $7 = $$arith;
- $10 = $7;
- $11 = ($10|0)>(2147483647);
- $or$cond = $$select | $11;
- if ($or$cond) {
-  $15 = 1;
- } else {
-  $12 = $7;
-  $13 = ($12|0)<(-2147483648);
-  $15 = $13;
- }
- $14 = $15&1;
- $16 = $14&255;
- $6 = $16;
- $17 = $7;
- $18 = $5;
- HEAP32[$18>>2] = $17;
- $19 = $6;
- STACKTOP = sp;return ($19|0);
-}
-function _mrb_fixnum_to_str($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $vararg_buffer = sp;
- $6 = sp + 32|0;
- $9 = sp + 8|0;
- $4 = $1;
- $5 = $3;
- $10 = ((($6)) + 33|0);
- $7 = $10;
- $11 = HEAP32[$2>>2]|0;
- $8 = $11;
- $12 = $5;
- $13 = ($12|0)<(2);
- $14 = $5;
- $15 = (36)<($14|0);
- $or$cond = $13 | $15;
- if ($or$cond) {
-  $16 = $4;
-  $17 = $4;
-  $18 = (_mrb_class_get($17,69160)|0);
-  $19 = $5;
-  _mrb_fixnum_value_125($9,$19);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$9>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$9+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$9+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$9+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$9+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$9+7>>0]|0;
-  _mrb_raisef($16,$18,55194,$vararg_buffer);
-  // unreachable;
- }
- $20 = $8;
- $21 = ($20|0)==(0);
- if ($21) {
-  $22 = $7;
-  $23 = ((($22)) + -1|0);
-  $7 = $23;
-  HEAP8[$23>>0] = 48;
-  $51 = $4;
-  $52 = $7;
-  $53 = ((($6)) + 33|0);
-  $54 = $7;
-  $55 = $53;
-  $56 = $54;
-  $57 = (($55) - ($56))|0;
-  _mrb_str_new($0,$51,$52,$57);
-  STACKTOP = sp;return;
- }
- $24 = $8;
- $25 = ($24|0)<(0);
- if (!($25)) {
-  while(1) {
-   $40 = $8;
-   $41 = $5;
-   $42 = (($40|0) % ($41|0))&-1;
-   $43 = (55645 + ($42)|0);
-   $44 = HEAP8[$43>>0]|0;
-   $45 = $7;
-   $46 = ((($45)) + -1|0);
-   $7 = $46;
-   HEAP8[$46>>0] = $44;
-   $47 = $5;
-   $48 = $8;
-   $49 = (($48|0) / ($47|0))&-1;
-   $8 = $49;
-   $50 = ($49|0)!=(0);
-   if (!($50)) {
-    break;
-   }
-  }
-  $51 = $4;
-  $52 = $7;
-  $53 = ((($6)) + 33|0);
-  $54 = $7;
-  $55 = $53;
-  $56 = $54;
-  $57 = (($55) - ($56))|0;
-  _mrb_str_new($0,$51,$52,$57);
-  STACKTOP = sp;return;
- }
- while(1) {
-  $26 = $8;
-  $27 = $5;
-  $28 = (($26|0) % ($27|0))&-1;
-  $29 = (0 - ($28))|0;
-  $30 = (55645 + ($29)|0);
-  $31 = HEAP8[$30>>0]|0;
-  $32 = $7;
-  $33 = ((($32)) + -1|0);
-  $7 = $33;
-  HEAP8[$33>>0] = $31;
-  $34 = $5;
-  $35 = $8;
-  $36 = (($35|0) / ($34|0))&-1;
-  $8 = $36;
-  $37 = ($36|0)!=(0);
-  if (!($37)) {
-   break;
-  }
- }
- $38 = $7;
- $39 = ((($38)) + -1|0);
- $7 = $39;
- HEAP8[$39>>0] = 45;
- $51 = $4;
- $52 = $7;
- $53 = ((($6)) + 33|0);
- $54 = $7;
- $55 = $53;
- $56 = $54;
- $57 = (($55) - ($56))|0;
- _mrb_str_new($0,$51,$52,$57);
- STACKTOP = sp;return;
-}
-function _mrb_init_numeric($0) {
- $0 = $0|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
- var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
- var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
- var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
- var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
- var $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $6 = sp + 8|0;
- $7 = sp;
- $1 = $0;
- $8 = $1;
- $9 = $1;
- $10 = ((($9)) + 32|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = (_mrb_define_class($8,55211,$11)|0);
- $2 = $12;
- $13 = $1;
- $14 = $2;
- _mrb_define_method($13,$14,59540,35,262144);
- $15 = $1;
- $16 = $2;
- _mrb_define_method($15,$16,59549,36,262144);
- $17 = $1;
- $18 = $2;
- _mrb_define_method($17,$18,55219,36,262144);
- $19 = $1;
- $20 = $2;
- _mrb_define_method($19,$20,69156,37,262144);
- $21 = $1;
- $22 = $2;
- $23 = (_mrb_define_class($21,55360,$22)|0);
- $3 = $23;
- $24 = $1;
- $25 = $3;
- _mrb_undef_class_method($24,$25,67982);
- $26 = $1;
- $27 = $3;
- _mrb_define_method($26,$27,56301,38,0);
- $28 = $1;
- $29 = $3;
- _mrb_define_method($28,$29,55521,38,0);
- $30 = $1;
- $31 = $3;
- $32 = (_mrb_define_class($30,55429,$31)|0);
- $4 = $32;
- $33 = $1;
- $34 = ((($33)) + 64|0);
- HEAP32[$34>>2] = $32;
- $35 = $1;
- $36 = $4;
- _mrb_define_method($35,$36,64614,39,262144);
- $37 = $1;
- $38 = $4;
- _mrb_define_method($37,$38,69660,40,262144);
- $39 = $1;
- $40 = $4;
- _mrb_define_method($39,$40,68856,41,262144);
- $41 = $1;
- $42 = $4;
- _mrb_define_method($41,$42,59551,42,262144);
- $43 = $1;
- $44 = $4;
- _mrb_define_method($43,$44,69201,43,262144);
- $45 = $1;
- $46 = $4;
- _mrb_define_method($45,$46,59559,44,0);
- $47 = $1;
- $48 = $4;
- _mrb_define_method($47,$48,69093,45,262144);
- $49 = $1;
- $50 = $4;
- _mrb_define_method($49,$50,59553,46,262144);
- $51 = $1;
- $52 = $4;
- _mrb_define_method($51,$52,59555,47,262144);
- $53 = $1;
- $54 = $4;
- _mrb_define_method($53,$54,64616,48,262144);
- $55 = $1;
- $56 = $4;
- _mrb_define_method($55,$56,59537,49,262144);
- $57 = $1;
- $58 = $4;
- _mrb_define_method($57,$58,69289,50,262144);
- $59 = $1;
- $60 = $4;
- _mrb_define_method($59,$60,68413,51,0);
- $61 = $1;
- $62 = $4;
- _mrb_define_method($61,$62,56296,52,0);
- $63 = $1;
- $64 = $4;
- _mrb_define_method($63,$64,69276,53,0);
- $65 = $1;
- $66 = $4;
- _mrb_define_method($65,$66,69281,53,0);
- $67 = $1;
- $68 = $4;
- _mrb_define_method($67,$68,55223,54,262144);
- $69 = $1;
- $70 = $2;
- $71 = (_mrb_define_class($69,55477,$70)|0);
- $5 = $71;
- $72 = $1;
- $73 = ((($72)) + 60|0);
- HEAP32[$73>>2] = $71;
- $74 = $1;
- $75 = $5;
- _mrb_undef_class_method($74,$75,67982);
- $76 = $1;
- $77 = $5;
- _mrb_define_method($76,$77,64614,55,262144);
- $78 = $1;
- $79 = $5;
- _mrb_define_method($78,$79,69660,56,262144);
- $80 = $1;
- $81 = $5;
- _mrb_define_method($80,$81,68856,57,262144);
- $82 = $1;
- $83 = $5;
- _mrb_define_method($82,$83,59551,58,262144);
- $84 = $1;
- $85 = $5;
- _mrb_define_method($84,$85,69201,59,262144);
- $86 = $1;
- $87 = $5;
- _mrb_define_method($86,$87,55230,60,0);
- $88 = $1;
- $89 = $5;
- _mrb_define_method($88,$89,55235,61,0);
- $90 = $1;
- $91 = $5;
- _mrb_define_method($90,$91,55243,62,0);
- $92 = $1;
- $93 = $5;
- _mrb_define_method($92,$93,55249,63,0);
- $94 = $1;
- $95 = $5;
- _mrb_define_method($94,$95,55259,64,8192);
- $96 = $1;
- $97 = $5;
- _mrb_define_method($96,$97,56296,65,0);
- $98 = $1;
- $99 = $5;
- _mrb_define_method($98,$99,56301,66,0);
- $100 = $1;
- $101 = $5;
- _mrb_define_method($100,$101,55521,66,0);
- $102 = $1;
- $103 = $5;
- _mrb_define_method($102,$103,55265,66,0);
- $104 = $1;
- $105 = $5;
- _mrb_define_method($104,$105,55223,67,262144);
- $106 = $1;
- $107 = $5;
- _mrb_define_method($106,$107,69289,68,262144);
- $108 = $1;
- $109 = $5;
- _mrb_define_method($108,$109,69276,69,0);
- $110 = $1;
- $111 = $5;
- _mrb_define_method($110,$111,69281,69,0);
- $112 = $1;
- $113 = $5;
- _mrb_define_method($112,$113,55274,70,0);
- $114 = $1;
- $115 = $5;
- $116 = $1;
- _mrb_float_value($6,$116,inf);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_define_const($114,$115,55279,$$byval_copy);
- $117 = $1;
- $118 = $5;
- $119 = $1;
- _mrb_float_value($7,$119,nan);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_define_const($117,$118,70763,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _num_pow($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0.0;
- var $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, $or$cond = 0;
- var $or$cond3 = 0, $or$cond5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy6 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($7,69199,$vararg_buffer)|0);
- $8 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- $9 = (+_mrb_to_flo($8,$$byval_copy));
- $6 = $9;
- $10 = $3;
- ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0;
- $11 = (+_mrb_to_flo($10,$$byval_copy6));
- $12 = $11;
- $13 = $6;
- $14 = $13;
- $15 = (+Math_pow((+$12),(+$14)));
- $16 = $15;
- $5 = $16;
- $17 = ((($2)) + 4|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = ($18|0)==(3);
- do {
-  if ($19) {
-   $20 = ((($4)) + 4|0);
-   $21 = HEAP32[$20>>2]|0;
-   $22 = ($21|0)==(3);
-   $23 = $5;
-   $24 = $23 <= 2147483648.0;
-   $or$cond = $22 & $24;
-   $25 = $5;
-   $26 = $25 >= -2147483648.0;
-   $or$cond3 = $or$cond & $26;
-   $27 = $6;
-   $28 = $27 > 0.0;
-   $or$cond5 = $or$cond3 & $28;
-   if ($or$cond5) {
-    $29 = $5;
-    $30 = $29 < 0.0;
-    if (!($30)) {
-     $31 = $5;
-     $32 = $31 > 0.0;
-     if (!($32)) {
-      break;
-     }
-     $33 = $5;
-     $34 = (~~(($33)));
-     $35 = ($34|0)>(0);
-     if (!($35)) {
-      break;
-     }
-    }
-    $36 = $5;
-    $37 = (~~(($36)));
-    _mrb_fixnum_value_125($0,$37);
-    STACKTOP = sp;return;
-   }
-  }
- } while(0);
- $38 = $3;
- $39 = $5;
- _mrb_float_value($0,$38,$39);
- STACKTOP = sp;return;
-}
-function _num_div($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $vararg_buffer = sp;
- $4 = sp + 4|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,55326,$vararg_buffer)|0);
- $6 = $3;
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $8 = (+_mrb_to_flo($7,$$byval_copy));
- $9 = +HEAPF32[$4>>2];
- $10 = $8 / $9;
- _mrb_float_value($0,$6,$10);
- STACKTOP = sp;return;
-}
-function _num_cmp($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0.0, $20 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0.0, $vararg_buffer = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($7,69199,$vararg_buffer)|0);
- $8 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $9 = (+_mrb_to_flo($8,$$byval_copy));
- $5 = $9;
- $10 = ((($4)) + 4|0);
- $11 = HEAP32[$10>>2]|0;
- switch ($11|0) {
- case 3:  {
-  $12 = HEAP32[$4>>2]|0;
-  $13 = (+($12|0));
-  $6 = $13;
-  break;
- }
- case 6:  {
-  $14 = +HEAPF32[$4>>2];
-  $6 = $14;
-  break;
- }
- default: {
-  _mrb_nil_value_168($0);
-  STACKTOP = sp;return;
- }
- }
- $15 = $5;
- $16 = $6;
- $17 = $15 > $16;
- if ($17) {
-  _mrb_fixnum_value_125($0,1);
-  STACKTOP = sp;return;
- }
- $18 = $5;
- $19 = $6;
- $20 = $18 < $19;
- if ($20) {
-  _mrb_fixnum_value_125($0,-1);
-  STACKTOP = sp;return;
- } else {
-  _mrb_fixnum_value_125($0,0);
-  STACKTOP = sp;return;
- }
-}
-function _int_to_i($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _fix_plus($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_fixnum_plus($0,$6,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _fix_minus($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_fixnum_minus($0,$6,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _fix_mul($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_fixnum_mul($0,$6,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _fix_mod($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0.0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 40|0;
- $vararg_buffer = sp;
- $4 = sp + 24|0;
- $7 = sp + 8|0;
- $8 = sp + 4|0;
- $3 = $1;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($9,69199,$vararg_buffer)|0);
- $10 = HEAP32[$2>>2]|0;
- $5 = $10;
- $11 = ((($4)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ($12|0)==(3);
- if (!($13)) {
-  $20 = $3;
-  $21 = $5;
-  $22 = (+($21|0));
-  $23 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-  $24 = (+_mrb_to_flo($23,$$byval_copy));
-  _flodivmod($20,$22,$24,0,$8);
-  $25 = $3;
-  $26 = +HEAPF32[$8>>2];
-  _mrb_float_value($0,$25,$26);
-  STACKTOP = sp;return;
- }
- $14 = HEAP32[$4>>2]|0;
- $6 = $14;
- $15 = ($14|0)==(0);
- $16 = $3;
- if ($15) {
-  _mrb_float_value($0,$16,nan);
-  STACKTOP = sp;return;
- } else {
-  $17 = $5;
-  $18 = $6;
-  _fixdivmod($16,$17,$18,0,$7);
-  $19 = HEAP32[$7>>2]|0;
-  _mrb_fixnum_value_125($0,$19);
-  STACKTOP = sp;return;
- }
-}
-function _fix_equal($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = ((($4)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- switch ($7|0) {
- case 3:  {
-  $8 = HEAP32[$2>>2]|0;
-  $9 = HEAP32[$4>>2]|0;
-  $10 = ($8|0)==($9|0);
-  $11 = $10&1;
-  $12 = $11&255;
-  _mrb_bool_value_165($0,$12);
-  STACKTOP = sp;return;
-  break;
- }
- case 6:  {
-  $13 = HEAP32[$2>>2]|0;
-  $14 = (+($13|0));
-  $15 = +HEAPF32[$4>>2];
-  $16 = $14 == $15;
-  $17 = $16&1;
-  $18 = $17&255;
-  _mrb_bool_value_165($0,$18);
-  STACKTOP = sp;return;
-  break;
- }
- default: {
-  _mrb_false_value_167($0);
-  STACKTOP = sp;return;
- }
- }
-}
-function _fix_rev($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = $6 ^ -1;
- _mrb_fixnum_value_125($0,$7);
- STACKTOP = sp;return;
-}
-function _fix_and($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,69199,$vararg_buffer)|0);
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- _bit_coerce($5,$7,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $8 = HEAP32[$2>>2]|0;
- $9 = HEAP32[$4>>2]|0;
- $10 = $8 & $9;
- _mrb_fixnum_value_125($0,$10);
- STACKTOP = sp;return;
-}
-function _fix_or($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,69199,$vararg_buffer)|0);
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- _bit_coerce($5,$7,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $8 = HEAP32[$2>>2]|0;
- $9 = HEAP32[$4>>2]|0;
- $10 = $8 | $9;
- _mrb_fixnum_value_125($0,$10);
- STACKTOP = sp;return;
-}
-function _fix_xor($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,69199,$vararg_buffer)|0);
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- _bit_coerce($5,$7,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $8 = HEAP32[$2>>2]|0;
- $9 = HEAP32[$4>>2]|0;
- $10 = $8 ^ $9;
- _mrb_fixnum_value_125($0,$10);
- STACKTOP = sp;return;
-}
-function _fix_lshift($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = sp + 4|0;
- $3 = $1;
- $6 = $3;
- _fix_shift_get_width($6,$4);
- $7 = HEAP32[$4>>2]|0;
- $8 = ($7|0)==(0);
- if ($8) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $9 = HEAP32[$2>>2]|0;
- $5 = $9;
- $10 = HEAP32[$4>>2]|0;
- $11 = ($10|0)<(0);
- if ($11) {
-  $12 = $5;
-  $13 = HEAP32[$4>>2]|0;
-  $14 = (0 - ($13))|0;
-  _rshift($0,$12,$14);
-  STACKTOP = sp;return;
- } else {
-  $15 = $3;
-  $16 = $5;
-  $17 = HEAP32[$4>>2]|0;
-  _lshift($0,$15,$16,$17);
-  STACKTOP = sp;return;
- }
-}
-function _fix_rshift($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = sp + 4|0;
- $3 = $1;
- $6 = $3;
- _fix_shift_get_width($6,$4);
- $7 = HEAP32[$4>>2]|0;
- $8 = ($7|0)==(0);
- if ($8) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $9 = HEAP32[$2>>2]|0;
- $5 = $9;
- $10 = HEAP32[$4>>2]|0;
- $11 = ($10|0)<(0);
- if ($11) {
-  $12 = $3;
-  $13 = $5;
-  $14 = HEAP32[$4>>2]|0;
-  $15 = (0 - ($14))|0;
-  _lshift($0,$12,$13,$15);
-  STACKTOP = sp;return;
- } else {
-  $16 = $5;
-  $17 = HEAP32[$4>>2]|0;
-  _rshift($0,$16,$17);
-  STACKTOP = sp;return;
- }
-}
-function _fix_eql($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = ((($4)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)==(3);
- if ($8) {
-  $9 = HEAP32[$2>>2]|0;
-  $10 = HEAP32[$4>>2]|0;
-  $11 = ($9|0)==($10|0);
-  $12 = $11&1;
-  $13 = $12&255;
-  _mrb_bool_value_165($0,$13);
-  STACKTOP = sp;return;
- } else {
-  _mrb_false_value_167($0);
-  STACKTOP = sp;return;
- }
-}
-function _flo_hash($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = sp + 12|0;
- $3 = $1;
- $8 = HEAP32[$2>>2]|0;
- $9 = (+($8|0));
- HEAPF32[$4>>2] = $9;
- $10 = +HEAPF32[$4>>2];
- $11 = $10 == 0.0;
- if ($11) {
-  HEAPF32[$4>>2] = 0.0;
- }
- $5 = $4;
- $7 = 0;
- $6 = 0;
- while(1) {
-  $12 = $6;
-  $13 = ($12>>>0)<(4);
-  $14 = $7;
-  if (!($13)) {
-   break;
-  }
-  $15 = ($14*971)|0;
-  $16 = $5;
-  $17 = $6;
-  $18 = (($16) + ($17)|0);
-  $19 = HEAP8[$18>>0]|0;
-  $20 = $19&255;
-  $21 = $15 ^ $20;
-  $7 = $21;
-  $22 = $6;
-  $23 = (($22) + 1)|0;
-  $6 = $23;
- }
- $24 = ($14|0)<(0);
- if (!($24)) {
-  $27 = $7;
-  _mrb_fixnum_value_125($0,$27);
-  STACKTOP = sp;return;
- }
- $25 = $7;
- $26 = (0 - ($25))|0;
- $7 = $26;
- $27 = $7;
- _mrb_fixnum_value_125($0,$27);
- STACKTOP = sp;return;
-}
-function _fix_to_f($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- $5 = HEAP32[$2>>2]|0;
- $6 = (+($5|0));
- _mrb_float_value($0,$4,$6);
- STACKTOP = sp;return;
-}
-function _fix_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $vararg_buffer = sp;
- $4 = sp + 4|0;
- $3 = $1;
- HEAP32[$4>>2] = 10;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,64768,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_fixnum_to_str($0,$6,$$byval_copy,$7);
- STACKTOP = sp;return;
-}
-function _fix_divmod($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
- var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0.0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0;
- var $41 = 0.0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
- $$byval_copy6 = sp + 152|0;
- $$byval_copy5 = sp + 144|0;
- $$byval_copy4 = sp + 136|0;
- $$byval_copy3 = sp + 128|0;
- $$byval_copy2 = sp + 120|0;
- $$byval_copy1 = sp + 112|0;
- $$byval_copy = sp + 104|0;
- $vararg_buffer = sp;
- $4 = sp + 88|0;
- $5 = sp + 84|0;
- $6 = sp + 80|0;
- $7 = sp + 72|0;
- $8 = sp + 64|0;
- $9 = sp + 56|0;
- $10 = sp + 48|0;
- $11 = sp + 44|0;
- $12 = sp + 40|0;
- $13 = sp + 32|0;
- $14 = sp + 24|0;
- $15 = sp + 16|0;
- $16 = sp + 8|0;
- $3 = $1;
- $17 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($17,69199,$vararg_buffer)|0);
- $18 = ((($4)) + 4|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = ($19|0)==(3);
- if (!($20)) {
-  $31 = $3;
-  $32 = HEAP32[$2>>2]|0;
-  $33 = (+($32|0));
-  $34 = $3;
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;
-  $35 = (+_mrb_to_flo($34,$$byval_copy4));
-  _flodivmod($31,$33,$35,$11,$12);
-  $36 = $3;
-  $37 = +HEAPF32[$11>>2];
-  $38 = (~~(($37)));
-  $39 = (+($38|0));
-  _mrb_float_value($15,$36,$39);
-  ;HEAP32[$13>>2]=HEAP32[$15>>2]|0;HEAP32[$13+4>>2]=HEAP32[$15+4>>2]|0;
-  $40 = $3;
-  $41 = +HEAPF32[$12>>2];
-  _mrb_float_value($16,$40,$41);
-  ;HEAP32[$14>>2]=HEAP32[$16>>2]|0;HEAP32[$14+4>>2]=HEAP32[$16+4>>2]|0;
-  $42 = $3;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$13+4>>2]|0;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$14+4>>2]|0;
-  _mrb_assoc_new($0,$42,$$byval_copy5,$$byval_copy6);
-  STACKTOP = sp;return;
- }
- $21 = HEAP32[$4>>2]|0;
- $22 = ($21|0)==(0);
- $23 = $3;
- if ($22) {
-  $24 = $3;
-  _mrb_float_value($7,$24,inf);
-  $25 = $3;
-  _mrb_float_value($8,$25,nan);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
-  _mrb_assoc_new($0,$23,$$byval_copy,$$byval_copy1);
-  STACKTOP = sp;return;
- } else {
-  $26 = HEAP32[$2>>2]|0;
-  $27 = HEAP32[$4>>2]|0;
-  _fixdivmod($23,$26,$27,$5,$6);
-  $28 = $3;
-  $29 = HEAP32[$5>>2]|0;
-  _mrb_fixnum_value_125($9,$29);
-  $30 = HEAP32[$6>>2]|0;
-  _mrb_fixnum_value_125($10,$30);
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$9+4>>2]|0;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$10+4>>2]|0;
-  _mrb_assoc_new($0,$28,$$byval_copy2,$$byval_copy3);
-  STACKTOP = sp;return;
- }
-}
-function _flo_plus($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- $7 = +HEAPF32[$2>>2];
- $8 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- $9 = (+_mrb_to_flo($8,$$byval_copy));
- $10 = $7 + $9;
- _mrb_float_value($0,$6,$10);
- STACKTOP = sp;return;
-}
-function _flo_minus($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- $7 = +HEAPF32[$2>>2];
- $8 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- $9 = (+_mrb_to_flo($8,$$byval_copy));
- $10 = $7 - $9;
- _mrb_float_value($0,$6,$10);
- STACKTOP = sp;return;
-}
-function _flo_mul($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- $7 = +HEAPF32[$2>>2];
- $8 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- $9 = (+_mrb_to_flo($8,$$byval_copy));
- $10 = $7 * $9;
- _mrb_float_value($0,$6,$10);
- STACKTOP = sp;return;
-}
-function _flo_mod($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0.0, $11 = 0, $12 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $5 = sp + 4|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,69199,$vararg_buffer)|0);
- $7 = $3;
- $8 = +HEAPF32[$2>>2];
- $9 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- $10 = (+_mrb_to_flo($9,$$byval_copy));
- _flodivmod($7,$8,$10,0,$5);
- $11 = $3;
- $12 = +HEAPF32[$5>>2];
- _mrb_float_value($0,$11,$12);
- STACKTOP = sp;return;
-}
-function _flo_eq($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = ((($4)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- switch ($7|0) {
- case 3:  {
-  $8 = +HEAPF32[$2>>2];
-  $9 = HEAP32[$4>>2]|0;
-  $10 = (+($9|0));
-  $11 = $8 == $10;
-  $12 = $11&1;
-  $13 = $12&255;
-  _mrb_bool_value_165($0,$13);
-  STACKTOP = sp;return;
-  break;
- }
- case 6:  {
-  $14 = +HEAPF32[$2>>2];
-  $15 = +HEAPF32[$4>>2];
-  $16 = $14 == $15;
-  $17 = $16&1;
-  $18 = $17&255;
-  _mrb_bool_value_165($0,$18);
-  STACKTOP = sp;return;
-  break;
- }
- default: {
-  _mrb_false_value_167($0);
-  STACKTOP = sp;return;
- }
- }
-}
-function _flo_ceil($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = +HEAPF32[$2>>2];
- $6 = (+Math_ceil((+$5)));
- $4 = $6;
- $7 = $4;
- $8 = $7 <= 2147483648.0;
- $9 = $4;
- $10 = $9 >= -2147483648.0;
- $or$cond = $8 & $10;
- if ($or$cond) {
-  $13 = $4;
-  $14 = (~~(($13)));
-  _mrb_fixnum_value_125($0,$14);
-  STACKTOP = sp;return;
- } else {
-  $11 = $3;
-  $12 = $4;
-  _mrb_float_value($0,$11,$12);
-  STACKTOP = sp;return;
- }
-}
-function _flo_finite_p($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = +HEAPF32[$2>>2];
- $5 = (___FLOAT_BITS_126($4)|0);
- $6 = $5 & 2147483647;
- $7 = ($6>>>0)<(2139095040);
- $8 = $7&1;
- $9 = $8&255;
- _mrb_bool_value_165($0,$9);
- STACKTOP = sp;return;
-}
-function _flo_floor($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0.0, $13 = 0.0, $14 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0.0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = +HEAPF32[$2>>2];
- $6 = (+Math_floor((+$5)));
- $4 = $6;
- $7 = $4;
- $8 = $7 <= 2147483648.0;
- $9 = $4;
- $10 = $9 >= -2147483648.0;
- $or$cond = $8 & $10;
- if ($or$cond) {
-  $13 = $4;
-  $14 = (~~(($13)));
-  _mrb_fixnum_value_125($0,$14);
-  STACKTOP = sp;return;
- } else {
-  $11 = $3;
-  $12 = $4;
-  _mrb_float_value($0,$11,$12);
-  STACKTOP = sp;return;
- }
-}
-function _flo_infinite_p($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0.0, $11 = 0, $12 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = +HEAPF32[$2>>2];
- $4 = $5;
- $6 = $4;
- $7 = (___FLOAT_BITS_126($6)|0);
- $8 = $7 & 2147483647;
- $9 = ($8|0)==(2139095040);
- if ($9) {
-  $10 = $4;
-  $11 = $10 < 0.0;
-  $12 = $11 ? -1 : 1;
-  _mrb_fixnum_value_125($0,$12);
-  STACKTOP = sp;return;
- } else {
-  _mrb_nil_value_168($0);
-  STACKTOP = sp;return;
- }
-}
-function _flo_round($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0.0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0.0, $109 = 0.0, $11 = 0.0, $110 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
- var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
- var $38 = 0, $39 = 0, $4 = 0.0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0, $5 = 0.0, $50 = 0.0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
- var $56 = 0, $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0, $65 = 0.0, $66 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $72 = 0.0, $73 = 0;
- var $74 = 0, $75 = 0.0, $76 = 0.0, $77 = 0, $78 = 0.0, $79 = 0.0, $8 = 0.0, $80 = 0.0, $81 = 0.0, $82 = 0.0, $83 = 0.0, $84 = 0.0, $85 = 0.0, $86 = 0, $87 = 0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0;
- var $92 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0, $97 = 0, $98 = 0.0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer = sp + 24|0;
- $6 = sp + 32|0;
- $3 = $1;
- HEAP32[$6>>2] = 0;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $6;
- (_mrb_get_args($9,64768,$vararg_buffer)|0);
- $10 = +HEAPF32[$2>>2];
- $11 = $10;
- $4 = $11;
- $12 = $4;
- $13 = (___DOUBLE_BITS_127($12)|0);
- $14 = tempRet0;
- $15 = $14 & 2147483647;
- $16 = ($13|0)==(0);
- $17 = ($15|0)==(2146435072);
- $18 = $16 & $17;
- if ($18) {
-  $19 = HEAP32[$6>>2]|0;
-  $20 = (0)<($19|0);
-  if (!($20)) {
-   $21 = $3;
-   $22 = $3;
-   $23 = (_mrb_class_get($22,55154)|0);
-   $24 = $4;
-   $25 = $24 < 0.0;
-   $26 = $25 ? 55171 : 55181;
-   _mrb_raise($21,$23,$26);
-   // unreachable;
-  }
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $27 = $4;
- $28 = (___DOUBLE_BITS_127($27)|0);
- $29 = tempRet0;
- $30 = $29 & 2147483647;
- $31 = ($30>>>0)>(2146435072);
- $32 = ($28>>>0)>(0);
- $33 = ($30|0)==(2146435072);
- $34 = $33 & $32;
- $35 = $31 | $34;
- if ($35) {
-  $36 = HEAP32[$6>>2]|0;
-  $37 = (0)<($36|0);
-  if (!($37)) {
-   $38 = $3;
-   $39 = $3;
-   $40 = (_mrb_class_get($39,55154)|0);
-   _mrb_raise($38,$40,55190);
-   // unreachable;
-  }
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $5 = 1.0;
- $41 = HEAP32[$6>>2]|0;
- $42 = ($41|0)>=(0);
- $43 = HEAP32[$6>>2]|0;
- $44 = (0 - ($43))|0;
- $45 = $42 ? $43 : $44;
- $7 = $45;
- while(1) {
-  $46 = $7;
-  $47 = (($46) + -1)|0;
-  $7 = $47;
-  $48 = ($47|0)>=(0);
-  $49 = $5;
-  if (!($48)) {
-   break;
-  }
-  $50 = $49 * 10.0;
-  $5 = $50;
- }
- $51 = (___DOUBLE_BITS_127($49)|0);
- $52 = tempRet0;
- $53 = $52 & 2147483647;
- $54 = ($51|0)==(0);
- $55 = ($53|0)==(2146435072);
- $56 = $54 & $55;
- $57 = HEAP32[$6>>2]|0;
- $58 = ($57|0)<(0);
- do {
-  if ($56) {
-   if ($58) {
-    $4 = 0.0;
-   }
-  } else {
-   $59 = $5;
-   $60 = $4;
-   if ($58) {
-    $61 = $60 / $59;
-    $4 = $61;
-   } else {
-    $62 = $60 * $59;
-    $4 = $62;
-   }
-   $63 = $4;
-   $64 = $63 > 0.0;
-   $65 = $4;
-   if ($64) {
-    $66 = $65;
-    $67 = (+Math_floor((+$66)));
-    $68 = $67;
-    $8 = $68;
-    $69 = $8;
-    $70 = $4;
-    $71 = $8;
-    $72 = $70 - $71;
-    $73 = $72 >= 0.5;
-    $74 = $73&1;
-    $75 = (+($74|0));
-    $76 = $69 + $75;
-    $4 = $76;
-   } else {
-    $77 = $65 < 0.0;
-    if ($77) {
-     $78 = $4;
-     $79 = $78;
-     $80 = (+Math_ceil((+$79)));
-     $81 = $80;
-     $8 = $81;
-     $82 = $8;
-     $83 = $8;
-     $84 = $4;
-     $85 = $83 - $84;
-     $86 = $85 >= 0.5;
-     $87 = $86&1;
-     $88 = (+($87|0));
-     $89 = $82 - $88;
-     $4 = $89;
-    }
-   }
-   $90 = HEAP32[$6>>2]|0;
-   $91 = ($90|0)<(0);
-   $92 = $5;
-   $93 = $4;
-   if ($91) {
-    $94 = $93 * $92;
-    $4 = $94;
-    break;
-   } else {
-    $95 = $93 / $92;
-    $4 = $95;
-    break;
-   }
-  }
- } while(0);
- $96 = HEAP32[$6>>2]|0;
- $97 = ($96|0)>(0);
- $98 = $4;
- if (!($97)) {
-  $110 = (~~(($98)));
-  _mrb_fixnum_value_125($0,$110);
-  STACKTOP = sp;return;
- }
- $99 = (___DOUBLE_BITS_127($98)|0);
- $100 = tempRet0;
- $101 = $100 & 2147483647;
- $102 = ($101>>>0)<(2146435072);
- $103 = ($99>>>0)<(0);
- $104 = ($101|0)==(2146435072);
- $105 = $104 & $103;
- $106 = $102 | $105;
- if ($106) {
-  $107 = $3;
-  $108 = $4;
-  $109 = $108;
-  _mrb_float_value($0,$107,$109);
-  STACKTOP = sp;return;
- } else {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _flo_to_f($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _flo_truncate($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0.0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0.0, $22 = 0.0, $23 = 0, $3 = 0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0;
- var $9 = 0.0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = +HEAPF32[$2>>2];
- $4 = $5;
- $6 = $4;
- $7 = $6;
- $8 = $7 > 0.0;
- if ($8) {
-  $9 = $4;
-  $10 = (+Math_floor((+$9)));
-  $4 = $10;
- }
- $11 = $4;
- $12 = $11;
- $13 = $12 < 0.0;
- if ($13) {
-  $14 = $4;
-  $15 = (+Math_ceil((+$14)));
-  $4 = $15;
- }
- $16 = $4;
- $17 = $16 <= 2147483648.0;
- $18 = $4;
- $19 = $18 >= -2147483648.0;
- $or$cond = $17 & $19;
- if ($or$cond) {
-  $22 = $4;
-  $23 = (~~(($22)));
-  _mrb_fixnum_value_125($0,$23);
-  STACKTOP = sp;return;
- } else {
-  $20 = $3;
-  $21 = $4;
-  _mrb_float_value($0,$20,$21);
-  STACKTOP = sp;return;
- }
-}
-function _flo_divmod($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $20 = 0, $21 = 0.0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy2 = sp + 80|0;
- $$byval_copy1 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $vararg_buffer = sp;
- $4 = sp + 48|0;
- $5 = sp + 44|0;
- $6 = sp + 40|0;
- $7 = sp + 32|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $10 = sp + 8|0;
- $3 = $1;
- $11 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($11,69199,$vararg_buffer)|0);
- $12 = $3;
- $13 = +HEAPF32[$2>>2];
- $14 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- $15 = (+_mrb_to_flo($14,$$byval_copy));
- _flodivmod($12,$13,$15,$5,$6);
- $16 = $3;
- $17 = +HEAPF32[$5>>2];
- $18 = (~~(($17)));
- $19 = (+($18|0));
- _mrb_float_value($9,$16,$19);
- ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
- $20 = $3;
- $21 = +HEAPF32[$6>>2];
- _mrb_float_value($10,$20,$21);
- ;HEAP32[$8>>2]=HEAP32[$10>>2]|0;HEAP32[$8+4>>2]=HEAP32[$10+4>>2]|0;
- $22 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$8+4>>2]|0;
- _mrb_assoc_new($0,$22,$$byval_copy1,$$byval_copy2);
- STACKTOP = sp;return;
-}
-function _flo_eql($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = ((($4)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)==(6);
- if ($8) {
-  $9 = +HEAPF32[$2>>2];
-  $10 = HEAP32[$4>>2]|0;
-  $11 = (+($10|0));
-  $12 = $9 == $11;
-  $13 = $12&1;
-  $14 = $13&255;
-  _mrb_bool_value_165($0,$14);
-  STACKTOP = sp;return;
- } else {
-  _mrb_false_value_167($0);
-  STACKTOP = sp;return;
- }
-}
-function _flo_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = +HEAPF32[$2>>2];
- $5 = (___FLOAT_BITS_126($4)|0);
- $6 = $5 & 2147483647;
- $7 = ($6>>>0)>(2139095040);
- $8 = $3;
- if ($7) {
-  _mrb_str_new_static($0,$8,55190,3);
-  STACKTOP = sp;return;
- } else {
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_float_to_str($0,$8,$$byval_copy,55288);
-  STACKTOP = sp;return;
- }
-}
-function _flo_nan_p($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = +HEAPF32[$2>>2];
- $5 = (___FLOAT_BITS_126($4)|0);
- $6 = $5 & 2147483647;
- $7 = ($6>>>0)>(2139095040);
- $8 = $7&1;
- $9 = $8&255;
- _mrb_bool_value_165($0,$9);
- STACKTOP = sp;return;
-}
-function _mrb_bool_value_165($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- $7 = $6 ? 2 : 0;
- $8 = ((($3)) + 4|0);
- HEAP32[$8>>2] = $7;
- HEAP32[$3>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_false_value_167($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _flodivmod($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = +$1;
- $2 = +$2;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0.0, $28 = 0.0, $29 = 0.0;
- var $30 = 0.0, $31 = 0.0, $32 = 0.0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $37 = 0.0, $38 = 0.0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0, $47 = 0, $48 = 0, $49 = 0.0;
- var $5 = 0, $50 = 0, $6 = 0.0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $12 = $7;
- $13 = $12;
- $14 = $13 == 0.0;
- if ($14) {
-  $10 = inf;
-  $11 = nan;
- } else {
-  $15 = $6;
-  $16 = $7;
-  $17 = (+_fmodf($15,$16));
-  $11 = $17;
-  $18 = $6;
-  $19 = (___FLOAT_BITS_126($18)|0);
-  $20 = $19 & 2147483647;
-  $21 = ($20|0)==(2139095040);
-  if ($21) {
-   $22 = $7;
-   $23 = (___FLOAT_BITS_126($22)|0);
-   $24 = $23 & 2147483647;
-   $25 = ($24>>>0)<(2139095040);
-   if ($25) {
-    $26 = $6;
-    $10 = $26;
-   } else {
-    label = 6;
-   }
-  } else {
-   label = 6;
-  }
-  if ((label|0) == 6) {
-   $27 = $6;
-   $28 = $11;
-   $29 = $27 - $28;
-   $30 = $7;
-   $31 = $29 / $30;
-   $10 = $31;
-  }
-  $32 = $7;
-  $33 = $11;
-  $34 = $32 * $33;
-  $35 = $34 < 0.0;
-  if ($35) {
-   $36 = $7;
-   $37 = $11;
-   $38 = $37 + $36;
-   $11 = $38;
-   $39 = $10;
-   $40 = $39;
-   $41 = $40 - 1.0;
-   $42 = $41;
-   $10 = $42;
-  }
- }
- $43 = $9;
- $44 = ($43|0)!=(0|0);
- if ($44) {
-  $45 = $11;
-  $46 = $9;
-  HEAPF32[$46>>2] = $45;
- }
- $47 = $8;
- $48 = ($47|0)!=(0|0);
- if (!($48)) {
-  STACKTOP = sp;return;
- }
- $49 = $10;
- $50 = $8;
- HEAPF32[$50>>2] = $49;
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_168($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _fixdivmod($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $12 = $7;
- $13 = ($12|0)<(0);
- $14 = $6;
- $15 = ($14|0)<(0);
- $16 = $6;
- do {
-  if ($13) {
-   if ($15) {
-    $17 = (0 - ($16))|0;
-    $18 = $7;
-    $19 = (0 - ($18))|0;
-    $20 = (($17|0) / ($19|0))&-1;
-    $10 = $20;
-    break;
-   } else {
-    $21 = $7;
-    $22 = (0 - ($21))|0;
-    $23 = (($16|0) / ($22|0))&-1;
-    $24 = (0 - ($23))|0;
-    $10 = $24;
-    break;
-   }
-  } else {
-   if ($15) {
-    $25 = (0 - ($16))|0;
-    $26 = $7;
-    $27 = (($25|0) / ($26|0))&-1;
-    $28 = (0 - ($27))|0;
-    $10 = $28;
-    break;
-   } else {
-    $29 = $7;
-    $30 = (($16|0) / ($29|0))&-1;
-    $10 = $30;
-    break;
-   }
-  }
- } while(0);
- $31 = $6;
- $32 = $10;
- $33 = $7;
- $34 = Math_imul($32, $33)|0;
- $35 = (($31) - ($34))|0;
- $11 = $35;
- $36 = $11;
- $37 = ($36|0)<(0);
- $38 = $7;
- $39 = ($38|0)>(0);
- $or$cond = $37 & $39;
- if ($or$cond) {
-  label = 10;
- } else {
-  $40 = $11;
-  $41 = ($40|0)>(0);
-  $42 = $7;
-  $43 = ($42|0)<(0);
-  $or$cond3 = $41 & $43;
-  if ($or$cond3) {
-   label = 10;
-  }
- }
- if ((label|0) == 10) {
-  $44 = $7;
-  $45 = $11;
-  $46 = (($45) + ($44))|0;
-  $11 = $46;
-  $47 = $10;
-  $48 = (($47) - 1)|0;
-  $10 = $48;
- }
- $49 = $8;
- $50 = ($49|0)!=(0|0);
- if ($50) {
-  $51 = $10;
-  $52 = $8;
-  HEAP32[$52>>2] = $51;
- }
- $53 = $9;
- $54 = ($53|0)!=(0|0);
- if (!($54)) {
-  STACKTOP = sp;return;
- }
- $55 = $11;
- $56 = $9;
- HEAP32[$56>>2] = $55;
- STACKTOP = sp;return;
-}
-function _fix_shift_get_width($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $2 = $0;
- $3 = $1;
- $6 = $2;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,69199,$vararg_buffer)|0);
- $7 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- _bit_coerce($5,$7,$$byval_copy);
- $8 = HEAP32[$5>>2]|0;
- $9 = $3;
- HEAP32[$9>>2] = $8;
- STACKTOP = sp;return;
-}
-function _lshift($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0.0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $8 = $6;
- $9 = ($8|0)>(31);
- $10 = $5;
- if (!($9)) {
-  $19 = $6;
-  $20 = $10 << $19;
-  _mrb_fixnum_value_125($0,$20);
-  STACKTOP = sp;return;
- }
- $11 = (+($10|0));
- $7 = $11;
- while(1) {
-  $12 = $6;
-  $13 = (($12) + -1)|0;
-  $6 = $13;
-  $14 = ($12|0)!=(0);
-  if (!($14)) {
-   break;
-  }
-  $15 = $7;
-  $16 = $15 * 2.0;
-  $7 = $16;
- }
- $17 = $4;
- $18 = $7;
- _mrb_float_value($0,$17,$18);
- STACKTOP = sp;return;
-}
-function _rshift($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $2;
- $5 = $4;
- $6 = ($5|0)>=(31);
- $7 = $3;
- do {
-  if ($6) {
-   $8 = ($7|0)<(0);
-   if ($8) {
-    _mrb_fixnum_value_125($0,-1);
-    break;
-   } else {
-    _mrb_fixnum_value_125($0,0);
-    break;
-   }
-  } else {
-   $9 = $4;
-   $10 = $7 >> $9;
-   _mrb_fixnum_value_125($0,$10);
-  }
- } while(0);
- STACKTOP = sp;return;
-}
-function _bit_coerce($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $4 = sp;
- $3 = $1;
- while(1) {
-  $5 = ((($2)) + 4|0);
-  $6 = HEAP32[$5>>2]|0;
-  $7 = ($6|0)==(3);
-  $8 = $7 ^ 1;
-  if (!($8)) {
-   label = 6;
-   break;
-  }
-  $9 = ((($2)) + 4|0);
-  $10 = HEAP32[$9>>2]|0;
-  $11 = ($10|0)==(6);
-  $12 = $3;
-  if ($11) {
-   label = 4;
-   break;
-  }
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_to_int($4,$12,$$byval_copy);
-  ;HEAP32[$2>>2]=HEAP32[$4>>2]|0;HEAP32[$2+4>>2]=HEAP32[$4+4>>2]|0;
- }
- if ((label|0) == 4) {
-  $13 = $3;
-  $14 = (_mrb_class_get($13,69204)|0);
-  _mrb_raise($12,$14,55293);
-  // unreachable;
- }
- else if ((label|0) == 6) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_obj_eq($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = ((($1)) + 4|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ((($2)) + 4|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($6|0)!=($8|0);
- L1: do {
-  if ($9) {
-   $3 = 0;
-  } else {
-   $10 = ((($1)) + 4|0);
-   $11 = HEAP32[$10>>2]|0;
-   switch ($11|0) {
-   case 2:  {
-    $3 = 1;
-    break L1;
-    break;
-   }
-   case 3: case 0:  {
-    $12 = HEAP32[$1>>2]|0;
-    $13 = HEAP32[$2>>2]|0;
-    $14 = ($12|0)==($13|0);
-    $15 = $14&1;
-    $16 = $15&255;
-    $3 = $16;
-    break L1;
-    break;
-   }
-   case 4:  {
-    $17 = HEAP32[$1>>2]|0;
-    $18 = HEAP32[$2>>2]|0;
-    $19 = ($17|0)==($18|0);
-    $20 = $19&1;
-    $21 = $20&255;
-    $3 = $21;
-    break L1;
-    break;
-   }
-   case 6:  {
-    $22 = +HEAPF32[$1>>2];
-    $23 = +HEAPF32[$2>>2];
-    $24 = $22 == $23;
-    $25 = $24&1;
-    $26 = $25&255;
-    $3 = $26;
-    break L1;
-    break;
-   }
-   default: {
-    $27 = HEAP32[$1>>2]|0;
-    $28 = HEAP32[$2>>2]|0;
-    $29 = ($27|0)==($28|0);
-    $30 = $29&1;
-    $31 = $30&255;
-    $3 = $31;
-    break L1;
-   }
-   }
-  }
- } while(0);
- $32 = $3;
- STACKTOP = sp;return ($32|0);
-}
-function _mrb_obj_equal($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $3 = $0;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- $5 = (_mrb_obj_eq($4,$$byval_copy,$$byval_copy1)|0);
- STACKTOP = sp;return ($5|0);
-}
-function _mrb_equal($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy2 = sp + 48|0;
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $5 = sp + 16|0;
- $6 = sp + 8|0;
- $4 = $0;
- $7 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- $8 = (_mrb_obj_eq($7,$$byval_copy,$$byval_copy1)|0);
- $9 = ($8<<24>>24)!=(0);
- if ($9) {
-  $3 = 1;
-  $14 = $3;
-  STACKTOP = sp;return ($14|0);
- }
- $10 = $4;
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_funcall($6,$10,$$byval_copy2,69201,1,$vararg_buffer);
- ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
- $11 = ((($5)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ($12|0)!=(0);
- if ($13) {
-  $3 = 1;
-  $14 = $3;
-  STACKTOP = sp;return ($14|0);
- } else {
-  $3 = 0;
-  $14 = $3;
-  STACKTOP = sp;return ($14|0);
- }
- return (0)|0;
-}
-function _mrb_init_object($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $5 = $1;
- $6 = $1;
- $7 = ((($6)) + 32|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = (_mrb_define_class($5,55328,$8)|0);
- $2 = $9;
- $10 = $1;
- $11 = ((($10)) + 76|0);
- HEAP32[$11>>2] = $9;
- $12 = $1;
- $13 = $2;
- _mrb_undef_class_method($12,$13,67982);
- $14 = $1;
- $15 = $2;
- _mrb_define_method($14,$15,69093,71,262144);
- $16 = $1;
- $17 = $2;
- _mrb_define_method($16,$17,59555,72,262144);
- $18 = $1;
- $19 = $2;
- _mrb_define_method($18,$19,59553,73,262144);
- $20 = $1;
- $21 = $2;
- _mrb_define_method($20,$21,68558,74,0);
- $22 = $1;
- $23 = $2;
- _mrb_define_method($22,$23,69276,75,0);
- $24 = $1;
- $25 = $2;
- _mrb_define_method($24,$25,69281,76,0);
- $26 = $1;
- $27 = $1;
- $28 = ((($27)) + 32|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = (_mrb_define_class($26,55337,$29)|0);
- $3 = $30;
- $31 = $1;
- $32 = ((($31)) + 68|0);
- HEAP32[$32>>2] = $30;
- $33 = $1;
- $34 = $3;
- _mrb_undef_class_method($33,$34,67982);
- $35 = $1;
- $36 = $3;
- _mrb_define_method($35,$36,69093,77,262144);
- $37 = $1;
- $38 = $3;
- _mrb_define_method($37,$38,59555,78,262144);
- $39 = $1;
- $40 = $3;
- _mrb_define_method($39,$40,69276,79,0);
- $41 = $1;
- $42 = $3;
- _mrb_define_method($41,$42,59553,80,262144);
- $43 = $1;
- $44 = $3;
- _mrb_define_method($43,$44,69281,79,0);
- $45 = $1;
- $46 = $1;
- $47 = ((($46)) + 32|0);
- $48 = HEAP32[$47>>2]|0;
- $49 = (_mrb_define_class($45,55347,$48)|0);
- $4 = $49;
- $50 = $1;
- $51 = ((($50)) + 72|0);
- HEAP32[$51>>2] = $49;
- $52 = $1;
- $53 = $4;
- _mrb_undef_class_method($52,$53,67982);
- $54 = $1;
- $55 = $4;
- _mrb_define_method($54,$55,69093,71,262144);
- $56 = $1;
- $57 = $4;
- _mrb_define_method($56,$57,59555,72,262144);
- $58 = $1;
- $59 = $4;
- _mrb_define_method($58,$59,69276,81,0);
- $60 = $1;
- $61 = $4;
- _mrb_define_method($60,$61,59553,73,262144);
- $62 = $1;
- $63 = $4;
- _mrb_define_method($62,$63,69281,81,0);
- STACKTOP = sp;return;
-}
-function _false_and($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- _mrb_false_value_190($0);
- STACKTOP = sp;return;
-}
-function _false_xor($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,55358,$vararg_buffer)|0);
- $6 = HEAP8[$4>>0]|0;
- _mrb_bool_value_188($0,$6);
- STACKTOP = sp;return;
-}
-function _false_or($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,55358,$vararg_buffer)|0);
- $6 = HEAP8[$4>>0]|0;
- _mrb_bool_value_188($0,$6);
- STACKTOP = sp;return;
-}
-function _mrb_true($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- _mrb_true_value_185($0);
- STACKTOP = sp;return;
-}
-function _nil_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- _mrb_str_new($0,$4,0,0);
- STACKTOP = sp;return;
-}
-function _nil_inspect($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- _mrb_str_new_static($0,$4,63694,3);
- STACKTOP = sp;return;
-}
-function _true_and($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,55358,$vararg_buffer)|0);
- $6 = HEAP8[$4>>0]|0;
- _mrb_bool_value_188($0,$6);
- STACKTOP = sp;return;
-}
-function _true_xor($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,55358,$vararg_buffer)|0);
- $6 = HEAP8[$4>>0]|0;
- $7 = ($6<<24>>24)!=(0);
- $8 = $7 ^ 1;
- $9 = $8&1;
- $10 = $9&255;
- _mrb_bool_value_188($0,$10);
- STACKTOP = sp;return;
-}
-function _true_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- _mrb_str_new_static($0,$4,63733,4);
- STACKTOP = sp;return;
-}
-function _true_or($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- _mrb_true_value_185($0);
- STACKTOP = sp;return;
-}
-function _false_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- _mrb_str_new_static($0,$4,63709,5);
- STACKTOP = sp;return;
-}
-function _mrb_true_value_185($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 2;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_bool_value_188($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- $7 = $6 ? 2 : 0;
- $8 = ((($3)) + 4|0);
- HEAP32[$8>>2] = $7;
- HEAP32[$3>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_false_value_190($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _convert_type($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy3 = sp + 64|0;
- $$byval_copy2 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $vararg_buffer = sp;
- $11 = sp + 24|0;
- $12 = sp + 16|0;
- $6 = $1;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = 0;
- $13 = $6;
- $14 = $8;
- $15 = (_mrb_intern_cstr($13,$14)|0);
- $10 = $15;
- $16 = $6;
- $17 = $10;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $18 = (_mrb_respond_to($16,$$byval_copy,$17)|0);
- $19 = ($18<<24>>24)!=(0);
- if ($19) {
-  $28 = $6;
-  $29 = $10;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_funcall_argv($0,$28,$$byval_copy3,$29,0,0);
-  STACKTOP = sp;return;
- }
- $20 = $9;
- $21 = ($20<<24>>24)!=(0);
- if ($21) {
-  $22 = $6;
-  $23 = $6;
-  $24 = (_mrb_class_get($23,69204)|0);
-  $25 = $6;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-  _inspect_type($11,$25,$$byval_copy2);
-  $26 = $6;
-  $27 = $7;
-  _mrb_str_new_cstr($12,$26,$27);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$11+7>>0]|0;
-  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
-  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$12+7>>0]|0;
-  _mrb_raisef($22,$24,55368,$vararg_buffer);
-  // unreachable;
- }
- _mrb_nil_value_192($0);
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_192($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _inspect_type($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = ((($2)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- $6 = ($5|0)==(0);
- if (!($6)) {
-  $7 = ((($2)) + 4|0);
-  $8 = HEAP32[$7>>2]|0;
-  $9 = ($8|0)==(2);
-  if (!($9)) {
-   $11 = $3;
-   $12 = $3;
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-   $13 = (_mrb_obj_classname($12,$$byval_copy1)|0);
-   _mrb_str_new_cstr($0,$11,$13);
-   STACKTOP = sp;return;
-  }
- }
- $10 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_inspect($0,$10,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_inspect($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_funcall($4,$6,$$byval_copy,69281,0,$vararg_buffer);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_obj_as_string($0,$5,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _mrb_convert_type($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $30 = 0, $31 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy = sp + 72|0;
- $vararg_buffer = sp;
- $10 = sp + 48|0;
- $11 = sp + 40|0;
- $12 = sp + 32|0;
- $13 = sp + 24|0;
- $6 = $1;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $14 = ((($2)) + 4|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = $7;
- $17 = ($15|0)==($16|0);
- if ($17) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $18 = $6;
- $19 = $8;
- $20 = $9;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _convert_type($11,$18,$$byval_copy,$19,$20,1);
- ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
- $21 = ((($10)) + 4|0);
- $22 = HEAP32[$21>>2]|0;
- $23 = $7;
- $24 = ($22|0)!=($23|0);
- if ($24) {
-  $25 = $6;
-  $26 = $6;
-  $27 = (_mrb_class_get($26,69204)|0);
-  $28 = $6;
-  $29 = $8;
-  _mrb_str_new_cstr($12,$28,$29);
-  $30 = $6;
-  $31 = $9;
-  _mrb_str_new_cstr($13,$30,$31);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
-  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
-  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$12+7>>0]|0;
-  $vararg_ptr2 = ((($vararg_buffer)) + 16|0);
-  ;HEAP8[$vararg_ptr2>>0]=HEAP8[$13>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$13+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$13+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$13+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$13+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$13+7>>0]|0;
-  _mrb_raisef($25,$27,55393,$vararg_buffer);
-  // unreachable;
- }
- ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_check_convert_type($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $10 = sp + 8|0;
- $11 = sp;
- $6 = $1;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $12 = ((($2)) + 4|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $7;
- $15 = ($13|0)==($14|0);
- $16 = $7;
- $17 = ($16|0)!=(21);
- $or$cond = $15 & $17;
- if ($or$cond) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $18 = $6;
- $19 = $8;
- $20 = $9;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _convert_type($11,$18,$$byval_copy,$19,$20,0);
- ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
- $21 = ((($10)) + 4|0);
- $22 = HEAP32[$21>>2]|0;
- $23 = ($22|0)==(0);
- if ($23) {
-  $24 = HEAP32[$10>>2]|0;
-  $25 = ($24|0)!=(0);
-  if ($25) {
-   label = 5;
-  }
- } else {
-  label = 5;
- }
- if ((label|0) == 5) {
-  $26 = ((($10)) + 4|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = $7;
-  $29 = ($27|0)!=($28|0);
-  if (!($29)) {
-   ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- _mrb_nil_value_192($0);
- STACKTOP = sp;return;
-}
-function _mrb_check_type($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
- var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
- var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0;
- var $vararg_buffer3 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
- $$byval_copy9 = sp + 136|0;
- $$byval_copy8 = sp + 128|0;
- $$byval_copy7 = sp + 120|0;
- $$byval_copy = sp + 112|0;
- $vararg_buffer3 = sp + 16|0;
- $vararg_buffer = sp;
- $8 = sp + 80|0;
- $9 = sp + 72|0;
- $10 = sp + 64|0;
- $11 = sp + 56|0;
- $12 = sp + 48|0;
- $13 = sp + 40|0;
- $14 = sp + 32|0;
- $3 = $0;
- $4 = $2;
- $5 = 56;
- $15 = ((($1)) + 4|0);
- $16 = HEAP32[$15>>2]|0;
- $6 = $16;
- $17 = $6;
- $18 = $4;
- $19 = ($17|0)!=($18|0);
- $20 = $6;
- $21 = ($20|0)==(21);
- $or$cond = $19 | $21;
- if (!($or$cond)) {
-  STACKTOP = sp;return;
- }
- while(1) {
-  $22 = $5;
-  $23 = HEAP8[$22>>0]|0;
-  $24 = $23&255;
-  $25 = ($24|0)<(23);
-  if (!($25)) {
-   label = 19;
-   break;
-  }
-  $26 = $5;
-  $27 = HEAP8[$26>>0]|0;
-  $28 = $27&255;
-  $29 = $4;
-  $30 = ($28|0)==($29|0);
-  if ($30) {
-   break;
-  }
-  $69 = $5;
-  $70 = ((($69)) + 8|0);
-  $5 = $70;
- }
- if ((label|0) == 19) {
-  $71 = $3;
-  $72 = $3;
-  $73 = (_mrb_class_get($72,69204)|0);
-  $74 = $4;
-  _mrb_fixnum_value_201($13,$74);
-  $75 = ((($1)) + 4|0);
-  $76 = HEAP32[$75>>2]|0;
-  _mrb_fixnum_value_201($14,$76);
-  ;HEAP8[$vararg_buffer3>>0]=HEAP8[$13>>0]|0;HEAP8[$vararg_buffer3+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$vararg_buffer3+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$vararg_buffer3+3>>0]=HEAP8[$13+3>>0]|0;HEAP8[$vararg_buffer3+4>>0]=HEAP8[$13+4>>0]|0;HEAP8[$vararg_buffer3+5>>0]=HEAP8[$13+5>>0]|0;HEAP8[$vararg_buffer3+6>>0]=HEAP8[$13+6>>0]|0;HEAP8[$vararg_buffer3+7>>0]=HEAP8[$13+7>>0]|0;
-  $vararg_ptr6 = ((($vararg_buffer3)) + 8|0);
-  ;HEAP8[$vararg_ptr6>>0]=HEAP8[$14>>0]|0;HEAP8[$vararg_ptr6+1>>0]=HEAP8[$14+1>>0]|0;HEAP8[$vararg_ptr6+2>>0]=HEAP8[$14+2>>0]|0;HEAP8[$vararg_ptr6+3>>0]=HEAP8[$14+3>>0]|0;HEAP8[$vararg_ptr6+4>>0]=HEAP8[$14+4>>0]|0;HEAP8[$vararg_ptr6+5>>0]=HEAP8[$14+5>>0]|0;HEAP8[$vararg_ptr6+6>>0]=HEAP8[$14+6>>0]|0;HEAP8[$vararg_ptr6+7>>0]=HEAP8[$14+7>>0]|0;
-  _mrb_raisef($71,$73,55436,$vararg_buffer3);
-  // unreachable;
- }
- $31 = ((($1)) + 4|0);
- $32 = HEAP32[$31>>2]|0;
- $33 = ($32|0)==(0);
- if ($33) {
-  $34 = HEAP32[$1>>2]|0;
-  $35 = ($34|0)!=(0);
-  if ($35) {
-   label = 7;
-  } else {
-   $7 = 63694;
-  }
- } else {
-  label = 7;
- }
- do {
-  if ((label|0) == 7) {
-   $36 = ((($1)) + 4|0);
-   $37 = HEAP32[$36>>2]|0;
-   $38 = ($37|0)==(3);
-   if ($38) {
-    $7 = 55429;
-    break;
-   }
-   $39 = ((($1)) + 4|0);
-   $40 = HEAP32[$39>>2]|0;
-   $41 = ($40|0)==(4);
-   if ($41) {
-    $7 = 56484;
-    break;
-   }
-   $42 = ((($1)) + 4|0);
-   $43 = HEAP32[$42>>2]|0;
-   $44 = ($43>>>0)<(8);
-   $45 = $3;
-   if (!($44)) {
-    ;HEAP32[$$byval_copy9>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$1+4>>2]|0;
-    $59 = (_mrb_obj_classname($45,$$byval_copy9)|0);
-    $7 = $59;
-    break;
-   }
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
-   _mrb_obj_as_string($8,$45,$$byval_copy);
-   $46 = HEAP32[$8>>2]|0;
-   $47 = HEAP32[$46>>2]|0;
-   $48 = $47 >>> 11;
-   $49 = $48 & 8;
-   $50 = ($49|0)!=(0);
-   $51 = $3;
-   if ($50) {
-    ;HEAP32[$$byval_copy7>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$1+4>>2]|0;
-    _mrb_obj_as_string($9,$51,$$byval_copy7);
-    $52 = HEAP32[$9>>2]|0;
-    $53 = ((($52)) + 12|0);
-    $58 = $53;
-   } else {
-    ;HEAP32[$$byval_copy8>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$1+4>>2]|0;
-    _mrb_obj_as_string($10,$51,$$byval_copy8);
-    $54 = HEAP32[$10>>2]|0;
-    $55 = ((($54)) + 12|0);
-    $56 = ((($55)) + 8|0);
-    $57 = HEAP32[$56>>2]|0;
-    $58 = $57;
-   }
-   $7 = $58;
-  }
- } while(0);
- $60 = $3;
- $61 = $3;
- $62 = (_mrb_class_get($61,69204)|0);
- $63 = $3;
- $64 = $7;
- _mrb_str_new_cstr($11,$63,$64);
- $65 = $3;
- $66 = $5;
- $67 = ((($66)) + 4|0);
- $68 = HEAP32[$67>>2]|0;
- _mrb_str_new_cstr($12,$65,$68);
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$11+7>>0]|0;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- ;HEAP8[$vararg_ptr2>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$12+7>>0]|0;
- _mrb_raisef($60,$62,68087,$vararg_buffer);
- // unreachable;
-}
-function _mrb_fixnum_value_201($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_any_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
- $$byval_copy6 = sp + 112|0;
- $$byval_copy5 = sp + 104|0;
- $$byval_copy4 = sp + 96|0;
- $$byval_copy3 = sp + 88|0;
- $$byval_copy2 = sp + 80|0;
- $$byval_copy1 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $4 = sp + 48|0;
- $6 = sp + 32|0;
- $7 = sp + 24|0;
- $8 = sp + 16|0;
- $9 = sp + 8|0;
- $10 = sp;
- $3 = $1;
- $11 = $3;
- _mrb_str_buf_new($4,$11,20);
- $12 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $13 = (_mrb_obj_classname($12,$$byval_copy)|0);
- $5 = $13;
- $14 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_cat($6,$14,$$byval_copy1,55493,2);
- $15 = $3;
- $16 = $5;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_cat_cstr($7,$15,$$byval_copy2,$16);
- $17 = $3;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_cat($8,$17,$$byval_copy3,68074,1);
- $18 = $3;
- $19 = $3;
- $20 = HEAP32[$2>>2]|0;
- _mrb_ptr_to_str($9,$19,$20);
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$9+4>>2]|0;
- _mrb_str_concat($18,$$byval_copy4,$$byval_copy5);
- $21 = $3;
- ;HEAP32[$$byval_copy6>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_cat($10,$21,$$byval_copy6,65540,1);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_obj_is_kind_of($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $4 = $0;
- $5 = $2;
- $7 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $8 = (_mrb_class($7,$$byval_copy)|0);
- $6 = $8;
- $9 = $5;
- $10 = HEAP32[$9>>2]|0;
- $11 = $10 & 255;
- $$off = (($11) + -9)|0;
- $switch = ($$off>>>0)<(3);
- if (!($switch)) {
-  $12 = $4;
-  $13 = $4;
-  $14 = (_mrb_class_get($13,69204)|0);
-  _mrb_raise($12,$14,55496);
-  // unreachable;
- }
- $15 = $5;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 >>> 11;
- $18 = $17 & 524288;
- $19 = ($18|0)!=(0);
- L4: do {
-  if ($19) {
-   $20 = $5;
-   $21 = ((($20)) + 20|0);
-   $22 = HEAP32[$21>>2]|0;
-   $5 = $22;
-   while(1) {
-    $23 = $5;
-    $24 = HEAP32[$23>>2]|0;
-    $25 = $24 >>> 11;
-    $26 = $25 & 1048576;
-    $27 = ($26|0)!=(0);
-    $28 = $27 ^ 1;
-    if (!($28)) {
-     break L4;
-    }
-    $29 = $5;
-    $30 = ((($29)) + 20|0);
-    $31 = HEAP32[$30>>2]|0;
-    $5 = $31;
-   }
-  }
- } while(0);
- while(1) {
-  $32 = $6;
-  $33 = ($32|0)!=(0|0);
-  if (!($33)) {
-   label = 12;
-   break;
-  }
-  $34 = $6;
-  $35 = $5;
-  $36 = ($34|0)==($35|0);
-  if ($36) {
-   label = 10;
-   break;
-  }
-  $37 = $6;
-  $38 = ((($37)) + 16|0);
-  $39 = HEAP32[$38>>2]|0;
-  $40 = $5;
-  $41 = ((($40)) + 16|0);
-  $42 = HEAP32[$41>>2]|0;
-  $43 = ($39|0)==($42|0);
-  if ($43) {
-   label = 10;
-   break;
-  }
-  $44 = $6;
-  $45 = ((($44)) + 20|0);
-  $46 = HEAP32[$45>>2]|0;
-  $6 = $46;
- }
- if ((label|0) == 10) {
-  $3 = 1;
-  $47 = $3;
-  STACKTOP = sp;return ($47|0);
- }
- else if ((label|0) == 12) {
-  $3 = 0;
-  $47 = $3;
-  STACKTOP = sp;return ($47|0);
- }
- return (0)|0;
-}
-function _mrb_class($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = ((($1)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- L1: do {
-  switch ($5|0) {
-  case 0:  {
-   $6 = HEAP32[$1>>2]|0;
-   $7 = ($6|0)!=(0);
-   $8 = $3;
-   if ($7) {
-    $9 = ((($8)) + 72|0);
-    $10 = HEAP32[$9>>2]|0;
-    $2 = $10;
-    break L1;
-   } else {
-    $11 = ((($8)) + 76|0);
-    $12 = HEAP32[$11>>2]|0;
-    $2 = $12;
-    break L1;
-   }
-   break;
-  }
-  case 2:  {
-   $13 = $3;
-   $14 = ((($13)) + 68|0);
-   $15 = HEAP32[$14>>2]|0;
-   $2 = $15;
-   break;
-  }
-  case 4:  {
-   $16 = $3;
-   $17 = ((($16)) + 80|0);
-   $18 = HEAP32[$17>>2]|0;
-   $2 = $18;
-   break;
-  }
-  case 3:  {
-   $19 = $3;
-   $20 = ((($19)) + 64|0);
-   $21 = HEAP32[$20>>2]|0;
-   $2 = $21;
-   break;
-  }
-  case 6:  {
-   $22 = $3;
-   $23 = ((($22)) + 60|0);
-   $24 = HEAP32[$23>>2]|0;
-   $2 = $24;
-   break;
-  }
-  case 7:  {
-   $25 = $3;
-   $26 = ((($25)) + 32|0);
-   $27 = HEAP32[$26>>2]|0;
-   $2 = $27;
-   break;
-  }
-  case 20:  {
-   $2 = 0;
-   break;
-  }
-  default: {
-   $28 = HEAP32[$1>>2]|0;
-   $29 = ((($28)) + 4|0);
-   $30 = HEAP32[$29>>2]|0;
-   $2 = $30;
-  }
-  }
- } while(0);
- $31 = $2;
- STACKTOP = sp;return ($31|0);
-}
-function _mrb_to_int($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_to_integer($0,$4,$$byval_copy,55521);
- STACKTOP = sp;return;
-}
-function _mrb_to_integer($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy6 = sp + 104|0;
- $$byval_copy5 = sp + 96|0;
- $$byval_copy4 = sp + 88|0;
- $$byval_copy = sp + 80|0;
- $vararg_buffer = sp;
- $6 = sp + 64|0;
- $7 = sp + 56|0;
- $8 = sp + 48|0;
- $9 = sp + 40|0;
- $10 = sp + 32|0;
- $4 = $1;
- $5 = $3;
- $11 = ((($2)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ($12|0)==(3);
- if ($13) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $14 = $4;
- $15 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _convert_type($7,$14,$$byval_copy,55360,$15,1);
- ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;
- $16 = $4;
- $17 = $4;
- $18 = ((($17)) + 64|0);
- $19 = HEAP32[$18>>2]|0;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$6+4>>2]|0;
- $20 = (_mrb_obj_is_kind_of($16,$$byval_copy4,$19)|0);
- $21 = ($20<<24>>24)!=(0);
- if (!($21)) {
-  $22 = $4;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
-  _inspect_type($8,$22,$$byval_copy5);
-  $23 = $4;
-  $24 = $4;
-  $25 = (_mrb_class_get($24,69204)|0);
-  $26 = $4;
-  $27 = $5;
-  _mrb_str_new_cstr($9,$26,$27);
-  $28 = $4;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$6+4>>2]|0;
-  _inspect_type($10,$28,$$byval_copy6);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$8+7>>0]|0;
-  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
-  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$8+7>>0]|0;
-  $vararg_ptr2 = ((($vararg_buffer)) + 16|0);
-  ;HEAP8[$vararg_ptr2>>0]=HEAP8[$9>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$9+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$9+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$9+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$9+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$9+7>>0]|0;
-  $vararg_ptr3 = ((($vararg_buffer)) + 24|0);
-  ;HEAP8[$vararg_ptr3>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_ptr3+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_ptr3+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_ptr3+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_ptr3+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_ptr3+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_ptr3+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_ptr3+7>>0]=HEAP8[$10+7>>0]|0;
-  _mrb_raisef($23,$25,55528,$vararg_buffer);
-  // unreachable;
- }
- ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_convert_to_integer($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0;
- var $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
- var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy4 = sp + 64|0;
- $$byval_copy3 = sp + 56|0;
- $$byval_copy2 = sp + 48|0;
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $6 = sp + 16|0;
- $7 = sp + 8|0;
- $8 = sp;
- $4 = $1;
- $5 = $3;
- $9 = ((($2)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(0);
- if ($11) {
-  $12 = HEAP32[$2>>2]|0;
-  $13 = ($12|0)!=(0);
-  if (!($13)) {
-   $14 = $5;
-   $15 = ($14|0)!=(0);
-   if ($15) {
-    $40 = $4;
-    $41 = $4;
-    $42 = (_mrb_class_get($41,69160)|0);
-    _mrb_raise($40,$42,55604);
-    // unreachable;
-   } else {
-    $16 = $4;
-    $17 = $4;
-    $18 = (_mrb_class_get($17,69204)|0);
-    _mrb_raise($16,$18,55573);
-    // unreachable;
-   }
-  }
- }
- $19 = ((($2)) + 4|0);
- $20 = HEAP32[$19>>2]|0;
- switch ($20|0) {
- case 6:  {
-  label = 6;
-  break;
- }
- case 3:  {
-  $28 = $5;
-  $29 = ($28|0)!=(0);
-  if ($29) {
-   $40 = $4;
-   $41 = $4;
-   $42 = (_mrb_class_get($41,69160)|0);
-   _mrb_raise($40,$42,55604);
-   // unreachable;
-  }
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
-  break;
- }
- case 16:  {
-  break;
- }
- default: {
-  label = 13;
- }
- }
- do {
-  if ((label|0) == 6) {
-   $21 = $5;
-   $22 = ($21|0)!=(0);
-   if ($22) {
-    $40 = $4;
-    $41 = $4;
-    $42 = (_mrb_class_get($41,69160)|0);
-    _mrb_raise($40,$42,55604);
-    // unreachable;
-   }
-   $23 = +HEAPF32[$2>>2];
-   $24 = $23 <= 2147483648.0;
-   if ($24) {
-    $25 = +HEAPF32[$2>>2];
-    $26 = $25 >= -2147483648.0;
-    if ($26) {
-     label = 13;
-     break;
-    }
-   }
-   $27 = $4;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-   _mrb_flo_to_fixnum($0,$27,$$byval_copy);
-   STACKTOP = sp;return;
-  }
- } while(0);
- do {
-  if ((label|0) == 13) {
-   $32 = $5;
-   $33 = ($32|0)!=(0);
-   $34 = $4;
-   if ($33) {
-    ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-    _mrb_check_string_type($7,$34,$$byval_copy2);
-    ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;
-    $35 = ((($6)) + 4|0);
-    $36 = HEAP32[$35>>2]|0;
-    $37 = ($36|0)==(0);
-    if (!($37)) {
-     break;
-    }
-    $38 = HEAP32[$6>>2]|0;
-    $39 = ($38|0)!=(0);
-    if ($39) {
-     break;
-    }
-    $40 = $4;
-    $41 = $4;
-    $42 = (_mrb_class_get($41,69160)|0);
-    _mrb_raise($40,$42,55604);
-    // unreachable;
-   }
-   ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
-   _convert_type($8,$34,$$byval_copy3,55360,55521,0);
-   ;HEAP32[$6>>2]=HEAP32[$8>>2]|0;HEAP32[$6+4>>2]=HEAP32[$8+4>>2]|0;
-   $43 = ((($6)) + 4|0);
-   $44 = HEAP32[$43>>2]|0;
-   $45 = ($44|0)==(0);
-   if ($45) {
-    $46 = HEAP32[$6>>2]|0;
-    $47 = ($46|0)!=(0);
-    if (!($47)) {
-     $48 = $4;
-     ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
-     _mrb_to_integer($0,$48,$$byval_copy4,56301);
-     STACKTOP = sp;return;
-    }
-   }
-   ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- } while(0);
- $30 = $4;
- $31 = $5;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_str_to_inum($0,$30,$$byval_copy1,$31,1);
- STACKTOP = sp;return;
-}
-function _mrb_Integer($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_convert_to_integer($0,$4,$$byval_copy,0);
- STACKTOP = sp;return;
-}
-function _mrb_eql($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy2 = sp + 40|0;
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $5 = sp + 8|0;
- $4 = $0;
- $6 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- $7 = (_mrb_obj_eq($6,$$byval_copy,$$byval_copy1)|0);
- $8 = ($7<<24>>24)!=(0);
- if ($8) {
-  $3 = 1;
-  $15 = $3;
-  STACKTOP = sp;return ($15|0);
- } else {
-  $9 = $4;
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0;
-  _mrb_funcall($5,$9,$$byval_copy2,69289,1,$vararg_buffer);
-  $10 = ((($5)) + 4|0);
-  $11 = HEAP32[$10>>2]|0;
-  $12 = ($11|0)!=(0);
-  $13 = $12&1;
-  $14 = $13&255;
-  $3 = $14;
-  $15 = $3;
-  STACKTOP = sp;return ($15|0);
- }
- return (0)|0;
-}
-function _mrb_p($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 24|0;
- $$byval_copy = sp + 16|0;
- $3 = sp;
- $2 = $0;
- $4 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_inspect($3,$4,$$byval_copy);
- $5 = HEAP32[762]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
- _printstr($$byval_copy1,$5);
- STACKTOP = sp;return;
-}
-function _printstr($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $1;
- $3 = ((($0)) + 4|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ($4|0)==(16);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = HEAP32[$0>>2]|0;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7 >>> 11;
- $9 = $8 & 8;
- $10 = ($9|0)!=(0);
- $11 = HEAP32[$0>>2]|0;
- $12 = ((($11)) + 12|0);
- if ($10) {
-  $28 = $12;
- } else {
-  $13 = ((($12)) + 8|0);
-  $14 = HEAP32[$13>>2]|0;
-  $28 = $14;
- }
- $15 = HEAP32[$0>>2]|0;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 >>> 11;
- $18 = $17 & 8;
- $19 = ($18|0)!=(0);
- $20 = HEAP32[$0>>2]|0;
- if ($19) {
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $21 >>> 11;
-  $23 = $22 & 496;
-  $24 = $23 >> 4;
-  $29 = $24;
- } else {
-  $25 = ((($20)) + 12|0);
-  $26 = HEAP32[$25>>2]|0;
-  $29 = $26;
- }
- $27 = $2;
- (_fwrite($28,$29,1,$27)|0);
- $30 = $2;
- (_putc(10,$30)|0);
- STACKTOP = sp;return;
-}
-function _mrb_obj_value_234($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_show_version($0) {
- $0 = $0|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $2 = sp + 8|0;
- $3 = sp;
- $1 = $0;
- $4 = $1;
- $5 = $1;
- $6 = ((($5)) + 32|0);
- $7 = HEAP32[$6>>2]|0;
- _mrb_obj_value_234($3,$7);
- $8 = $1;
- $9 = (_mrb_intern_static($8,69483,17)|0);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_const_get($2,$4,$$byval_copy,$9);
- $10 = HEAP32[762]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- _printstr($$byval_copy1,$10);
- STACKTOP = sp;return;
-}
-function _mrb_show_copyright($0) {
- $0 = $0|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $2 = sp + 8|0;
- $3 = sp;
- $1 = $0;
- $4 = $1;
- $5 = $1;
- $6 = ((($5)) + 32|0);
- $7 = HEAP32[$6>>2]|0;
- _mrb_obj_value_234($3,$7);
- $8 = $1;
- $9 = (_mrb_intern_static($8,69550,15)|0);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_const_get($2,$4,$$byval_copy,$9);
- $10 = HEAP32[762]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- _printstr($$byval_copy1,$10);
- STACKTOP = sp;return;
-}
-function _mrb_open_core($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0;
- var stop = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $6 = $3;
- $7 = $4;
- $8 = (FUNCTION_TABLE_iiiii[$6 & 255](0,0,592,$7)|0);
- $5 = $8;
- $9 = $5;
- $10 = ($9|0)==(0|0);
- if ($10) {
-  $2 = 0;
-  $37 = $2;
-  STACKTOP = sp;return ($37|0);
- } else {
-  $11 = $5;
-  _memcpy(($11|0),(72748|0),592)|0;
-  $12 = $4;
-  $13 = $5;
-  $14 = ((($13)) + 8|0);
-  HEAP32[$14>>2] = $12;
-  $15 = $3;
-  $16 = $5;
-  $17 = ((($16)) + 4|0);
-  HEAP32[$17>>2] = $15;
-  $18 = $5;
-  $19 = ((($18)) + 588|0);
-  HEAP32[$19>>2] = 0;
-  $20 = $5;
-  $21 = $5;
-  $22 = ((($21)) + 92|0);
-  _mrb_gc_init($20,$22);
-  $23 = $5;
-  $24 = (_mrb_malloc($23,52)|0);
-  $25 = $5;
-  $26 = ((($25)) + 12|0);
-  HEAP32[$26>>2] = $24;
-  $27 = $5;
-  $28 = ((($27)) + 12|0);
-  $29 = HEAP32[$28>>2]|0;
-  dest=$29; src=73340; stop=dest+52|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
-  $30 = $5;
-  $31 = ((($30)) + 12|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = $5;
-  $34 = ((($33)) + 16|0);
-  HEAP32[$34>>2] = $32;
-  $35 = $5;
-  _mrb_init_core($35);
-  $36 = $5;
-  $2 = $36;
-  $37 = $2;
-  STACKTOP = sp;return ($37|0);
- }
- return (0)|0;
-}
-function _mrb_default_allocf($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $7;
- $10 = ($9|0)==(0);
- $11 = $6;
- if ($10) {
-  _free($11);
-  $4 = 0;
- } else {
-  $12 = $7;
-  $13 = (_realloc($11,$12)|0);
-  $4 = $13;
- }
- $14 = $4;
- STACKTOP = sp;return ($14|0);
-}
-function _mrb_alloca($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = $3;
- $7 = (4 + ($6))|0;
- $8 = (_mrb_malloc($5,$7)|0);
- $4 = $8;
- $9 = $2;
- $10 = ((($9)) + 88|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = $4;
- HEAP32[$12>>2] = $11;
- $13 = $4;
- $14 = $2;
- $15 = ((($14)) + 88|0);
- HEAP32[$15>>2] = $13;
- $16 = $4;
- $17 = ((($16)) + 4|0);
- STACKTOP = sp;return ($17|0);
-}
-function _mrb_open() {
- var $0 = 0, $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = (_mrb_open_allocf(82,0,0)|0);
- $0 = $1;
- $2 = $0;
- STACKTOP = sp;return ($2|0);
-}
-function _mrb_open_allocf($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $8 = $4;
- $9 = $5;
- $10 = (_mrb_open_core($8,$9)|0);
- $7 = $10;
- $11 = $7;
- $12 = ($11|0)==(0|0);
- if ($12) {
-  $3 = 0;
-  $18 = $3;
-  STACKTOP = sp;return ($18|0);
- }
- $13 = $6;
- $14 = ($13<<24>>24)!=(0);
- if (!($14)) {
-  $15 = $7;
-  _mrb_init_mrbgems($15);
-  $16 = $7;
-  _mrb_gc_arena_restore($16,0);
- }
- $17 = $7;
- $3 = $17;
- $18 = $3;
- STACKTOP = sp;return ($18|0);
-}
-function _mrb_irep_incref($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 56|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (($6) + 1)|0;
- HEAP32[$5>>2] = $7;
- STACKTOP = sp;return;
-}
-function _mrb_irep_decref($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 56|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (($6) + -1)|0;
- HEAP32[$5>>2] = $7;
- $8 = $3;
- $9 = ((($8)) + 56|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(0);
- if (!($11)) {
-  STACKTOP = sp;return;
- }
- $12 = $2;
- $13 = $3;
- _mrb_irep_free($12,$13);
- STACKTOP = sp;return;
-}
-function _mrb_irep_free($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $3;
- $6 = ((($5)) + 4|0);
- $7 = HEAP8[$6>>0]|0;
- $8 = $7&255;
- $9 = $8 & 1;
- $10 = ($9|0)!=(0);
- if (!($10)) {
-  $11 = $2;
-  $12 = $3;
-  $13 = ((($12)) + 8|0);
-  $14 = HEAP32[$13>>2]|0;
-  _mrb_free($11,$14);
- }
- $4 = 0;
- while(1) {
-  $15 = $4;
-  $16 = $3;
-  $17 = ((($16)) + 44|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = ($15>>>0)<($18>>>0);
-  if (!($19)) {
-   break;
-  }
-  $20 = $3;
-  $21 = ((($20)) + 12|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $4;
-  $24 = (($22) + ($23<<3)|0);
-  $25 = ((($24)) + 4|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = ($26|0)==(16);
-  if ($27) {
-   $28 = $2;
-   $29 = $3;
-   $30 = ((($29)) + 12|0);
-   $31 = HEAP32[$30>>2]|0;
-   $32 = $4;
-   $33 = (($31) + ($32<<3)|0);
-   $34 = HEAP32[$33>>2]|0;
-   _mrb_gc_free_str($28,$34);
-   $35 = $2;
-   $36 = $3;
-   $37 = ((($36)) + 12|0);
-   $38 = HEAP32[$37>>2]|0;
-   $39 = $4;
-   $40 = (($38) + ($39<<3)|0);
-   $41 = HEAP32[$40>>2]|0;
-   _mrb_free($35,$41);
-  }
-  $42 = $4;
-  $43 = (($42) + 1)|0;
-  $4 = $43;
- }
- $44 = $2;
- $45 = $3;
- $46 = ((($45)) + 12|0);
- $47 = HEAP32[$46>>2]|0;
- _mrb_free($44,$47);
- $48 = $2;
- $49 = $3;
- $50 = ((($49)) + 16|0);
- $51 = HEAP32[$50>>2]|0;
- _mrb_free($48,$51);
- $4 = 0;
- while(1) {
-  $52 = $4;
-  $53 = $3;
-  $54 = ((($53)) + 52|0);
-  $55 = HEAP32[$54>>2]|0;
-  $56 = ($52>>>0)<($55>>>0);
-  $57 = $2;
-  $58 = $3;
-  $59 = ((($58)) + 20|0);
-  $60 = HEAP32[$59>>2]|0;
-  if (!($56)) {
-   break;
-  }
-  $61 = $4;
-  $62 = (($60) + ($61<<2)|0);
-  $63 = HEAP32[$62>>2]|0;
-  _mrb_irep_decref($57,$63);
-  $64 = $4;
-  $65 = (($64) + 1)|0;
-  $4 = $65;
- }
- _mrb_free($57,$60);
- $66 = $2;
- $67 = $3;
- $68 = ((($67)) + 24|0);
- $69 = HEAP32[$68>>2]|0;
- _mrb_free($66,$69);
- $70 = $2;
- $71 = $3;
- $72 = ((($71)) + 28|0);
- $73 = HEAP32[$72>>2]|0;
- _mrb_free($70,$73);
- $74 = $2;
- $75 = $3;
- $76 = ((($75)) + 32|0);
- $77 = HEAP32[$76>>2]|0;
- _mrb_free($74,$77);
- $78 = $2;
- $79 = $3;
- $80 = ((($79)) + 36|0);
- $81 = HEAP32[$80>>2]|0;
- _mrb_debug_info_free($78,$81);
- $82 = $2;
- $83 = $3;
- _mrb_free($82,$83);
- STACKTOP = sp;return;
-}
-function _mrb_str_pool($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
- var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $14 = 0, $15 = 0;
- var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
- var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
- var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
- var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
- var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $1;
- $9 = HEAP32[$2>>2]|0;
- $4 = $9;
- $10 = $3;
- $11 = (_mrb_malloc($10,24)|0);
- $5 = $11;
- $12 = $5;
- $13 = HEAP32[$12>>2]|0;
- $14 = $13 & -256;
- $15 = $14 | 16;
- HEAP32[$12>>2] = $15;
- $16 = $3;
- $17 = ((($16)) + 48|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = $5;
- $20 = ((($19)) + 4|0);
- HEAP32[$20>>2] = $18;
- $21 = $4;
- $22 = HEAP32[$21>>2]|0;
- $23 = $22 >>> 11;
- $24 = $23 & 2;
- $25 = ($24|0)!=(0);
- $26 = $5;
- $27 = HEAP32[$26>>2]|0;
- $28 = $27 & 2047;
- if ($25) {
-  $29 = $28 | 4096;
-  HEAP32[$26>>2] = $29;
-  $30 = $4;
-  $31 = ((($30)) + 12|0);
-  $32 = ((($31)) + 8|0);
-  $33 = HEAP32[$32>>2]|0;
-  $34 = $5;
-  $35 = ((($34)) + 12|0);
-  $36 = ((($35)) + 8|0);
-  HEAP32[$36>>2] = $33;
-  $37 = $4;
-  $38 = ((($37)) + 12|0);
-  $39 = HEAP32[$38>>2]|0;
-  $40 = $5;
-  $41 = ((($40)) + 12|0);
-  HEAP32[$41>>2] = $39;
-  $42 = $5;
-  $43 = ((($42)) + 12|0);
-  $44 = ((($43)) + 4|0);
-  HEAP32[$44>>2] = 0;
-  $132 = $5;
-  _mrb_obj_value_246($0,$132);
-  STACKTOP = sp;return;
- }
- HEAP32[$26>>2] = $28;
- $45 = $4;
- $46 = HEAP32[$45>>2]|0;
- $47 = $46 >>> 11;
- $48 = $47 & 8;
- $49 = ($48|0)!=(0);
- $50 = $4;
- $51 = ((($50)) + 12|0);
- if ($49) {
-  $6 = $51;
-  $52 = $4;
-  $53 = HEAP32[$52>>2]|0;
-  $54 = $53 >>> 11;
-  $55 = $54 & 496;
-  $56 = $55 >> 4;
-  $7 = $56;
- } else {
-  $57 = ((($51)) + 8|0);
-  $58 = HEAP32[$57>>2]|0;
-  $6 = $58;
-  $59 = $4;
-  $60 = ((($59)) + 12|0);
-  $61 = HEAP32[$60>>2]|0;
-  $7 = $61;
- }
- $62 = $7;
- $63 = ($62|0)<(11);
- if ($63) {
-  $64 = $5;
-  $65 = HEAP32[$64>>2]|0;
-  $66 = $65 >>> 11;
-  $67 = $66 | 8;
-  $68 = HEAP32[$64>>2]|0;
-  $69 = $67 & 2097151;
-  $70 = $69 << 11;
-  $71 = $68 & 2047;
-  $72 = $71 | $70;
-  HEAP32[$64>>2] = $72;
-  $73 = $7;
-  $8 = $73;
-  $74 = $5;
-  $75 = HEAP32[$74>>2]|0;
-  $76 = $75 >>> 11;
-  $77 = $76 & -497;
-  $78 = HEAP32[$74>>2]|0;
-  $79 = $77 & 2097151;
-  $80 = $79 << 11;
-  $81 = $78 & 2047;
-  $82 = $81 | $80;
-  HEAP32[$74>>2] = $82;
-  $83 = $8;
-  $84 = $83 << 4;
-  $85 = $5;
-  $86 = HEAP32[$85>>2]|0;
-  $87 = $86 >>> 11;
-  $88 = $87 | $84;
-  $89 = HEAP32[$85>>2]|0;
-  $90 = $88 & 2097151;
-  $91 = $90 << 11;
-  $92 = $89 & 2047;
-  $93 = $92 | $91;
-  HEAP32[$85>>2] = $93;
-  $94 = $6;
-  $95 = ($94|0)!=(0|0);
-  if ($95) {
-   $96 = $5;
-   $97 = ((($96)) + 12|0);
-   $98 = $6;
-   $99 = $7;
-   _memcpy(($97|0),($98|0),($99|0))|0;
-  }
-  $100 = $5;
-  $101 = ((($100)) + 12|0);
-  $102 = $7;
-  $103 = (($101) + ($102)|0);
-  $$sink = $103;
- } else {
-  $104 = $3;
-  $105 = $7;
-  $106 = (($105) + 1)|0;
-  $107 = (_mrb_malloc($104,$106)|0);
-  $108 = $5;
-  $109 = ((($108)) + 12|0);
-  $110 = ((($109)) + 8|0);
-  HEAP32[$110>>2] = $107;
-  $111 = $7;
-  $112 = $5;
-  $113 = ((($112)) + 12|0);
-  HEAP32[$113>>2] = $111;
-  $114 = $7;
-  $115 = $5;
-  $116 = ((($115)) + 12|0);
-  $117 = ((($116)) + 4|0);
-  HEAP32[$117>>2] = $114;
-  $118 = $6;
-  $119 = ($118|0)!=(0|0);
-  if ($119) {
-   $120 = $5;
-   $121 = ((($120)) + 12|0);
-   $122 = ((($121)) + 8|0);
-   $123 = HEAP32[$122>>2]|0;
-   $124 = $6;
-   $125 = $7;
-   _memcpy(($123|0),($124|0),($125|0))|0;
-  }
-  $126 = $5;
-  $127 = ((($126)) + 12|0);
-  $128 = ((($127)) + 8|0);
-  $129 = HEAP32[$128>>2]|0;
-  $130 = $7;
-  $131 = (($129) + ($130)|0);
-  $$sink = $131;
- }
- HEAP8[$$sink>>0] = 0;
- $132 = $5;
- _mrb_obj_value_246($0,$132);
- STACKTOP = sp;return;
-}
-function _mrb_obj_value_246($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_free_context($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $2;
- $7 = $3;
- $8 = ((($7)) + 8|0);
- $9 = HEAP32[$8>>2]|0;
- _mrb_free($6,$9);
- $10 = $2;
- $11 = $3;
- $12 = ((($11)) + 20|0);
- $13 = HEAP32[$12>>2]|0;
- _mrb_free($10,$13);
- $14 = $2;
- $15 = $3;
- $16 = ((($15)) + 28|0);
- $17 = HEAP32[$16>>2]|0;
- _mrb_free($14,$17);
- $18 = $2;
- $19 = $3;
- $20 = ((($19)) + 36|0);
- $21 = HEAP32[$20>>2]|0;
- _mrb_free($18,$21);
- $22 = $2;
- $23 = $3;
- _mrb_free($22,$23);
- STACKTOP = sp;return;
-}
-function _mrb_close($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = ($3|0)!=(0|0);
- if (!($4)) {
-  STACKTOP = sp;return;
- }
- $5 = $1;
- $6 = ((($5)) + 588|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)>(0);
- if ($8) {
-  $9 = $1;
-  $10 = ((($9)) + 588|0);
-  $11 = HEAP32[$10>>2]|0;
-  $2 = $11;
-  while(1) {
-   $12 = $2;
-   $13 = ($12|0)>(0);
-   $14 = $1;
-   if (!($13)) {
-    break;
-   }
-   $15 = ((($14)) + 584|0);
-   $16 = HEAP32[$15>>2]|0;
-   $17 = $2;
-   $18 = (($17) - 1)|0;
-   $19 = (($16) + ($18<<2)|0);
-   $20 = HEAP32[$19>>2]|0;
-   $21 = $1;
-   FUNCTION_TABLE_vi[$20 & 511]($21);
-   $22 = $2;
-   $23 = (($22) + -1)|0;
-   $2 = $23;
-  }
-  $24 = $1;
-  $25 = ((($24)) + 584|0);
-  $26 = HEAP32[$25>>2]|0;
-  _mrb_free($14,$26);
- }
- $27 = $1;
- _mrb_gc_free_gv($27);
- $28 = $1;
- $29 = $1;
- $30 = ((($29)) + 16|0);
- $31 = HEAP32[$30>>2]|0;
- _mrb_free_context($28,$31);
- $32 = $1;
- _mrb_free_symtbl($32);
- $33 = $1;
- _mrb_alloca_free($33);
- $34 = $1;
- $35 = $1;
- $36 = ((($35)) + 92|0);
- _mrb_gc_destroy($34,$36);
- $37 = $1;
- $38 = $1;
- _mrb_free($37,$38);
- STACKTOP = sp;return;
-}
-function _mrb_alloca_free($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $4 = $1;
- $5 = ($4|0)==(0|0);
- if ($5) {
-  STACKTOP = sp;return;
- }
- $6 = $1;
- $7 = ((($6)) + 88|0);
- $8 = HEAP32[$7>>2]|0;
- $2 = $8;
- while(1) {
-  $9 = $2;
-  $10 = ($9|0)!=(0|0);
-  if (!($10)) {
-   break;
-  }
-  $11 = $2;
-  $3 = $11;
-  $12 = $2;
-  $13 = HEAP32[$12>>2]|0;
-  $2 = $13;
-  $14 = $1;
-  $15 = $3;
-  _mrb_free($14,$15);
- }
- STACKTOP = sp;return;
-}
-function _mrb_add_irep($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = (_mrb_malloc($3,60)|0);
- $2 = $4;
- $5 = $2;
- dest=$5; src=73392; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
- $6 = $2;
- $7 = ((($6)) + 56|0);
- HEAP32[$7>>2] = 1;
- $8 = $2;
- STACKTOP = sp;return ($8|0);
-}
-function _mrb_top_self($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $1;
- $3 = $2;
- $4 = ((($3)) + 28|0);
- $5 = HEAP32[$4>>2]|0;
- $6 = ($5|0)!=(0|0);
- if ($6) {
-  $22 = $2;
-  $23 = ((($22)) + 28|0);
-  $24 = HEAP32[$23>>2]|0;
-  _mrb_obj_value_246($0,$24);
-  STACKTOP = sp;return;
- }
- $7 = $2;
- $8 = $2;
- $9 = ((($8)) + 32|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = (_mrb_obj_alloc($7,8,$10)|0);
- $12 = $2;
- $13 = ((($12)) + 28|0);
- HEAP32[$13>>2] = $11;
- $14 = $2;
- $15 = $2;
- $16 = ((($15)) + 28|0);
- $17 = HEAP32[$16>>2]|0;
- _mrb_define_singleton_method($14,$17,69281,83,0);
- $18 = $2;
- $19 = $2;
- $20 = ((($19)) + 28|0);
- $21 = HEAP32[$20>>2]|0;
- _mrb_define_singleton_method($18,$21,69276,83,0);
- $22 = $2;
- $23 = ((($22)) + 28|0);
- $24 = HEAP32[$23>>2]|0;
- _mrb_obj_value_246($0,$24);
- STACKTOP = sp;return;
-}
-function _inspect_main($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- _mrb_str_new_static($0,$4,55640,4);
- STACKTOP = sp;return;
-}
-function _mrb_str_buf_new($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $2;
- $6 = $3;
- $7 = $3;
- $8 = ((($7)) + 48|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = (_mrb_obj_alloc($6,16,$9)|0);
- $5 = $10;
- $11 = $4;
- $12 = ($11>>>0)>=(2147483647);
- if ($12) {
-  $13 = $3;
-  $14 = $3;
-  $15 = (_mrb_class_get($14,69160)|0);
-  _mrb_raise($13,$15,55682);
-  // unreachable;
- }
- $16 = $4;
- $17 = ($16>>>0)<(20);
- if ($17) {
-  $4 = 20;
- }
- $18 = $5;
- $19 = ((($18)) + 12|0);
- HEAP32[$19>>2] = 0;
- $20 = $4;
- $21 = $5;
- $22 = ((($21)) + 12|0);
- $23 = ((($22)) + 4|0);
- HEAP32[$23>>2] = $20;
- $24 = $3;
- $25 = $4;
- $26 = (($25) + 1)|0;
- $27 = (_mrb_malloc($24,$26)|0);
- $28 = $5;
- $29 = ((($28)) + 12|0);
- $30 = ((($29)) + 8|0);
- HEAP32[$30>>2] = $27;
- $31 = $5;
- $32 = HEAP32[$31>>2]|0;
- $33 = $32 >>> 11;
- $34 = $33 & 8;
- $35 = ($34|0)!=(0);
- $36 = $5;
- $37 = ((($36)) + 12|0);
- if ($35) {
-  $40 = $37;
-  HEAP8[$40>>0] = 0;
-  $41 = $5;
-  _mrb_obj_value_260($0,$41);
-  STACKTOP = sp;return;
- } else {
-  $38 = ((($37)) + 8|0);
-  $39 = HEAP32[$38>>2]|0;
-  $40 = $39;
-  HEAP8[$40>>0] = 0;
-  $41 = $5;
-  _mrb_obj_value_260($0,$41);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_obj_value_260($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_new($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $5;
- $9 = $6;
- $10 = (_str_new($7,$8,$9)|0);
- _mrb_obj_value_260($0,$10);
- STACKTOP = sp;return;
-}
-function _str_new($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
- var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $9 = $4;
- $10 = $4;
- $11 = ((($10)) + 48|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = (_mrb_obj_alloc($9,16,$12)|0);
- $7 = $13;
- $14 = $6;
- $15 = ($14>>>0)<(11);
- if ($15) {
-  $16 = $7;
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $17 >>> 11;
-  $19 = $18 | 8;
-  $20 = HEAP32[$16>>2]|0;
-  $21 = $19 & 2097151;
-  $22 = $21 << 11;
-  $23 = $20 & 2047;
-  $24 = $23 | $22;
-  HEAP32[$16>>2] = $24;
-  $25 = $6;
-  $8 = $25;
-  $26 = $7;
-  $27 = HEAP32[$26>>2]|0;
-  $28 = $27 >>> 11;
-  $29 = $28 & -497;
-  $30 = HEAP32[$26>>2]|0;
-  $31 = $29 & 2097151;
-  $32 = $31 << 11;
-  $33 = $30 & 2047;
-  $34 = $33 | $32;
-  HEAP32[$26>>2] = $34;
-  $35 = $8;
-  $36 = $35 << 4;
-  $37 = $7;
-  $38 = HEAP32[$37>>2]|0;
-  $39 = $38 >>> 11;
-  $40 = $39 | $36;
-  $41 = HEAP32[$37>>2]|0;
-  $42 = $40 & 2097151;
-  $43 = $42 << 11;
-  $44 = $41 & 2047;
-  $45 = $44 | $43;
-  HEAP32[$37>>2] = $45;
-  $46 = $5;
-  $47 = ($46|0)!=(0|0);
-  if ($47) {
-   $48 = $7;
-   $49 = ((($48)) + 12|0);
-   $50 = $5;
-   $51 = $6;
-   _memcpy(($49|0),($50|0),($51|0))|0;
-  }
- } else {
-  $52 = $6;
-  $53 = ($52>>>0)>=(2147483647);
-  if ($53) {
-   $54 = $4;
-   $55 = $4;
-   $56 = (_mrb_class_get($55,69160)|0);
-   _mrb_raise($54,$56,55711);
-   // unreachable;
-  }
-  $57 = $6;
-  $58 = $7;
-  $59 = ((($58)) + 12|0);
-  HEAP32[$59>>2] = $57;
-  $60 = $6;
-  $61 = $7;
-  $62 = ((($61)) + 12|0);
-  $63 = ((($62)) + 4|0);
-  HEAP32[$63>>2] = $60;
-  $64 = $4;
-  $65 = $6;
-  $66 = (($65) + 1)|0;
-  $67 = (_mrb_malloc($64,$66)|0);
-  $68 = $7;
-  $69 = ((($68)) + 12|0);
-  $70 = ((($69)) + 8|0);
-  HEAP32[$70>>2] = $67;
-  $71 = $5;
-  $72 = ($71|0)!=(0|0);
-  if ($72) {
-   $73 = $7;
-   $74 = ((($73)) + 12|0);
-   $75 = ((($74)) + 8|0);
-   $76 = HEAP32[$75>>2]|0;
-   $77 = $5;
-   $78 = $6;
-   _memcpy(($76|0),($77|0),($78|0))|0;
-  }
- }
- $79 = $7;
- $80 = HEAP32[$79>>2]|0;
- $81 = $80 >>> 11;
- $82 = $81 & 8;
- $83 = ($82|0)!=(0);
- $84 = $7;
- $85 = ((($84)) + 12|0);
- if ($83) {
-  $90 = $85;
-  $88 = $6;
-  $89 = (($90) + ($88)|0);
-  HEAP8[$89>>0] = 0;
-  $91 = $7;
-  $3 = $91;
-  $92 = $3;
-  STACKTOP = sp;return ($92|0);
- } else {
-  $86 = ((($85)) + 8|0);
-  $87 = HEAP32[$86>>2]|0;
-  $90 = $87;
-  $88 = $6;
-  $89 = (($90) + ($88)|0);
-  HEAP8[$89>>0] = 0;
-  $91 = $7;
-  $3 = $91;
-  $92 = $3;
-  STACKTOP = sp;return ($92|0);
- }
- return (0)|0;
-}
-function _str_new_static($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $5;
- $8 = ($7>>>0)>=(2147483647);
- $9 = $3;
- $10 = $3;
- if ($8) {
-  $11 = (_mrb_class_get($10,69160)|0);
-  _mrb_raise($9,$11,55711);
-  // unreachable;
- } else {
-  $12 = ((($10)) + 48|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = (_mrb_obj_alloc($9,16,$13)|0);
-  $6 = $14;
-  $15 = $5;
-  $16 = $6;
-  $17 = ((($16)) + 12|0);
-  HEAP32[$17>>2] = $15;
-  $18 = $6;
-  $19 = ((($18)) + 12|0);
-  $20 = ((($19)) + 4|0);
-  HEAP32[$20>>2] = 0;
-  $21 = $4;
-  $22 = $6;
-  $23 = ((($22)) + 12|0);
-  $24 = ((($23)) + 8|0);
-  HEAP32[$24>>2] = $21;
-  $25 = $6;
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $26 & 2047;
-  $28 = $27 | 4096;
-  HEAP32[$25>>2] = $28;
-  $29 = $6;
-  STACKTOP = sp;return ($29|0);
- }
- return (0)|0;
-}
-function _mrb_str_new_cstr($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $2;
- $7 = $4;
- $8 = ($7|0)!=(0|0);
- if ($8) {
-  $9 = $4;
-  $10 = (_strlen($9)|0);
-  $6 = $10;
- } else {
-  $6 = 0;
- }
- $11 = $3;
- $12 = $4;
- $13 = $6;
- $14 = (_str_new($11,$12,$13)|0);
- $5 = $14;
- $15 = $5;
- _mrb_obj_value_260($0,$15);
- STACKTOP = sp;return;
-}
-function _mrb_str_new_static($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $6;
- $11 = (_str_new_static($8,$9,$10)|0);
- $7 = $11;
- $12 = $7;
- _mrb_obj_value_260($0,$12);
- STACKTOP = sp;return;
-}
-function _mrb_gc_free_str($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 >>> 11;
- $7 = $6 & 8;
- $8 = ($7|0)!=(0);
- if ($8) {
-  STACKTOP = sp;return;
- }
- $9 = $3;
- $10 = HEAP32[$9>>2]|0;
- $11 = $10 >>> 11;
- $12 = $11 & 1;
- $13 = ($12|0)!=(0);
- if ($13) {
-  $14 = $2;
-  $15 = $3;
-  $16 = ((($15)) + 12|0);
-  $17 = ((($16)) + 4|0);
-  $18 = HEAP32[$17>>2]|0;
-  _str_decref($14,$18);
-  STACKTOP = sp;return;
- }
- $19 = $3;
- $20 = HEAP32[$19>>2]|0;
- $21 = $20 >>> 11;
- $22 = $21 & 2;
- $23 = ($22|0)!=(0);
- if ($23) {
-  STACKTOP = sp;return;
- }
- $24 = $2;
- $25 = $3;
- $26 = ((($25)) + 12|0);
- $27 = ((($26)) + 8|0);
- $28 = HEAP32[$27>>2]|0;
- _mrb_free($24,$28);
- STACKTOP = sp;return;
-}
-function _str_decref($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 4|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (($6) + -1)|0;
- HEAP32[$5>>2] = $7;
- $8 = $3;
- $9 = ((($8)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(0);
- if (!($11)) {
-  STACKTOP = sp;return;
- }
- $12 = $3;
- $13 = HEAP8[$12>>0]|0;
- $14 = $13 & 1;
- $15 = ($14<<24>>24)!=(0);
- if (!($15)) {
-  $16 = $2;
-  $17 = $3;
-  $18 = ((($17)) + 8|0);
-  $19 = HEAP32[$18>>2]|0;
-  _mrb_free($16,$19);
- }
- $20 = $2;
- $21 = $3;
- _mrb_free($20,$21);
- STACKTOP = sp;return;
-}
-function _mrb_str_strlen($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $8 = $4;
- $9 = HEAP32[$8>>2]|0;
- $10 = $9 >>> 11;
- $11 = $10 & 8;
- $12 = ($11|0)!=(0);
- $13 = $4;
- if ($12) {
-  $14 = HEAP32[$13>>2]|0;
-  $15 = $14 >>> 11;
-  $16 = $15 & 496;
-  $17 = $16 >> 4;
-  $20 = $17;
- } else {
-  $18 = ((($13)) + 12|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $19;
- }
- $6 = $20;
- $21 = $4;
- $22 = HEAP32[$21>>2]|0;
- $23 = $22 >>> 11;
- $24 = $23 & 8;
- $25 = ($24|0)!=(0);
- $26 = $4;
- $27 = ((($26)) + 12|0);
- if ($25) {
-  $30 = $27;
- } else {
-  $28 = ((($27)) + 8|0);
-  $29 = HEAP32[$28>>2]|0;
-  $30 = $29;
- }
- $7 = $30;
- $31 = $7;
- $32 = ($31|0)!=(0|0);
- if (!($32)) {
-  $2 = 0;
-  $48 = $2;
-  STACKTOP = sp;return ($48|0);
- }
- $5 = 0;
- while(1) {
-  $33 = $5;
-  $34 = $6;
-  $35 = ($33|0)<($34|0);
-  if (!($35)) {
-   break;
-  }
-  $36 = $7;
-  $37 = $5;
-  $38 = (($36) + ($37)|0);
-  $39 = HEAP8[$38>>0]|0;
-  $40 = $39 << 24 >> 24;
-  $41 = ($40|0)==(0);
-  if ($41) {
-   label = 12;
-   break;
-  }
-  $45 = $5;
-  $46 = (($45) + 1)|0;
-  $5 = $46;
- }
- if ((label|0) == 12) {
-  $42 = $3;
-  $43 = $3;
-  $44 = (_mrb_class_get($43,69160)|0);
-  _mrb_raise($42,$44,55731);
-  // unreachable;
- }
- $47 = $6;
- $2 = $47;
- $48 = $2;
- STACKTOP = sp;return ($48|0);
-}
-function _mrb_str_modify($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$sink7 = 0, $$sink9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
- var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
- var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
- var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $9 = $2;
- $10 = $3;
- _check_frozen($9,$10);
- $11 = $3;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 1;
- $15 = ($14|0)!=(0);
- $16 = $3;
- if ($15) {
-  $17 = ((($16)) + 12|0);
-  $18 = ((($17)) + 4|0);
-  $19 = HEAP32[$18>>2]|0;
-  $4 = $19;
-  $20 = $4;
-  $21 = ((($20)) + 4|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = ($22|0)==(1);
-  if ($23) {
-   $24 = $3;
-   $25 = ((($24)) + 12|0);
-   $26 = ((($25)) + 8|0);
-   $27 = HEAP32[$26>>2]|0;
-   $28 = $4;
-   $29 = ((($28)) + 8|0);
-   $30 = HEAP32[$29>>2]|0;
-   $31 = ($27|0)==($30|0);
-   if ($31) {
-    $32 = $4;
-    $33 = ((($32)) + 8|0);
-    $34 = HEAP32[$33>>2]|0;
-    $35 = $3;
-    $36 = ((($35)) + 12|0);
-    $37 = ((($36)) + 8|0);
-    HEAP32[$37>>2] = $34;
-    $38 = $4;
-    $39 = ((($38)) + 12|0);
-    $40 = HEAP32[$39>>2]|0;
-    $41 = $3;
-    $42 = ((($41)) + 12|0);
-    $43 = ((($42)) + 4|0);
-    HEAP32[$43>>2] = $40;
-    $44 = $3;
-    $45 = HEAP32[$44>>2]|0;
-    $46 = $45 >>> 11;
-    $47 = $46 & 8;
-    $48 = ($47|0)!=(0);
-    $49 = $3;
-    $50 = ((($49)) + 12|0);
-    if ($48) {
-     $57 = $50;
-    } else {
-     $51 = ((($50)) + 8|0);
-     $52 = HEAP32[$51>>2]|0;
-     $57 = $52;
-    }
-    $53 = $3;
-    $54 = ((($53)) + 12|0);
-    $55 = HEAP32[$54>>2]|0;
-    $56 = (($57) + ($55)|0);
-    HEAP8[$56>>0] = 0;
-    $58 = $2;
-    $59 = $4;
-    _mrb_free($58,$59);
-   } else {
-    label = 8;
-   }
-  } else {
-   label = 8;
-  }
-  if ((label|0) == 8) {
-   $60 = $3;
-   $61 = HEAP32[$60>>2]|0;
-   $62 = $61 >>> 11;
-   $63 = $62 & 8;
-   $64 = ($63|0)!=(0);
-   $65 = $3;
-   $66 = ((($65)) + 12|0);
-   if ($64) {
-    $69 = $66;
-   } else {
-    $67 = ((($66)) + 8|0);
-    $68 = HEAP32[$67>>2]|0;
-    $69 = $68;
-   }
-   $6 = $69;
-   $70 = $3;
-   $71 = ((($70)) + 12|0);
-   $72 = HEAP32[$71>>2]|0;
-   $7 = $72;
-   $73 = $2;
-   $74 = $7;
-   $75 = (($74) + 1)|0;
-   $76 = (_mrb_malloc($73,$75)|0);
-   $5 = $76;
-   $77 = $6;
-   $78 = ($77|0)!=(0|0);
-   if ($78) {
-    $79 = $5;
-    $80 = $6;
-    $81 = $7;
-    _memcpy(($79|0),($80|0),($81|0))|0;
-   }
-   $82 = $5;
-   $83 = $7;
-   $84 = (($82) + ($83)|0);
-   HEAP8[$84>>0] = 0;
-   $85 = $5;
-   $86 = $3;
-   $87 = ((($86)) + 12|0);
-   $88 = ((($87)) + 8|0);
-   HEAP32[$88>>2] = $85;
-   $89 = $7;
-   $90 = $3;
-   $91 = ((($90)) + 12|0);
-   $92 = ((($91)) + 4|0);
-   HEAP32[$92>>2] = $89;
-   $93 = $2;
-   $94 = $4;
-   _str_decref($93,$94);
-  }
-  $95 = $3;
-  $$sink7 = -2;$$sink9 = $95;
- } else {
-  $96 = HEAP32[$16>>2]|0;
-  $97 = $96 >>> 11;
-  $98 = $97 & 2;
-  $99 = ($98|0)!=(0);
-  if (!($99)) {
-   STACKTOP = sp;return;
-  }
-  $100 = $3;
-  $101 = ((($100)) + 12|0);
-  $102 = ((($101)) + 8|0);
-  $103 = HEAP32[$102>>2]|0;
-  $8 = $103;
-  $104 = $2;
-  $105 = $3;
-  $106 = ((($105)) + 12|0);
-  $107 = HEAP32[$106>>2]|0;
-  $108 = (($107) + 1)|0;
-  $109 = (_mrb_malloc($104,$108)|0);
-  $110 = $3;
-  $111 = ((($110)) + 12|0);
-  $112 = ((($111)) + 8|0);
-  HEAP32[$112>>2] = $109;
-  $113 = $8;
-  $114 = ($113|0)!=(0|0);
-  if ($114) {
-   $115 = $3;
-   $116 = HEAP32[$115>>2]|0;
-   $117 = $116 >>> 11;
-   $118 = $117 & 8;
-   $119 = ($118|0)!=(0);
-   $120 = $3;
-   $121 = ((($120)) + 12|0);
-   if ($119) {
-    $128 = $121;
-   } else {
-    $122 = ((($121)) + 8|0);
-    $123 = HEAP32[$122>>2]|0;
-    $128 = $123;
-   }
-   $124 = $8;
-   $125 = $3;
-   $126 = ((($125)) + 12|0);
-   $127 = HEAP32[$126>>2]|0;
-   _memcpy(($128|0),($124|0),($127|0))|0;
-  }
-  $129 = $3;
-  $130 = HEAP32[$129>>2]|0;
-  $131 = $130 >>> 11;
-  $132 = $131 & 8;
-  $133 = ($132|0)!=(0);
-  $134 = $3;
-  $135 = ((($134)) + 12|0);
-  if ($133) {
-   $142 = $135;
-  } else {
-   $136 = ((($135)) + 8|0);
-   $137 = HEAP32[$136>>2]|0;
-   $142 = $137;
-  }
-  $138 = $3;
-  $139 = ((($138)) + 12|0);
-  $140 = HEAP32[$139>>2]|0;
-  $141 = (($142) + ($140)|0);
-  HEAP8[$141>>0] = 0;
-  $143 = $3;
-  $144 = ((($143)) + 12|0);
-  $145 = HEAP32[$144>>2]|0;
-  $146 = $3;
-  $147 = ((($146)) + 12|0);
-  $148 = ((($147)) + 4|0);
-  HEAP32[$148>>2] = $145;
-  $149 = $3;
-  $$sink7 = -3;$$sink9 = $149;
- }
- $150 = HEAP32[$$sink9>>2]|0;
- $151 = $150 >>> 11;
- $152 = $151 & $$sink7;
- $153 = HEAP32[$$sink9>>2]|0;
- $154 = $152 & 2097151;
- $155 = $154 << 11;
- $156 = $153 & 2047;
- $157 = $156 | $155;
- HEAP32[$$sink9>>2] = $157;
- STACKTOP = sp;return;
-}
-function _check_frozen($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 >>> 11;
- $7 = $6 & 4;
- $8 = ($7|0)!=(0);
- if ($8) {
-  $9 = $2;
-  $10 = $2;
-  $11 = (_mrb_class_get($10,68266)|0);
-  _mrb_raise($9,$11,55757);
-  // unreachable;
- } else {
-  STACKTOP = sp;return;
- }
-}
-function _resize_capa($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$sink = 0, $$sink5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $4;
- $9 = HEAP32[$8>>2]|0;
- $10 = $9 >>> 11;
- $11 = $10 & 8;
- $12 = ($11|0)!=(0);
- do {
-  if ($12) {
-   $13 = $5;
-   $14 = (11)<($13|0);
-   if ($14) {
-    $15 = $3;
-    $16 = $5;
-    $17 = (($16) + 1)|0;
-    $18 = (_mrb_malloc($15,$17)|0);
-    $6 = $18;
-    $19 = $4;
-    $20 = HEAP32[$19>>2]|0;
-    $21 = $20 >>> 11;
-    $22 = $21 & 496;
-    $23 = $22 >> 4;
-    $7 = $23;
-    $24 = $6;
-    $25 = $4;
-    $26 = ((($25)) + 12|0);
-    $27 = $7;
-    _memcpy(($24|0),($26|0),($27|0))|0;
-    $28 = $4;
-    $29 = HEAP32[$28>>2]|0;
-    $30 = $29 >>> 11;
-    $31 = $30 & -505;
-    $32 = HEAP32[$28>>2]|0;
-    $33 = $31 & 2097151;
-    $34 = $33 << 11;
-    $35 = $32 & 2047;
-    $36 = $35 | $34;
-    HEAP32[$28>>2] = $36;
-    $37 = $6;
-    $38 = $4;
-    $39 = ((($38)) + 12|0);
-    $40 = ((($39)) + 8|0);
-    HEAP32[$40>>2] = $37;
-    $41 = $7;
-    $42 = $4;
-    $43 = ((($42)) + 12|0);
-    HEAP32[$43>>2] = $41;
-    $44 = $5;
-    $45 = $4;
-    $$sink = $44;$$sink5 = $45;
-    break;
-   } else {
-    STACKTOP = sp;return;
-   }
-  } else {
-   $46 = $3;
-   $47 = $4;
-   $48 = HEAP32[$47>>2]|0;
-   $49 = $48 >>> 11;
-   $50 = $49 & 8;
-   $51 = ($50|0)!=(0);
-   $52 = $4;
-   $53 = ((($52)) + 12|0);
-   if ($51) {
-    $58 = $53;
-   } else {
-    $54 = ((($53)) + 8|0);
-    $55 = HEAP32[$54>>2]|0;
-    $58 = $55;
-   }
-   $56 = $5;
-   $57 = (($56) + 1)|0;
-   $59 = (_mrb_realloc($46,$58,$57)|0);
-   $60 = $4;
-   $61 = ((($60)) + 12|0);
-   $62 = ((($61)) + 8|0);
-   HEAP32[$62>>2] = $59;
-   $63 = $5;
-   $64 = $4;
-   $$sink = $63;$$sink5 = $64;
-  }
- } while(0);
- $65 = ((($$sink5)) + 12|0);
- $66 = ((($65)) + 4|0);
- HEAP32[$66>>2] = $$sink;
- STACKTOP = sp;return;
-}
-function _mrb_str_concat($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
- var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
- var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
- var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
- var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0;
- var $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0;
- var $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0;
- var $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $7 = sp + 8|0;
- $3 = $0;
- $9 = HEAP32[$1>>2]|0;
- $4 = $9;
- $10 = $3;
- $11 = $4;
- _mrb_str_modify($10,$11);
- $12 = ((($2)) + 4|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ($13|0)==(16);
- if (!($14)) {
-  $15 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_str_to_str($7,$15,$$byval_copy);
-  ;HEAP32[$2>>2]=HEAP32[$7>>2]|0;HEAP32[$2+4>>2]=HEAP32[$7+4>>2]|0;
- }
- $16 = HEAP32[$2>>2]|0;
- $5 = $16;
- $17 = $4;
- $18 = HEAP32[$17>>2]|0;
- $19 = $18 >>> 11;
- $20 = $19 & 8;
- $21 = ($20|0)!=(0);
- $22 = $4;
- if ($21) {
-  $23 = HEAP32[$22>>2]|0;
-  $24 = $23 >>> 11;
-  $25 = $24 & 496;
-  $26 = $25 >> 4;
-  $43 = $26;
- } else {
-  $27 = ((($22)) + 12|0);
-  $28 = HEAP32[$27>>2]|0;
-  $43 = $28;
- }
- $29 = $5;
- $30 = HEAP32[$29>>2]|0;
- $31 = $30 >>> 11;
- $32 = $31 & 8;
- $33 = ($32|0)!=(0);
- $34 = $5;
- if ($33) {
-  $35 = HEAP32[$34>>2]|0;
-  $36 = $35 >>> 11;
-  $37 = $36 & 496;
-  $38 = $37 >> 4;
-  $42 = $38;
- } else {
-  $39 = ((($34)) + 12|0);
-  $40 = HEAP32[$39>>2]|0;
-  $42 = $40;
- }
- $41 = (($43) + ($42))|0;
- $6 = $41;
- $44 = HEAP32[$1>>2]|0;
- $45 = HEAP32[$44>>2]|0;
- $46 = $45 >>> 11;
- $47 = $46 & 8;
- $48 = ($47|0)!=(0);
- if ($48) {
-  $55 = 11;
- } else {
-  $49 = HEAP32[$1>>2]|0;
-  $50 = ((($49)) + 12|0);
-  $51 = ((($50)) + 4|0);
-  $52 = HEAP32[$51>>2]|0;
-  $55 = $52;
- }
- $53 = $6;
- $54 = ($55|0)<($53|0);
- if ($54) {
-  $56 = $3;
-  $57 = $4;
-  $58 = $6;
-  _resize_capa($56,$57,$58);
- }
- $59 = $4;
- $60 = HEAP32[$59>>2]|0;
- $61 = $60 >>> 11;
- $62 = $61 & 8;
- $63 = ($62|0)!=(0);
- $64 = $4;
- $65 = ((($64)) + 12|0);
- if ($63) {
-  $81 = $65;
- } else {
-  $66 = ((($65)) + 8|0);
-  $67 = HEAP32[$66>>2]|0;
-  $81 = $67;
- }
- $68 = $4;
- $69 = HEAP32[$68>>2]|0;
- $70 = $69 >>> 11;
- $71 = $70 & 8;
- $72 = ($71|0)!=(0);
- $73 = $4;
- if ($72) {
-  $74 = HEAP32[$73>>2]|0;
-  $75 = $74 >>> 11;
-  $76 = $75 & 496;
-  $77 = $76 >> 4;
-  $82 = $77;
- } else {
-  $78 = ((($73)) + 12|0);
-  $79 = HEAP32[$78>>2]|0;
-  $82 = $79;
- }
- $80 = (($81) + ($82)|0);
- $83 = $5;
- $84 = HEAP32[$83>>2]|0;
- $85 = $84 >>> 11;
- $86 = $85 & 8;
- $87 = ($86|0)!=(0);
- $88 = $5;
- $89 = ((($88)) + 12|0);
- if ($87) {
-  $104 = $89;
- } else {
-  $90 = ((($89)) + 8|0);
-  $91 = HEAP32[$90>>2]|0;
-  $104 = $91;
- }
- $92 = $5;
- $93 = HEAP32[$92>>2]|0;
- $94 = $93 >>> 11;
- $95 = $94 & 8;
- $96 = ($95|0)!=(0);
- $97 = $5;
- if ($96) {
-  $98 = HEAP32[$97>>2]|0;
-  $99 = $98 >>> 11;
-  $100 = $99 & 496;
-  $101 = $100 >> 4;
-  $105 = $101;
- } else {
-  $102 = ((($97)) + 12|0);
-  $103 = HEAP32[$102>>2]|0;
-  $105 = $103;
- }
- _memcpy(($80|0),($104|0),($105|0))|0;
- $106 = $4;
- $107 = HEAP32[$106>>2]|0;
- $108 = $107 >>> 11;
- $109 = $108 & 8;
- $110 = ($109|0)!=(0);
- $111 = $6;
- if ($110) {
-  $8 = $111;
-  $112 = $4;
-  $113 = HEAP32[$112>>2]|0;
-  $114 = $113 >>> 11;
-  $115 = $114 & -497;
-  $116 = HEAP32[$112>>2]|0;
-  $117 = $115 & 2097151;
-  $118 = $117 << 11;
-  $119 = $116 & 2047;
-  $120 = $119 | $118;
-  HEAP32[$112>>2] = $120;
-  $121 = $8;
-  $122 = $121 << 4;
-  $123 = $4;
-  $124 = HEAP32[$123>>2]|0;
-  $125 = $124 >>> 11;
-  $126 = $125 | $122;
-  $127 = HEAP32[$123>>2]|0;
-  $128 = $126 & 2097151;
-  $129 = $128 << 11;
-  $130 = $127 & 2047;
-  $131 = $130 | $129;
-  HEAP32[$123>>2] = $131;
- } else {
-  $132 = $4;
-  $133 = ((($132)) + 12|0);
-  HEAP32[$133>>2] = $111;
- }
- $134 = $4;
- $135 = HEAP32[$134>>2]|0;
- $136 = $135 >>> 11;
- $137 = $136 & 8;
- $138 = ($137|0)!=(0);
- $139 = $4;
- $140 = ((($139)) + 12|0);
- if ($138) {
-  $145 = $140;
-  $143 = $6;
-  $144 = (($145) + ($143)|0);
-  HEAP8[$144>>0] = 0;
-  STACKTOP = sp;return;
- } else {
-  $141 = ((($140)) + 8|0);
-  $142 = HEAP32[$141>>2]|0;
-  $145 = $142;
-  $143 = $6;
-  $144 = (($145) + ($143)|0);
-  HEAP8[$144>>0] = 0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_str_to_str($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $6 = sp;
- $3 = $1;
- $7 = ((($2)) + 4|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)==(16);
- if ($9) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $10 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_check_convert_type($5,$10,$$byval_copy,16,65324,65331);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $11 = ((($4)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ($12|0)==(0);
- if ($13) {
-  $14 = HEAP32[$4>>2]|0;
-  $15 = ($14|0)!=(0);
-  if (!($15)) {
-   $16 = $3;
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-   _mrb_convert_type($6,$16,$$byval_copy1,16,65324,69276);
-   ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0;
-  }
- }
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_plus($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
- var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $8 = HEAP32[$2>>2]|0;
- $5 = $8;
- $9 = HEAP32[$3>>2]|0;
- $6 = $9;
- $10 = $4;
- $11 = $5;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 8;
- $15 = ($14|0)!=(0);
- $16 = $5;
- if ($15) {
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $17 >>> 11;
-  $19 = $18 & 496;
-  $20 = $19 >> 4;
-  $37 = $20;
- } else {
-  $21 = ((($16)) + 12|0);
-  $22 = HEAP32[$21>>2]|0;
-  $37 = $22;
- }
- $23 = $6;
- $24 = HEAP32[$23>>2]|0;
- $25 = $24 >>> 11;
- $26 = $25 & 8;
- $27 = ($26|0)!=(0);
- $28 = $6;
- if ($27) {
-  $29 = HEAP32[$28>>2]|0;
-  $30 = $29 >>> 11;
-  $31 = $30 & 496;
-  $32 = $31 >> 4;
-  $36 = $32;
- } else {
-  $33 = ((($28)) + 12|0);
-  $34 = HEAP32[$33>>2]|0;
-  $36 = $34;
- }
- $35 = (($37) + ($36))|0;
- $38 = (_str_new($10,0,$35)|0);
- $7 = $38;
- $39 = $7;
- $40 = HEAP32[$39>>2]|0;
- $41 = $40 >>> 11;
- $42 = $41 & 8;
- $43 = ($42|0)!=(0);
- $44 = $7;
- $45 = ((($44)) + 12|0);
- if ($43) {
-  $69 = $45;
- } else {
-  $46 = ((($45)) + 8|0);
-  $47 = HEAP32[$46>>2]|0;
-  $69 = $47;
- }
- $48 = $5;
- $49 = HEAP32[$48>>2]|0;
- $50 = $49 >>> 11;
- $51 = $50 & 8;
- $52 = ($51|0)!=(0);
- $53 = $5;
- $54 = ((($53)) + 12|0);
- if ($52) {
-  $70 = $54;
- } else {
-  $55 = ((($54)) + 8|0);
-  $56 = HEAP32[$55>>2]|0;
-  $70 = $56;
- }
- $57 = $5;
- $58 = HEAP32[$57>>2]|0;
- $59 = $58 >>> 11;
- $60 = $59 & 8;
- $61 = ($60|0)!=(0);
- $62 = $5;
- if ($61) {
-  $63 = HEAP32[$62>>2]|0;
-  $64 = $63 >>> 11;
-  $65 = $64 & 496;
-  $66 = $65 >> 4;
-  $71 = $66;
- } else {
-  $67 = ((($62)) + 12|0);
-  $68 = HEAP32[$67>>2]|0;
-  $71 = $68;
- }
- _memcpy(($69|0),($70|0),($71|0))|0;
- $72 = $7;
- $73 = HEAP32[$72>>2]|0;
- $74 = $73 >>> 11;
- $75 = $74 & 8;
- $76 = ($75|0)!=(0);
- $77 = $7;
- $78 = ((($77)) + 12|0);
- if ($76) {
-  $94 = $78;
- } else {
-  $79 = ((($78)) + 8|0);
-  $80 = HEAP32[$79>>2]|0;
-  $94 = $80;
- }
- $81 = $5;
- $82 = HEAP32[$81>>2]|0;
- $83 = $82 >>> 11;
- $84 = $83 & 8;
- $85 = ($84|0)!=(0);
- $86 = $5;
- if ($85) {
-  $87 = HEAP32[$86>>2]|0;
-  $88 = $87 >>> 11;
-  $89 = $88 & 496;
-  $90 = $89 >> 4;
-  $95 = $90;
- } else {
-  $91 = ((($86)) + 12|0);
-  $92 = HEAP32[$91>>2]|0;
-  $95 = $92;
- }
- $93 = (($94) + ($95)|0);
- $96 = $6;
- $97 = HEAP32[$96>>2]|0;
- $98 = $97 >>> 11;
- $99 = $98 & 8;
- $100 = ($99|0)!=(0);
- $101 = $6;
- $102 = ((($101)) + 12|0);
- if ($100) {
-  $117 = $102;
- } else {
-  $103 = ((($102)) + 8|0);
-  $104 = HEAP32[$103>>2]|0;
-  $117 = $104;
- }
- $105 = $6;
- $106 = HEAP32[$105>>2]|0;
- $107 = $106 >>> 11;
- $108 = $107 & 8;
- $109 = ($108|0)!=(0);
- $110 = $6;
- if ($109) {
-  $111 = HEAP32[$110>>2]|0;
-  $112 = $111 >>> 11;
-  $113 = $112 & 496;
-  $114 = $113 >> 4;
-  $118 = $114;
-  _memcpy(($93|0),($117|0),($118|0))|0;
-  $119 = $7;
-  _mrb_obj_value_260($0,$119);
-  STACKTOP = sp;return;
- } else {
-  $115 = ((($110)) + 12|0);
-  $116 = HEAP32[$115>>2]|0;
-  $118 = $116;
-  _memcpy(($93|0),($117|0),($118|0))|0;
-  $119 = $7;
-  _mrb_obj_value_260($0,$119);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_str_cmp($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
- var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
- var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
- var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
- var $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $9 = HEAP32[$1>>2]|0;
- $7 = $9;
- $10 = HEAP32[$2>>2]|0;
- $8 = $10;
- $11 = $7;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 8;
- $15 = ($14|0)!=(0);
- $16 = $7;
- if ($15) {
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $17 >>> 11;
-  $19 = $18 & 496;
-  $20 = $19 >> 4;
-  $36 = $20;
- } else {
-  $21 = ((($16)) + 12|0);
-  $22 = HEAP32[$21>>2]|0;
-  $36 = $22;
- }
- $23 = $8;
- $24 = HEAP32[$23>>2]|0;
- $25 = $24 >>> 11;
- $26 = $25 & 8;
- $27 = ($26|0)!=(0);
- $28 = $8;
- if ($27) {
-  $29 = HEAP32[$28>>2]|0;
-  $30 = $29 >>> 11;
-  $31 = $30 & 496;
-  $32 = $31 >> 4;
-  $37 = $32;
- } else {
-  $33 = ((($28)) + 12|0);
-  $34 = HEAP32[$33>>2]|0;
-  $37 = $34;
- }
- $35 = ($36|0)>($37|0);
- do {
-  if ($35) {
-   $38 = $8;
-   $39 = HEAP32[$38>>2]|0;
-   $40 = $39 >>> 11;
-   $41 = $40 & 8;
-   $42 = ($41|0)!=(0);
-   $43 = $8;
-   if ($42) {
-    $44 = HEAP32[$43>>2]|0;
-    $45 = $44 >>> 11;
-    $46 = $45 & 496;
-    $47 = $46 >> 4;
-    $62 = $47;
-    break;
-   } else {
-    $48 = ((($43)) + 12|0);
-    $49 = HEAP32[$48>>2]|0;
-    $62 = $49;
-    break;
-   }
-  } else {
-   $50 = $7;
-   $51 = HEAP32[$50>>2]|0;
-   $52 = $51 >>> 11;
-   $53 = $52 & 8;
-   $54 = ($53|0)!=(0);
-   $55 = $7;
-   if ($54) {
-    $56 = HEAP32[$55>>2]|0;
-    $57 = $56 >>> 11;
-    $58 = $57 & 496;
-    $59 = $58 >> 4;
-    $62 = $59;
-    break;
-   } else {
-    $60 = ((($55)) + 12|0);
-    $61 = HEAP32[$60>>2]|0;
-    $62 = $61;
-    break;
-   }
-  }
- } while(0);
- $5 = $62;
- $63 = $7;
- $64 = HEAP32[$63>>2]|0;
- $65 = $64 >>> 11;
- $66 = $65 & 8;
- $67 = ($66|0)!=(0);
- $68 = $7;
- $69 = ((($68)) + 12|0);
- if ($67) {
-  $82 = $69;
- } else {
-  $70 = ((($69)) + 8|0);
-  $71 = HEAP32[$70>>2]|0;
-  $82 = $71;
- }
- $72 = $8;
- $73 = HEAP32[$72>>2]|0;
- $74 = $73 >>> 11;
- $75 = $74 & 8;
- $76 = ($75|0)!=(0);
- $77 = $8;
- $78 = ((($77)) + 12|0);
- if ($76) {
-  $83 = $78;
- } else {
-  $79 = ((($78)) + 8|0);
-  $80 = HEAP32[$79>>2]|0;
-  $83 = $80;
- }
- $81 = $5;
- $84 = (_memcmp($82,$83,$81)|0);
- $6 = $84;
- $85 = $6;
- $86 = ($85|0)==(0);
- if (!($86)) {
-  $141 = $6;
-  $142 = ($141|0)>(0);
-  if ($142) {
-   $3 = 1;
-   $143 = $3;
-   STACKTOP = sp;return ($143|0);
-  } else {
-   $3 = -1;
-   $143 = $3;
-   STACKTOP = sp;return ($143|0);
-  }
- }
- $87 = $7;
- $88 = HEAP32[$87>>2]|0;
- $89 = $88 >>> 11;
- $90 = $89 & 8;
- $91 = ($90|0)!=(0);
- $92 = $7;
- if ($91) {
-  $93 = HEAP32[$92>>2]|0;
-  $94 = $93 >>> 11;
-  $95 = $94 & 496;
-  $96 = $95 >> 4;
-  $112 = $96;
- } else {
-  $97 = ((($92)) + 12|0);
-  $98 = HEAP32[$97>>2]|0;
-  $112 = $98;
- }
- $99 = $8;
- $100 = HEAP32[$99>>2]|0;
- $101 = $100 >>> 11;
- $102 = $101 & 8;
- $103 = ($102|0)!=(0);
- $104 = $8;
- if ($103) {
-  $105 = HEAP32[$104>>2]|0;
-  $106 = $105 >>> 11;
-  $107 = $106 & 496;
-  $108 = $107 >> 4;
-  $113 = $108;
- } else {
-  $109 = ((($104)) + 12|0);
-  $110 = HEAP32[$109>>2]|0;
-  $113 = $110;
- }
- $111 = ($112|0)==($113|0);
- if ($111) {
-  $3 = 0;
-  $143 = $3;
-  STACKTOP = sp;return ($143|0);
- }
- $114 = $7;
- $115 = HEAP32[$114>>2]|0;
- $116 = $115 >>> 11;
- $117 = $116 & 8;
- $118 = ($117|0)!=(0);
- $119 = $7;
- if ($118) {
-  $120 = HEAP32[$119>>2]|0;
-  $121 = $120 >>> 11;
-  $122 = $121 & 496;
-  $123 = $122 >> 4;
-  $139 = $123;
- } else {
-  $124 = ((($119)) + 12|0);
-  $125 = HEAP32[$124>>2]|0;
-  $139 = $125;
- }
- $126 = $8;
- $127 = HEAP32[$126>>2]|0;
- $128 = $127 >>> 11;
- $129 = $128 & 8;
- $130 = ($129|0)!=(0);
- $131 = $8;
- if ($130) {
-  $132 = HEAP32[$131>>2]|0;
-  $133 = $132 >>> 11;
-  $134 = $133 & 496;
-  $135 = $134 >> 4;
-  $140 = $135;
- } else {
-  $136 = ((($131)) + 12|0);
-  $137 = HEAP32[$136>>2]|0;
-  $140 = $137;
- }
- $138 = ($139|0)>($140|0);
- if ($138) {
-  $3 = 1;
-  $143 = $3;
-  STACKTOP = sp;return ($143|0);
- } else {
-  $3 = -1;
-  $143 = $3;
-  STACKTOP = sp;return ($143|0);
- }
- return (0)|0;
-}
-function _mrb_str_equal($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy5 = sp + 64|0;
- $$byval_copy4 = sp + 56|0;
- $$byval_copy3 = sp + 48|0;
- $$byval_copy2 = sp + 40|0;
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $5 = sp + 8|0;
- $4 = $0;
- $6 = ((($2)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7>>>0)<(8);
- if ($8) {
-  $3 = 0;
-  $27 = $3;
-  STACKTOP = sp;return ($27|0);
- }
- $9 = ((($2)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(16);
- if ($11) {
-  $25 = $4;
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
-  $26 = (_str_eql($25,$$byval_copy4,$$byval_copy5)|0);
-  $3 = $26;
-  $27 = $3;
-  STACKTOP = sp;return ($27|0);
- }
- $12 = ((($2)) + 4|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ($13|0)==(0);
- if ($14) {
-  $15 = HEAP32[$2>>2]|0;
-  $16 = ($15|0)!=(0);
-  if (!($16)) {
-   $3 = 0;
-   $27 = $3;
-   STACKTOP = sp;return ($27|0);
-  }
- }
- $17 = $4;
- $18 = $4;
- $19 = (_mrb_intern_static($18,65331,6)|0);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $20 = (_mrb_respond_to($17,$$byval_copy,$19)|0);
- $21 = ($20<<24>>24)!=(0);
- if ($21) {
-  $22 = $4;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_funcall($5,$22,$$byval_copy1,65331,0,$vararg_buffer);
-  ;HEAP32[$2>>2]=HEAP32[$5>>2]|0;HEAP32[$2+4>>2]=HEAP32[$5+4>>2]|0;
-  $23 = $4;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0;
-  $24 = (_mrb_equal($23,$$byval_copy2,$$byval_copy3)|0);
-  $3 = $24;
-  $27 = $3;
-  STACKTOP = sp;return ($27|0);
- } else {
-  $3 = 0;
-  $27 = $3;
-  STACKTOP = sp;return ($27|0);
- }
- return (0)|0;
-}
-function _str_eql($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $6 = HEAP32[$1>>2]|0;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7 >>> 11;
- $9 = $8 & 8;
- $10 = ($9|0)!=(0);
- $11 = HEAP32[$1>>2]|0;
- if ($10) {
-  $12 = HEAP32[$11>>2]|0;
-  $13 = $12 >>> 11;
-  $14 = $13 & 496;
-  $15 = $14 >> 4;
-  $18 = $15;
- } else {
-  $16 = ((($11)) + 12|0);
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $17;
- }
- $5 = $18;
- $19 = $5;
- $20 = HEAP32[$2>>2]|0;
- $21 = HEAP32[$20>>2]|0;
- $22 = $21 >>> 11;
- $23 = $22 & 8;
- $24 = ($23|0)!=(0);
- $25 = HEAP32[$2>>2]|0;
- if ($24) {
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $26 >>> 11;
-  $28 = $27 & 496;
-  $29 = $28 >> 4;
-  $33 = $29;
- } else {
-  $30 = ((($25)) + 12|0);
-  $31 = HEAP32[$30>>2]|0;
-  $33 = $31;
- }
- $32 = ($19|0)!=($33|0);
- if ($32) {
-  $3 = 0;
-  $57 = $3;
-  STACKTOP = sp;return ($57|0);
- }
- $34 = HEAP32[$1>>2]|0;
- $35 = HEAP32[$34>>2]|0;
- $36 = $35 >>> 11;
- $37 = $36 & 8;
- $38 = ($37|0)!=(0);
- $39 = HEAP32[$1>>2]|0;
- $40 = ((($39)) + 12|0);
- if ($38) {
-  $53 = $40;
- } else {
-  $41 = ((($40)) + 8|0);
-  $42 = HEAP32[$41>>2]|0;
-  $53 = $42;
- }
- $43 = HEAP32[$2>>2]|0;
- $44 = HEAP32[$43>>2]|0;
- $45 = $44 >>> 11;
- $46 = $45 & 8;
- $47 = ($46|0)!=(0);
- $48 = HEAP32[$2>>2]|0;
- $49 = ((($48)) + 12|0);
- if ($47) {
-  $54 = $49;
- } else {
-  $50 = ((($49)) + 8|0);
-  $51 = HEAP32[$50>>2]|0;
-  $54 = $51;
- }
- $52 = $5;
- $55 = (_memcmp($53,$54,$52)|0);
- $56 = ($55|0)==(0);
- if ($56) {
-  $3 = 1;
-  $57 = $3;
-  STACKTOP = sp;return ($57|0);
- } else {
-  $3 = 0;
-  $57 = $3;
-  STACKTOP = sp;return ($57|0);
- }
- return (0)|0;
-}
-function _mrb_string_value_ptr($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $3 = sp;
- $2 = $0;
- $4 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_str_to_str($3,$4,$$byval_copy);
- $5 = HEAP32[$3>>2]|0;
- $6 = HEAP32[$5>>2]|0;
- $7 = $6 >>> 11;
- $8 = $7 & 8;
- $9 = ($8|0)!=(0);
- $10 = HEAP32[$3>>2]|0;
- $11 = ((($10)) + 12|0);
- if ($9) {
-  $14 = $11;
-  STACKTOP = sp;return ($14|0);
- } else {
-  $12 = ((($11)) + 8|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = $13;
-  STACKTOP = sp;return ($14|0);
- }
- return (0)|0;
-}
-function _mrb_noregexp($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $2;
- $4 = $2;
- $5 = (_mrb_class_get($4,65108)|0);
- _mrb_raise($3,$5,55784);
- // unreachable;
-}
-function _mrb_regexp_check($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $2 = $0;
- $3 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $4 = (_mrb_regexp_p($3,$$byval_copy)|0);
- $5 = ($4<<24>>24)!=(0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $2;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_noregexp($6,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _mrb_str_dup($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $3 = $1;
- $6 = HEAP32[$2>>2]|0;
- $4 = $6;
- $7 = $3;
- $8 = (_str_new($7,0,0)|0);
- $5 = $8;
- $9 = $3;
- $10 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _str_with_class($9,$10,$$byval_copy);
- $11 = $3;
- $12 = $5;
- $13 = $4;
- _str_replace($0,$11,$12,$13);
- STACKTOP = sp;return;
-}
-function _str_with_class($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = HEAP32[$2>>2]|0;
- $6 = ((($5)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = $4;
- $9 = ((($8)) + 4|0);
- HEAP32[$9>>2] = $7;
- STACKTOP = sp;return;
-}
-function _str_replace($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $9 = $4;
- $10 = $5;
- _check_frozen($9,$10);
- $11 = $6;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 8;
- $15 = ($14|0)!=(0);
- $16 = $6;
- if ($15) {
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $17 >>> 11;
-  $19 = $18 & 496;
-  $20 = $19 >> 4;
-  $23 = $20;
- } else {
-  $21 = ((($16)) + 12|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $22;
- }
- $7 = $23;
- $24 = $5;
- $25 = HEAP32[$24>>2]|0;
- $26 = $25 >>> 11;
- $27 = $26 & 1;
- $28 = ($27|0)!=(0);
- if ($28) {
-  $29 = $4;
-  $30 = $5;
-  $31 = ((($30)) + 12|0);
-  $32 = ((($31)) + 4|0);
-  $33 = HEAP32[$32>>2]|0;
-  _str_decref($29,$33);
- } else {
-  $34 = $5;
-  $35 = HEAP32[$34>>2]|0;
-  $36 = $35 >>> 11;
-  $37 = $36 & 8;
-  $38 = ($37|0)!=(0);
-  if (!($38)) {
-   $39 = $5;
-   $40 = HEAP32[$39>>2]|0;
-   $41 = $40 >>> 11;
-   $42 = $41 & 2;
-   $43 = ($42|0)!=(0);
-   if (!($43)) {
-    $44 = $4;
-    $45 = $5;
-    $46 = ((($45)) + 12|0);
-    $47 = ((($46)) + 8|0);
-    $48 = HEAP32[$47>>2]|0;
-    _mrb_free($44,$48);
-   }
-  }
- }
- $49 = $5;
- $50 = HEAP32[$49>>2]|0;
- $51 = $50 >>> 11;
- $52 = $51 & -3;
- $53 = HEAP32[$49>>2]|0;
- $54 = $52 & 2097151;
- $55 = $54 << 11;
- $56 = $53 & 2047;
- $57 = $56 | $55;
- HEAP32[$49>>2] = $57;
- $58 = $6;
- $59 = HEAP32[$58>>2]|0;
- $60 = $59 >>> 11;
- $61 = $60 & 1;
- $62 = ($61|0)!=(0);
- do {
-  if (!($62)) {
-   $105 = $7;
-   $106 = ($105|0)<=(11);
-   if (!($106)) {
-    $159 = $4;
-    $160 = $6;
-    _str_make_shared($159,$160);
-    break;
-   }
-   $107 = $5;
-   $108 = HEAP32[$107>>2]|0;
-   $109 = $108 >>> 11;
-   $110 = $109 & -2;
-   $111 = HEAP32[$107>>2]|0;
-   $112 = $110 & 2097151;
-   $113 = $112 << 11;
-   $114 = $111 & 2047;
-   $115 = $114 | $113;
-   HEAP32[$107>>2] = $115;
-   $116 = $5;
-   $117 = HEAP32[$116>>2]|0;
-   $118 = $117 >>> 11;
-   $119 = $118 | 8;
-   $120 = HEAP32[$116>>2]|0;
-   $121 = $119 & 2097151;
-   $122 = $121 << 11;
-   $123 = $120 & 2047;
-   $124 = $123 | $122;
-   HEAP32[$116>>2] = $124;
-   $125 = $5;
-   $126 = ((($125)) + 12|0);
-   $127 = $6;
-   $128 = HEAP32[$127>>2]|0;
-   $129 = $128 >>> 11;
-   $130 = $129 & 8;
-   $131 = ($130|0)!=(0);
-   $132 = $6;
-   $133 = ((($132)) + 12|0);
-   if ($131) {
-    $137 = $133;
-   } else {
-    $134 = ((($133)) + 8|0);
-    $135 = HEAP32[$134>>2]|0;
-    $137 = $135;
-   }
-   $136 = $7;
-   _memcpy(($126|0),($137|0),($136|0))|0;
-   $138 = $7;
-   $8 = $138;
-   $139 = $5;
-   $140 = HEAP32[$139>>2]|0;
-   $141 = $140 >>> 11;
-   $142 = $141 & -497;
-   $143 = HEAP32[$139>>2]|0;
-   $144 = $142 & 2097151;
-   $145 = $144 << 11;
-   $146 = $143 & 2047;
-   $147 = $146 | $145;
-   HEAP32[$139>>2] = $147;
-   $148 = $8;
-   $149 = $148 << 4;
-   $150 = $5;
-   $151 = HEAP32[$150>>2]|0;
-   $152 = $151 >>> 11;
-   $153 = $152 | $149;
-   $154 = HEAP32[$150>>2]|0;
-   $155 = $153 & 2097151;
-   $156 = $155 << 11;
-   $157 = $154 & 2047;
-   $158 = $157 | $156;
-   HEAP32[$150>>2] = $158;
-   $161 = $5;
-   _mrb_obj_value_260($0,$161);
-   STACKTOP = sp;return;
-  }
- } while(0);
- $63 = $5;
- $64 = HEAP32[$63>>2]|0;
- $65 = $64 >>> 11;
- $66 = $65 & -505;
- $67 = HEAP32[$63>>2]|0;
- $68 = $66 & 2097151;
- $69 = $68 << 11;
- $70 = $67 & 2047;
- $71 = $70 | $69;
- HEAP32[$63>>2] = $71;
- $72 = $6;
- $73 = ((($72)) + 12|0);
- $74 = ((($73)) + 8|0);
- $75 = HEAP32[$74>>2]|0;
- $76 = $5;
- $77 = ((($76)) + 12|0);
- $78 = ((($77)) + 8|0);
- HEAP32[$78>>2] = $75;
- $79 = $7;
- $80 = $5;
- $81 = ((($80)) + 12|0);
- HEAP32[$81>>2] = $79;
- $82 = $6;
- $83 = ((($82)) + 12|0);
- $84 = ((($83)) + 4|0);
- $85 = HEAP32[$84>>2]|0;
- $86 = $5;
- $87 = ((($86)) + 12|0);
- $88 = ((($87)) + 4|0);
- HEAP32[$88>>2] = $85;
- $89 = $5;
- $90 = HEAP32[$89>>2]|0;
- $91 = $90 >>> 11;
- $92 = $91 | 1;
- $93 = HEAP32[$89>>2]|0;
- $94 = $92 & 2097151;
- $95 = $94 << 11;
- $96 = $93 & 2047;
- $97 = $96 | $95;
- HEAP32[$89>>2] = $97;
- $98 = $5;
- $99 = ((($98)) + 12|0);
- $100 = ((($99)) + 4|0);
- $101 = HEAP32[$100>>2]|0;
- $102 = ((($101)) + 4|0);
- $103 = HEAP32[$102>>2]|0;
- $104 = (($103) + 1)|0;
- HEAP32[$102>>2] = $104;
- $161 = $5;
- _mrb_obj_value_260($0,$161);
- STACKTOP = sp;return;
-}
-function _str_make_shared($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
- var $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
- var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
- var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
- var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
- var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $7 = $3;
- $8 = HEAP32[$7>>2]|0;
- $9 = $8 >>> 11;
- $10 = $9 & 1;
- $11 = ($10|0)!=(0);
- if ($11) {
-  STACKTOP = sp;return;
- }
- $12 = $2;
- $13 = (_mrb_malloc($12,16)|0);
- $4 = $13;
- $14 = $4;
- $15 = ((($14)) + 4|0);
- HEAP32[$15>>2] = 1;
- $16 = $3;
- $17 = HEAP32[$16>>2]|0;
- $18 = $17 >>> 11;
- $19 = $18 & 8;
- $20 = ($19|0)!=(0);
- $21 = $3;
- $22 = HEAP32[$21>>2]|0;
- $23 = $22 >>> 11;
- do {
-  if ($20) {
-   $24 = $23 & 496;
-   $25 = $24 >> 4;
-   $5 = $25;
-   $26 = $2;
-   $27 = $5;
-   $28 = (($27) + 1)|0;
-   $29 = (_mrb_malloc($26,$28)|0);
-   $6 = $29;
-   $30 = $6;
-   $31 = $3;
-   $32 = ((($31)) + 12|0);
-   $33 = $5;
-   _memcpy(($30|0),($32|0),($33|0))|0;
-   $34 = $6;
-   $35 = $5;
-   $36 = (($34) + ($35)|0);
-   HEAP8[$36>>0] = 0;
-   $37 = $3;
-   $38 = HEAP32[$37>>2]|0;
-   $39 = $38 >>> 11;
-   $40 = $39 & -505;
-   $41 = HEAP32[$37>>2]|0;
-   $42 = $40 & 2097151;
-   $43 = $42 << 11;
-   $44 = $41 & 2047;
-   $45 = $44 | $43;
-   HEAP32[$37>>2] = $45;
-   $46 = $6;
-   $47 = $3;
-   $48 = ((($47)) + 12|0);
-   $49 = ((($48)) + 8|0);
-   HEAP32[$49>>2] = $46;
-   $50 = $5;
-   $51 = $3;
-   $52 = ((($51)) + 12|0);
-   HEAP32[$52>>2] = $50;
-   $53 = $4;
-   $54 = HEAP8[$53>>0]|0;
-   $55 = $54 & -2;
-   HEAP8[$53>>0] = $55;
-   $56 = $3;
-   $57 = ((($56)) + 12|0);
-   $58 = ((($57)) + 8|0);
-   $59 = HEAP32[$58>>2]|0;
-   $60 = $4;
-   $61 = ((($60)) + 8|0);
-   HEAP32[$61>>2] = $59;
-  } else {
-   $62 = $23 & 2;
-   $63 = ($62|0)!=(0);
-   $64 = $4;
-   $65 = HEAP8[$64>>0]|0;
-   $66 = $65 & -2;
-   if ($63) {
-    $67 = $66 | 1;
-    HEAP8[$64>>0] = $67;
-    $68 = $3;
-    $69 = ((($68)) + 12|0);
-    $70 = ((($69)) + 8|0);
-    $71 = HEAP32[$70>>2]|0;
-    $72 = $4;
-    $73 = ((($72)) + 8|0);
-    HEAP32[$73>>2] = $71;
-    $74 = $3;
-    $75 = HEAP32[$74>>2]|0;
-    $76 = $75 >>> 11;
-    $77 = $76 & -3;
-    $78 = HEAP32[$74>>2]|0;
-    $79 = $77 & 2097151;
-    $80 = $79 << 11;
-    $81 = $78 & 2047;
-    $82 = $81 | $80;
-    HEAP32[$74>>2] = $82;
-    break;
-   }
-   HEAP8[$64>>0] = $66;
-   $83 = $3;
-   $84 = ((($83)) + 12|0);
-   $85 = ((($84)) + 4|0);
-   $86 = HEAP32[$85>>2]|0;
-   $87 = $3;
-   $88 = ((($87)) + 12|0);
-   $89 = HEAP32[$88>>2]|0;
-   $90 = ($86|0)>($89|0);
-   if ($90) {
-    $91 = $2;
-    $92 = $3;
-    $93 = ((($92)) + 12|0);
-    $94 = ((($93)) + 8|0);
-    $95 = HEAP32[$94>>2]|0;
-    $96 = $3;
-    $97 = ((($96)) + 12|0);
-    $98 = HEAP32[$97>>2]|0;
-    $99 = (($98) + 1)|0;
-    $100 = (_mrb_realloc($91,$95,$99)|0);
-    $101 = $4;
-    $102 = ((($101)) + 8|0);
-    HEAP32[$102>>2] = $100;
-    $103 = $3;
-    $104 = ((($103)) + 12|0);
-    $105 = ((($104)) + 8|0);
-    HEAP32[$105>>2] = $100;
-    break;
-   } else {
-    $106 = $3;
-    $107 = ((($106)) + 12|0);
-    $108 = ((($107)) + 8|0);
-    $109 = HEAP32[$108>>2]|0;
-    $110 = $4;
-    $111 = ((($110)) + 8|0);
-    HEAP32[$111>>2] = $109;
-    break;
-   }
-  }
- } while(0);
- $112 = $3;
- $113 = ((($112)) + 12|0);
- $114 = HEAP32[$113>>2]|0;
- $115 = $4;
- $116 = ((($115)) + 12|0);
- HEAP32[$116>>2] = $114;
- $117 = $4;
- $118 = $3;
- $119 = ((($118)) + 12|0);
- $120 = ((($119)) + 4|0);
- HEAP32[$120>>2] = $117;
- $121 = $3;
- $122 = HEAP32[$121>>2]|0;
- $123 = $122 >>> 11;
- $124 = $123 | 1;
- $125 = HEAP32[$121>>2]|0;
- $126 = $124 & 2097151;
- $127 = $126 << 11;
- $128 = $125 & 2047;
- $129 = $128 | $127;
- HEAP32[$121>>2] = $129;
- STACKTOP = sp;return;
-}
-function _str_substr($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 24|0;
- $$byval_copy = sp + 16|0;
- $5 = $1;
- $6 = $3;
- $7 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $9 = (_utf8_strlen($$byval_copy,-1)|0);
- $8 = $9;
- $10 = $7;
- $11 = ($10|0)<(0);
- if ($11) {
-  _mrb_nil_value_283($0);
-  STACKTOP = sp;return;
- }
- $12 = $8;
- $13 = ($12|0)==(0);
- if ($13) {
-  $7 = 0;
- } else {
-  $14 = $6;
-  $15 = ($14|0)<(0);
-  if ($15) {
-   $16 = $8;
-   $17 = $6;
-   $18 = (($16) + ($17))|0;
-   $6 = $18;
-  }
- }
- $19 = $6;
- $20 = $8;
- $21 = ($19|0)>($20|0);
- if ($21) {
-  _mrb_nil_value_283($0);
-  STACKTOP = sp;return;
- }
- $22 = $6;
- $23 = ($22|0)<(0);
- if ($23) {
-  $24 = $8;
-  $25 = $6;
-  $26 = (($25) + ($24))|0;
-  $6 = $26;
-  $27 = $6;
-  $28 = ($27|0)<(0);
-  if ($28) {
-   _mrb_nil_value_283($0);
-   STACKTOP = sp;return;
-  }
- }
- $29 = $6;
- $30 = $7;
- $31 = (($29) + ($30))|0;
- $32 = $8;
- $33 = ($31|0)>($32|0);
- if ($33) {
-  $34 = $8;
-  $35 = $6;
-  $36 = (($34) - ($35))|0;
-  $7 = $36;
- }
- $37 = $7;
- $38 = ($37|0)<=(0);
- if ($38) {
-  $7 = 0;
- }
- $39 = $5;
- $40 = $6;
- $41 = $7;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- _str_subseq($0,$39,$$byval_copy1,$40,$41);
- STACKTOP = sp;return;
-}
-function _utf8_strlen($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $1;
- $3 = 0;
- $6 = HEAP32[$0>>2]|0;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7 >>> 11;
- $9 = $8 & 8;
- $10 = ($9|0)!=(0);
- $11 = HEAP32[$0>>2]|0;
- $12 = ((($11)) + 12|0);
- if ($10) {
-  $15 = $12;
- } else {
-  $13 = ((($12)) + 8|0);
-  $14 = HEAP32[$13>>2]|0;
-  $15 = $14;
- }
- $4 = $15;
- $16 = $4;
- $5 = $16;
- $17 = $2;
- $18 = ($17|0)<(0);
- do {
-  if ($18) {
-   $19 = HEAP32[$0>>2]|0;
-   $20 = HEAP32[$19>>2]|0;
-   $21 = $20 >>> 11;
-   $22 = $21 & 8;
-   $23 = ($22|0)!=(0);
-   $24 = HEAP32[$0>>2]|0;
-   if ($23) {
-    $25 = HEAP32[$24>>2]|0;
-    $26 = $25 >>> 11;
-    $27 = $26 & 496;
-    $28 = $27 >> 4;
-    $34 = $28;
-    break;
-   } else {
-    $29 = ((($24)) + 12|0);
-    $30 = HEAP32[$29>>2]|0;
-    $34 = $30;
-    break;
-   }
-  } else {
-   $31 = $2;
-   $34 = $31;
-  }
- } while(0);
- $32 = $5;
- $33 = (($32) + ($34)|0);
- $5 = $33;
- while(1) {
-  $35 = $4;
-  $36 = $5;
-  $37 = ($35>>>0)<($36>>>0);
-  if (!($37)) {
-   break;
-  }
-  $38 = $4;
-  $39 = $5;
-  $40 = (_utf8len($38,$39)|0);
-  $41 = $4;
-  $42 = (($41) + ($40)|0);
-  $4 = $42;
-  $43 = $3;
-  $44 = (($43) + 1)|0;
-  $3 = $44;
- }
- $45 = $3;
- STACKTOP = sp;return ($45|0);
-}
-function _mrb_nil_value_283($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _str_subseq($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 32|0;
- $$byval_copy1 = sp + 24|0;
- $$byval_copy = sp + 16|0;
- $5 = $1;
- $6 = $3;
- $7 = $4;
- $8 = $6;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $9 = (_chars2bytes($$byval_copy,0,$8)|0);
- $6 = $9;
- $10 = $6;
- $11 = $7;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- $12 = (_chars2bytes($$byval_copy1,$10,$11)|0);
- $7 = $12;
- $13 = $5;
- $14 = $6;
- $15 = $7;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
- _byte_subseq($0,$13,$$byval_copy2,$14,$15);
- STACKTOP = sp;return;
-}
-function _chars2bytes($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $1;
- $4 = $2;
- $10 = HEAP32[$0>>2]|0;
- $11 = HEAP32[$10>>2]|0;
- $12 = $11 >>> 11;
- $13 = $12 & 8;
- $14 = ($13|0)!=(0);
- $15 = HEAP32[$0>>2]|0;
- $16 = ((($15)) + 12|0);
- if ($14) {
-  $21 = $16;
- } else {
-  $17 = ((($16)) + 8|0);
-  $18 = HEAP32[$17>>2]|0;
-  $21 = $18;
- }
- $19 = $3;
- $20 = (($21) + ($19)|0);
- $8 = $20;
- $22 = HEAP32[$0>>2]|0;
- $23 = HEAP32[$22>>2]|0;
- $24 = $23 >>> 11;
- $25 = $24 & 8;
- $26 = ($25|0)!=(0);
- $27 = HEAP32[$0>>2]|0;
- $28 = ((($27)) + 12|0);
- if ($26) {
-  $44 = $28;
- } else {
-  $29 = ((($28)) + 8|0);
-  $30 = HEAP32[$29>>2]|0;
-  $44 = $30;
- }
- $31 = HEAP32[$0>>2]|0;
- $32 = HEAP32[$31>>2]|0;
- $33 = $32 >>> 11;
- $34 = $33 & 8;
- $35 = ($34|0)!=(0);
- $36 = HEAP32[$0>>2]|0;
- if ($35) {
-  $37 = HEAP32[$36>>2]|0;
-  $38 = $37 >>> 11;
-  $39 = $38 & 496;
-  $40 = $39 >> 4;
-  $45 = $40;
- } else {
-  $41 = ((($36)) + 12|0);
-  $42 = HEAP32[$41>>2]|0;
-  $45 = $42;
- }
- $43 = (($44) + ($45)|0);
- $9 = $43;
- $5 = 0;
- $6 = 0;
- while(1) {
-  $46 = $8;
-  $47 = $9;
-  $48 = ($46>>>0)<($47>>>0);
-  if (!($48)) {
-   label = 14;
-   break;
-  }
-  $49 = $5;
-  $50 = $4;
-  $51 = ($49|0)<($50|0);
-  if (!($51)) {
-   label = 14;
-   break;
-  }
-  $52 = $8;
-  $53 = $9;
-  $54 = (_utf8len($52,$53)|0);
-  $7 = $54;
-  $55 = $7;
-  $56 = $6;
-  $57 = (($56) + ($55))|0;
-  $6 = $57;
-  $58 = $7;
-  $59 = $8;
-  $60 = (($59) + ($58)|0);
-  $8 = $60;
-  $61 = $5;
-  $62 = (($61) + 1)|0;
-  $5 = $62;
- }
- if ((label|0) == 14) {
-  $63 = $6;
-  STACKTOP = sp;return ($63|0);
- }
- return (0)|0;
-}
-function _byte_subseq($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $1;
- $6 = $3;
- $7 = $4;
- $11 = HEAP32[$2>>2]|0;
- $8 = $11;
- $12 = $8;
- $13 = HEAP32[$12>>2]|0;
- $14 = $13 >>> 11;
- $15 = $14 & 8;
- $16 = ($15|0)!=(0);
- $17 = $5;
- $18 = $8;
- if ($16) {
-  $19 = ((($18)) + 12|0);
-  $20 = $6;
-  $21 = (($19) + ($20)|0);
-  $22 = $7;
-  $23 = (_str_new($17,$21,$22)|0);
-  $9 = $23;
-  $62 = $9;
-  _mrb_obj_value_260($0,$62);
-  STACKTOP = sp;return;
- } else {
-  _str_make_shared($17,$18);
-  $24 = $8;
-  $25 = ((($24)) + 12|0);
-  $26 = ((($25)) + 4|0);
-  $27 = HEAP32[$26>>2]|0;
-  $10 = $27;
-  $28 = $5;
-  $29 = $5;
-  $30 = ((($29)) + 48|0);
-  $31 = HEAP32[$30>>2]|0;
-  $32 = (_mrb_obj_alloc($28,16,$31)|0);
-  $9 = $32;
-  $33 = $8;
-  $34 = ((($33)) + 12|0);
-  $35 = ((($34)) + 8|0);
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $6;
-  $38 = (($36) + ($37)|0);
-  $39 = $9;
-  $40 = ((($39)) + 12|0);
-  $41 = ((($40)) + 8|0);
-  HEAP32[$41>>2] = $38;
-  $42 = $7;
-  $43 = $9;
-  $44 = ((($43)) + 12|0);
-  HEAP32[$44>>2] = $42;
-  $45 = $10;
-  $46 = $9;
-  $47 = ((($46)) + 12|0);
-  $48 = ((($47)) + 4|0);
-  HEAP32[$48>>2] = $45;
-  $49 = $9;
-  $50 = HEAP32[$49>>2]|0;
-  $51 = $50 >>> 11;
-  $52 = $51 | 1;
-  $53 = HEAP32[$49>>2]|0;
-  $54 = $52 & 2097151;
-  $55 = $54 << 11;
-  $56 = $53 & 2047;
-  $57 = $56 | $55;
-  HEAP32[$49>>2] = $57;
-  $58 = $10;
-  $59 = ((($58)) + 4|0);
-  $60 = HEAP32[$59>>2]|0;
-  $61 = (($60) + 1)|0;
-  HEAP32[$59>>2] = $61;
-  $62 = $9;
-  _mrb_obj_value_260($0,$62);
-  STACKTOP = sp;return;
- }
-}
-function _utf8len($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $7 = $3;
- $8 = HEAP8[$7>>0]|0;
- $9 = $8&255;
- $10 = (55813 + ($9)|0);
- $11 = HEAP8[$10>>0]|0;
- $12 = $11 << 24 >> 24;
- $5 = $12;
- $13 = $3;
- $14 = $5;
- $15 = (($13) + ($14)|0);
- $16 = $4;
- $17 = ($15>>>0)>($16>>>0);
- if ($17) {
-  $2 = 1;
-  $31 = $2;
-  STACKTOP = sp;return ($31|0);
- }
- $6 = 1;
- while(1) {
-  $18 = $6;
-  $19 = $5;
-  $20 = ($18|0)<($19|0);
-  if (!($20)) {
-   label = 8;
-   break;
-  }
-  $21 = $3;
-  $22 = $6;
-  $23 = (($21) + ($22)|0);
-  $24 = HEAP8[$23>>0]|0;
-  $25 = $24 << 24 >> 24;
-  $26 = $25 & 192;
-  $27 = ($26|0)!=(128);
-  if ($27) {
-   label = 6;
-   break;
-  }
-  $28 = $6;
-  $29 = (($28) + 1)|0;
-  $6 = $29;
- }
- if ((label|0) == 6) {
-  $2 = 1;
-  $31 = $2;
-  STACKTOP = sp;return ($31|0);
- }
- else if ((label|0) == 8) {
-  $30 = $5;
-  $2 = $30;
-  $31 = $2;
-  STACKTOP = sp;return ($31|0);
- }
- return (0)|0;
-}
-function _mrb_str_hash($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $7 = HEAP32[$1>>2]|0;
- $3 = $7;
- $8 = $3;
- $9 = HEAP32[$8>>2]|0;
- $10 = $9 >>> 11;
- $11 = $10 & 8;
- $12 = ($11|0)!=(0);
- $13 = $3;
- if ($12) {
-  $14 = HEAP32[$13>>2]|0;
-  $15 = $14 >>> 11;
-  $16 = $15 & 496;
-  $17 = $16 >> 4;
-  $20 = $17;
- } else {
-  $18 = ((($13)) + 12|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $19;
- }
- $4 = $20;
- $21 = $3;
- $22 = HEAP32[$21>>2]|0;
- $23 = $22 >>> 11;
- $24 = $23 & 8;
- $25 = ($24|0)!=(0);
- $26 = $3;
- $27 = ((($26)) + 12|0);
- if ($25) {
-  $30 = $27;
- } else {
-  $28 = ((($27)) + 8|0);
-  $29 = HEAP32[$28>>2]|0;
-  $30 = $29;
- }
- $5 = $30;
- $6 = 0;
- while(1) {
-  $31 = $4;
-  $32 = (($31) + -1)|0;
-  $4 = $32;
-  $33 = ($31|0)!=(0);
-  $34 = $6;
-  if (!($33)) {
-   break;
-  }
-  $35 = ($34*65599)|0;
-  $36 = $5;
-  $37 = HEAP8[$36>>0]|0;
-  $38 = $37 << 24 >> 24;
-  $39 = (($35) + ($38))|0;
-  $6 = $39;
-  $40 = $5;
-  $41 = ((($40)) + 1|0);
-  $5 = $41;
- }
- $42 = $6;
- $43 = $42 >> 5;
- $44 = (($34) + ($43))|0;
- STACKTOP = sp;return ($44|0);
-}
-function _mrb_str_intern($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $5 = (_mrb_intern_str($4,$$byval_copy)|0);
- _mrb_symbol_value($0,$5);
- STACKTOP = sp;return;
-}
-function _mrb_symbol_value($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 4;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_obj_as_string($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = ((($2)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)==(16);
- if ($8) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $9 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_funcall($5,$9,$$byval_copy,69276,0,$vararg_buffer);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $10 = ((($4)) + 4|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)==(16);
- if ($12) {
-  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  $13 = $3;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_any_to_s($0,$13,$$byval_copy1);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_ptr_to_str($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $1;
- $4 = $2;
- $11 = $4;
- $12 = $11;
- $8 = $12;
- $13 = $3;
- $14 = (_str_new($13,0,10)|0);
- $5 = $14;
- $15 = $5;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 >>> 11;
- $18 = $17 & 8;
- $19 = ($18|0)!=(0);
- $20 = $5;
- $21 = ((($20)) + 12|0);
- if ($19) {
-  $24 = $21;
- } else {
-  $22 = ((($21)) + 8|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = $23;
- }
- $6 = $24;
- $25 = $6;
- $26 = ((($25)) + 1|0);
- $6 = $26;
- HEAP8[$25>>0] = 48;
- $27 = $6;
- $28 = ((($27)) + 1|0);
- $6 = $28;
- HEAP8[$27>>0] = 120;
- $29 = $6;
- $7 = $29;
- while(1) {
-  $30 = $8;
-  $31 = (($30>>>0) % 16)&-1;
-  $32 = (55645 + ($31)|0);
-  $33 = HEAP8[$32>>0]|0;
-  $34 = $7;
-  $35 = ((($34)) + 1|0);
-  $7 = $35;
-  HEAP8[$34>>0] = $33;
-  $36 = $8;
-  $37 = (($36>>>0) / 16)&-1;
-  $8 = $37;
-  $38 = $8;
-  $39 = ($38>>>0)>(0);
-  if (!($39)) {
-   break;
-  }
- }
- $40 = $7;
- HEAP8[$40>>0] = 0;
- $41 = $5;
- $42 = HEAP32[$41>>2]|0;
- $43 = $42 >>> 11;
- $44 = $43 & 8;
- $45 = ($44|0)!=(0);
- $46 = $7;
- $47 = $5;
- $48 = HEAP32[$47>>2]|0;
- $49 = $48 >>> 11;
- $50 = $49 & 8;
- $51 = ($50|0)!=(0);
- $52 = $5;
- $53 = ((($52)) + 12|0);
- if ($45) {
-  if ($51) {
-   $58 = $53;
-  } else {
-   $54 = ((($53)) + 8|0);
-   $55 = HEAP32[$54>>2]|0;
-   $58 = $55;
-  }
-  $56 = $46;
-  $57 = $58;
-  $59 = (($56) - ($57))|0;
-  $9 = $59;
-  $60 = $5;
-  $61 = HEAP32[$60>>2]|0;
-  $62 = $61 >>> 11;
-  $63 = $62 & -497;
-  $64 = HEAP32[$60>>2]|0;
-  $65 = $63 & 2097151;
-  $66 = $65 << 11;
-  $67 = $64 & 2047;
-  $68 = $67 | $66;
-  HEAP32[$60>>2] = $68;
-  $69 = $9;
-  $70 = $69 << 4;
-  $71 = $5;
-  $72 = HEAP32[$71>>2]|0;
-  $73 = $72 >>> 11;
-  $74 = $73 | $70;
-  $75 = HEAP32[$71>>2]|0;
-  $76 = $74 & 2097151;
-  $77 = $76 << 11;
-  $78 = $75 & 2047;
-  $79 = $78 | $77;
-  HEAP32[$71>>2] = $79;
- } else {
-  if ($51) {
-   $84 = $53;
-  } else {
-   $80 = ((($53)) + 8|0);
-   $81 = HEAP32[$80>>2]|0;
-   $84 = $81;
-  }
-  $82 = $46;
-  $83 = $84;
-  $85 = (($82) - ($83))|0;
-  $86 = $5;
-  $87 = ((($86)) + 12|0);
-  HEAP32[$87>>2] = $85;
- }
- while(1) {
-  $88 = $6;
-  $89 = $7;
-  $90 = ($88>>>0)<($89>>>0);
-  if (!($90)) {
-   break;
-  }
-  $91 = $6;
-  $92 = HEAP8[$91>>0]|0;
-  $10 = $92;
-  $93 = $7;
-  $94 = ((($93)) + -1|0);
-  $7 = $94;
-  $95 = HEAP8[$94>>0]|0;
-  $96 = $6;
-  $97 = ((($96)) + 1|0);
-  $6 = $97;
-  HEAP8[$96>>0] = $95;
-  $98 = $10;
-  $99 = $7;
-  HEAP8[$99>>0] = $98;
- }
- $100 = $5;
- _mrb_obj_value_260($0,$100);
- STACKTOP = sp;return;
-}
-function _mrb_check_string_type($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_check_convert_type($0,$4,$$byval_copy,16,65324,65331);
- STACKTOP = sp;return;
-}
-function _mrb_cstr_to_inum($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
- var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
- var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
- var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
- var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
- var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
- var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
- var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
- var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0;
- var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
- var $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
- var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
- var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
- var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $vararg_buffer7 = sp + 24|0;
- $vararg_buffer4 = sp + 16|0;
- $vararg_buffer = sp + 8|0;
- $13 = sp;
- $15 = sp + 48|0;
- $16 = sp + 40|0;
- $17 = sp + 32|0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $10 = 1;
- $18 = $13;
- $19 = $18;
- HEAP32[$19>>2] = 0;
- $20 = (($18) + 4)|0;
- $21 = $20;
- HEAP32[$21>>2] = 0;
- $22 = $6;
- $23 = ($22|0)!=(0|0);
- do {
-  if ($23) {
-   while(1) {
-    $26 = $6;
-    $27 = HEAP8[$26>>0]|0;
-    $28 = $27 << 24 >> 24;
-    $29 = ($28|0)==(32);
-    if ($29) {
-     $330 = 1;
-    } else {
-     $30 = $6;
-     $31 = HEAP8[$30>>0]|0;
-     $32 = $31 << 24 >> 24;
-     $33 = (($32) - 9)|0;
-     $34 = ($33>>>0)<(5);
-     $330 = $34;
-    }
-    $35 = $6;
-    if (!($330)) {
-     break;
-    }
-    $36 = ((($35)) + 1|0);
-    $6 = $36;
-   }
-   $37 = HEAP8[$35>>0]|0;
-   $38 = $37 << 24 >> 24;
-   $39 = ($38|0)==(43);
-   $40 = $6;
-   if ($39) {
-    $41 = ((($40)) + 1|0);
-    $6 = $41;
-   } else {
-    $42 = HEAP8[$40>>0]|0;
-    $43 = $42 << 24 >> 24;
-    $44 = ($43|0)==(45);
-    if ($44) {
-     $45 = $6;
-     $46 = ((($45)) + 1|0);
-     $6 = $46;
-     $10 = 0;
-    }
-   }
-   $47 = $6;
-   $48 = HEAP8[$47>>0]|0;
-   $49 = $48 << 24 >> 24;
-   $50 = ($49|0)==(43);
-   if (!($50)) {
-    $51 = $6;
-    $52 = HEAP8[$51>>0]|0;
-    $53 = $52 << 24 >> 24;
-    $54 = ($53|0)==(45);
-    if (!($54)) {
-     $57 = $7;
-     $58 = ($57|0)<=(0);
-     L17: do {
-      if ($58) {
-       $59 = $6;
-       $60 = HEAP8[$59>>0]|0;
-       $61 = $60 << 24 >> 24;
-       $62 = ($61|0)==(48);
-       if (!($62)) {
-        $67 = $7;
-        $68 = ($67|0)<(-1);
-        if ($68) {
-         $69 = $7;
-         $70 = (0 - ($69))|0;
-         $7 = $70;
-         break;
-        } else {
-         $7 = 10;
-         break;
-        }
-       }
-       $63 = $6;
-       $64 = ((($63)) + 1|0);
-       $65 = HEAP8[$64>>0]|0;
-       $66 = $65 << 24 >> 24;
-       switch ($66|0) {
-       case 88: case 120:  {
-        $7 = 16;
-        break L17;
-        break;
-       }
-       case 66: case 98:  {
-        $7 = 2;
-        break L17;
-        break;
-       }
-       case 79: case 111:  {
-        $7 = 8;
-        break L17;
-        break;
-       }
-       case 68: case 100:  {
-        $7 = 10;
-        break L17;
-        break;
-       }
-       default: {
-        $7 = 8;
-        break L17;
-       }
-       }
-      }
-     } while(0);
-     $71 = $7;
-     L32: do {
-      switch ($71|0) {
-      case 2:  {
-       $72 = $6;
-       $73 = HEAP8[$72>>0]|0;
-       $74 = $73 << 24 >> 24;
-       $75 = ($74|0)==(48);
-       if ($75) {
-        $76 = $6;
-        $77 = ((($76)) + 1|0);
-        $78 = HEAP8[$77>>0]|0;
-        $79 = $78 << 24 >> 24;
-        $80 = ($79|0)==(98);
-        if (!($80)) {
-         $81 = $6;
-         $82 = ((($81)) + 1|0);
-         $83 = HEAP8[$82>>0]|0;
-         $84 = $83 << 24 >> 24;
-         $85 = ($84|0)==(66);
-         if (!($85)) {
-          break L32;
-         }
-        }
-        $86 = $6;
-        $87 = ((($86)) + 2|0);
-        $6 = $87;
-       }
-       break;
-      }
-      case 15: case 14: case 13: case 12: case 11: case 9: case 7: case 6: case 5: case 4: case 3:  {
-       break;
-      }
-      case 8:  {
-       $88 = $6;
-       $89 = HEAP8[$88>>0]|0;
-       $90 = $89 << 24 >> 24;
-       $91 = ($90|0)==(48);
-       if ($91) {
-        $92 = $6;
-        $93 = ((($92)) + 1|0);
-        $94 = HEAP8[$93>>0]|0;
-        $95 = $94 << 24 >> 24;
-        $96 = ($95|0)==(111);
-        if (!($96)) {
-         $97 = $6;
-         $98 = ((($97)) + 1|0);
-         $99 = HEAP8[$98>>0]|0;
-         $100 = $99 << 24 >> 24;
-         $101 = ($100|0)==(79);
-         if (!($101)) {
-          break L32;
-         }
-        }
-        $102 = $6;
-        $103 = ((($102)) + 2|0);
-        $6 = $103;
-       }
-       break;
-      }
-      case 10:  {
-       $104 = $6;
-       $105 = HEAP8[$104>>0]|0;
-       $106 = $105 << 24 >> 24;
-       $107 = ($106|0)==(48);
-       if ($107) {
-        $108 = $6;
-        $109 = ((($108)) + 1|0);
-        $110 = HEAP8[$109>>0]|0;
-        $111 = $110 << 24 >> 24;
-        $112 = ($111|0)==(100);
-        if (!($112)) {
-         $113 = $6;
-         $114 = ((($113)) + 1|0);
-         $115 = HEAP8[$114>>0]|0;
-         $116 = $115 << 24 >> 24;
-         $117 = ($116|0)==(68);
-         if (!($117)) {
-          break L32;
-         }
-        }
-        $118 = $6;
-        $119 = ((($118)) + 2|0);
-        $6 = $119;
-       }
-       break;
-      }
-      case 16:  {
-       $120 = $6;
-       $121 = HEAP8[$120>>0]|0;
-       $122 = $121 << 24 >> 24;
-       $123 = ($122|0)==(48);
-       if ($123) {
-        $124 = $6;
-        $125 = ((($124)) + 1|0);
-        $126 = HEAP8[$125>>0]|0;
-        $127 = $126 << 24 >> 24;
-        $128 = ($127|0)==(120);
-        if (!($128)) {
-         $129 = $6;
-         $130 = ((($129)) + 1|0);
-         $131 = HEAP8[$130>>0]|0;
-         $132 = $131 << 24 >> 24;
-         $133 = ($132|0)==(88);
-         if (!($133)) {
-          break L32;
-         }
-        }
-        $134 = $6;
-        $135 = ((($134)) + 2|0);
-        $6 = $135;
-       }
-       break;
-      }
-      default: {
-       $136 = $7;
-       $137 = ($136|0)<(2);
-       $138 = $7;
-       $139 = (36)<($138|0);
-       $or$cond = $137 | $139;
-       if ($or$cond) {
-        $140 = $5;
-        $141 = $5;
-        $142 = (_mrb_class_get($141,69160)|0);
-        $143 = $7;
-        _mrb_fixnum_value_290($15,$143);
-        ;HEAP8[$vararg_buffer>>0]=HEAP8[$15>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$15+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$15+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$15+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$15+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$15+7>>0]|0;
-        _mrb_raisef($140,$142,56069,$vararg_buffer);
-        // unreachable;
-       }
-      }
-      }
-     } while(0);
-     $144 = $6;
-     $145 = HEAP8[$144>>0]|0;
-     $146 = $145 << 24 >> 24;
-     $147 = ($146|0)==(48);
-     do {
-      if ($147) {
-       $12 = 0;
-       while(1) {
-        $148 = $6;
-        $149 = ((($148)) + 1|0);
-        $6 = $149;
-        $150 = HEAP8[$149>>0]|0;
-        $151 = $150 << 24 >> 24;
-        $11 = $151;
-        $152 = ($151|0)==(48);
-        $153 = $11;
-        $154 = ($153|0)==(95);
-        $155 = $152 ? 1 : $154;
-        if (!($155)) {
-         break;
-        }
-        $156 = $11;
-        $157 = ($156|0)==(95);
-        if ($157) {
-         $158 = $12;
-         $159 = (($158) + 1)|0;
-         $12 = $159;
-         $160 = ($159|0)>=(2);
-         if ($160) {
-          break;
-         } else {
-          continue;
-         }
-        } else {
-         $12 = 0;
-         continue;
-        }
-       }
-       $161 = $6;
-       $162 = HEAP8[$161>>0]|0;
-       $163 = $162 << 24 >> 24;
-       $11 = $163;
-       $164 = ($163|0)==(0);
-       $165 = $11;
-       $166 = ($165|0)==(32);
-       $or$cond3 = $164 | $166;
-       if (!($or$cond3)) {
-        $167 = $11;
-        $168 = (($167) - 9)|0;
-        $169 = ($168>>>0)<(5);
-        if (!($169)) {
-         break;
-        }
-       }
-       $170 = $6;
-       $171 = ((($170)) + -1|0);
-       $6 = $171;
-      }
-     } while(0);
-     $172 = $6;
-     $173 = HEAP8[$172>>0]|0;
-     $174 = $173 << 24 >> 24;
-     $11 = $174;
-     $175 = $11;
-     $176 = (($175) - 48)|0;
-     $177 = ($176>>>0)<(10);
-     $178 = $11;
-     do {
-      if ($177) {
-       $179 = (($178) - 48)|0;
-       $190 = $179;
-      } else {
-       $180 = (($178) - 97)|0;
-       $181 = ($180>>>0)<(26);
-       $182 = $11;
-       if ($181) {
-        $183 = (($182) - 97)|0;
-        $184 = (($183) + 10)|0;
-        $190 = $184;
-        break;
-       }
-       $185 = (($182) - 65)|0;
-       $186 = ($185>>>0)<(26);
-       if ($186) {
-        $187 = $11;
-        $188 = (($187) - 65)|0;
-        $189 = (($188) + 10)|0;
-        $190 = $189;
-       } else {
-        $190 = -1;
-       }
-      }
-     } while(0);
-     $11 = $190;
-     $191 = $11;
-     $192 = ($191|0)<(0);
-     if (!($192)) {
-      $193 = $11;
-      $194 = $7;
-      $195 = ($193|0)>=($194|0);
-      if (!($195)) {
-       $12 = 0;
-       $198 = $6;
-       $9 = $198;
-       while(1) {
-        $199 = $9;
-        $200 = HEAP8[$199>>0]|0;
-        $201 = ($200<<24>>24)!=(0);
-        if (!($201)) {
-         break;
-        }
-        $202 = $9;
-        $203 = HEAP8[$202>>0]|0;
-        $204 = $203 << 24 >> 24;
-        $205 = ($204|0)==(95);
-        if ($205) {
-         $206 = $12;
-         $207 = ($206|0)==(0);
-         if (!($207)) {
-          label = 70;
-          break;
-         }
-         $208 = $12;
-         $209 = (($208) + 1)|0;
-         $12 = $209;
-        } else {
-         $12 = 0;
-         $212 = $9;
-         $213 = HEAP8[$212>>0]|0;
-         $214 = $213 << 24 >> 24;
-         $215 = (($214) - 48)|0;
-         $216 = ($215>>>0)<(10);
-         $217 = $9;
-         $218 = HEAP8[$217>>0]|0;
-         $219 = $218 << 24 >> 24;
-         do {
-          if ($216) {
-           $220 = (($219) - 48)|0;
-           $235 = $220;
-          } else {
-           $221 = (($219) - 97)|0;
-           $222 = ($221>>>0)<(26);
-           $223 = $9;
-           $224 = HEAP8[$223>>0]|0;
-           $225 = $224 << 24 >> 24;
-           if ($222) {
-            $226 = (($225) - 97)|0;
-            $227 = (($226) + 10)|0;
-            $235 = $227;
-            break;
-           }
-           $228 = (($225) - 65)|0;
-           $229 = ($228>>>0)<(26);
-           if ($229) {
-            $230 = $9;
-            $231 = HEAP8[$230>>0]|0;
-            $232 = $231 << 24 >> 24;
-            $233 = (($232) - 65)|0;
-            $234 = (($233) + 10)|0;
-            $235 = $234;
-           } else {
-            $235 = -1;
-           }
-          }
-         } while(0);
-         $11 = $235;
-         $236 = $11;
-         $237 = ($236|0)<(0);
-         if ($237) {
-          label = 79;
-          break;
-         }
-         $238 = $11;
-         $239 = $7;
-         $240 = ($238|0)>=($239|0);
-         if ($240) {
-          label = 79;
-          break;
-         }
-         $243 = $7;
-         $244 = ($243|0)<(0);
-         $245 = $244 << 31 >> 31;
-         $246 = $13;
-         $247 = $246;
-         $248 = HEAP32[$247>>2]|0;
-         $249 = (($246) + 4)|0;
-         $250 = $249;
-         $251 = HEAP32[$250>>2]|0;
-         $252 = (___muldi3(($248|0),($251|0),($243|0),($245|0))|0);
-         $253 = tempRet0;
-         $254 = $13;
-         $255 = $254;
-         HEAP32[$255>>2] = $252;
-         $256 = (($254) + 4)|0;
-         $257 = $256;
-         HEAP32[$257>>2] = $253;
-         $258 = $11;
-         $259 = ($258|0)<(0);
-         $260 = $259 << 31 >> 31;
-         $261 = $13;
-         $262 = $261;
-         $263 = HEAP32[$262>>2]|0;
-         $264 = (($261) + 4)|0;
-         $265 = $264;
-         $266 = HEAP32[$265>>2]|0;
-         $267 = (_i64Add(($263|0),($266|0),($258|0),($260|0))|0);
-         $268 = tempRet0;
-         $269 = $13;
-         $270 = $269;
-         HEAP32[$270>>2] = $267;
-         $271 = (($269) + 4)|0;
-         $272 = $271;
-         HEAP32[$272>>2] = $268;
-         $273 = $13;
-         $274 = $273;
-         $275 = HEAP32[$274>>2]|0;
-         $276 = (($273) + 4)|0;
-         $277 = $276;
-         $278 = HEAP32[$277>>2]|0;
-         $279 = ($278>>>0)>(0);
-         $280 = ($275>>>0)>(2147483647);
-         $281 = ($278|0)==(0);
-         $282 = $281 & $280;
-         $283 = $279 | $282;
-         if ($283) {
-          label = 81;
-          break;
-         }
-        }
-        $289 = $9;
-        $290 = ((($289)) + 1|0);
-        $9 = $290;
-       }
-       if ((label|0) == 70) {
-        $210 = $8;
-        $211 = ($210|0)!=(0);
-        if ($211) {
-         break;
-        }
-       }
-       else if ((label|0) == 79) {
-        $241 = $8;
-        $242 = ($241|0)!=(0);
-        if ($242) {
-         break;
-        }
-       }
-       else if ((label|0) == 81) {
-        $284 = $5;
-        $285 = $5;
-        $286 = (_mrb_class_get($285,69160)|0);
-        $287 = $5;
-        $288 = $6;
-        _mrb_str_new_cstr($16,$287,$288);
-        ;HEAP8[$vararg_buffer4>>0]=HEAP8[$16>>0]|0;HEAP8[$vararg_buffer4+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$vararg_buffer4+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$vararg_buffer4+3>>0]=HEAP8[$16+3>>0]|0;HEAP8[$vararg_buffer4+4>>0]=HEAP8[$16+4>>0]|0;HEAP8[$vararg_buffer4+5>>0]=HEAP8[$16+5>>0]|0;HEAP8[$vararg_buffer4+6>>0]=HEAP8[$16+6>>0]|0;HEAP8[$vararg_buffer4+7>>0]=HEAP8[$16+7>>0]|0;
-        _mrb_raisef($284,$286,56086,$vararg_buffer4);
-        // unreachable;
-       }
-       $291 = $13;
-       $292 = $291;
-       $293 = HEAP32[$292>>2]|0;
-       $294 = (($291) + 4)|0;
-       $295 = $294;
-       $296 = HEAP32[$295>>2]|0;
-       $14 = $293;
-       $297 = $8;
-       $298 = ($297|0)!=(0);
-       if ($298) {
-        $299 = $9;
-        $300 = $6;
-        $301 = ($299|0)==($300|0);
-        if ($301) {
-         break;
-        }
-        while(1) {
-         $302 = $9;
-         $303 = HEAP8[$302>>0]|0;
-         $304 = $303 << 24 >> 24;
-         $305 = ($304|0)!=(0);
-         if ($305) {
-          $306 = $9;
-          $307 = HEAP8[$306>>0]|0;
-          $308 = $307 << 24 >> 24;
-          $309 = ($308|0)==(32);
-          if ($309) {
-           $331 = 1;
-          } else {
-           $310 = $9;
-           $311 = HEAP8[$310>>0]|0;
-           $312 = $311 << 24 >> 24;
-           $313 = (($312) - 9)|0;
-           $314 = ($313>>>0)<(5);
-           $331 = $314;
-          }
-         } else {
-          $331 = 0;
-         }
-         $315 = $9;
-         if (!($331)) {
-          break;
-         }
-         $316 = ((($315)) + 1|0);
-         $9 = $316;
-        }
-        $317 = HEAP8[$315>>0]|0;
-        $318 = ($317<<24>>24)!=(0);
-        if ($318) {
-         break;
-        }
-       }
-       $319 = $10;
-       $320 = $319 << 24 >> 24;
-       $321 = ($320|0)!=(0);
-       $322 = $14;
-       $323 = (0 - ($322))|0;
-       $324 = $321 ? $322 : $323;
-       _mrb_fixnum_value_290($0,$324);
-       STACKTOP = sp;return;
-      }
-     }
-     $196 = $8;
-     $197 = ($196|0)!=(0);
-     if ($197) {
-      break;
-     }
-     _mrb_fixnum_value_290($0,0);
-     STACKTOP = sp;return;
-    }
-   }
-   $55 = $8;
-   $56 = ($55|0)!=(0);
-   if (!($56)) {
-    _mrb_fixnum_value_290($0,0);
-    STACKTOP = sp;return;
-   }
-  } else {
-   $24 = $8;
-   $25 = ($24|0)!=(0);
-   if (!($25)) {
-    _mrb_fixnum_value_290($0,0);
-    STACKTOP = sp;return;
-   }
-  }
- } while(0);
- $325 = $5;
- $326 = $5;
- $327 = (_mrb_class_get($326,69160)|0);
- $328 = $5;
- $329 = $6;
- _mrb_str_new_cstr($17,$328,$329);
- ;HEAP8[$vararg_buffer7>>0]=HEAP8[$17>>0]|0;HEAP8[$vararg_buffer7+1>>0]=HEAP8[$17+1>>0]|0;HEAP8[$vararg_buffer7+2>>0]=HEAP8[$17+2>>0]|0;HEAP8[$vararg_buffer7+3>>0]=HEAP8[$17+3>>0]|0;HEAP8[$vararg_buffer7+4>>0]=HEAP8[$17+4>>0]|0;HEAP8[$vararg_buffer7+5>>0]=HEAP8[$17+5>>0]|0;HEAP8[$vararg_buffer7+6>>0]=HEAP8[$17+6>>0]|0;HEAP8[$vararg_buffer7+7>>0]=HEAP8[$17+7>>0]|0;
- _mrb_raisef($325,$327,56118,$vararg_buffer7);
- // unreachable;
-}
-function _mrb_fixnum_value_290($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_string_value_cstr($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 40|0;
- $5 = sp + 16|0;
- $3 = $0;
- $4 = $1;
- $9 = $3;
- $10 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_str_to_str($5,$9,$$byval_copy);
- $11 = HEAP32[$5>>2]|0;
- $6 = $11;
- $12 = $3;
- $13 = $6;
- $14 = (_mrb_str_strlen($12,$13)|0);
- $7 = $14;
- $15 = $6;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 >>> 11;
- $18 = $17 & 8;
- $19 = ($18|0)!=(0);
- $20 = $6;
- $21 = ((($20)) + 12|0);
- if ($19) {
-  $24 = $21;
- } else {
-  $22 = ((($21)) + 8|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = $23;
- }
- $8 = $24;
- $25 = $8;
- $26 = ($25|0)!=(0|0);
- if ($26) {
-  $27 = $8;
-  $28 = $7;
-  $29 = (($27) + ($28)|0);
-  $30 = HEAP8[$29>>0]|0;
-  $31 = $30 << 24 >> 24;
-  $32 = ($31|0)!=(0);
-  if (!($32)) {
-   $45 = $8;
-   $2 = $45;
-   $46 = $2;
-   STACKTOP = sp;return ($46|0);
-  }
- }
- $33 = $3;
- $34 = $6;
- _mrb_str_modify($33,$34);
- $35 = $6;
- $36 = HEAP32[$35>>2]|0;
- $37 = $36 >>> 11;
- $38 = $37 & 8;
- $39 = ($38|0)!=(0);
- $40 = $6;
- $41 = ((($40)) + 12|0);
- if ($39) {
-  $44 = $41;
- } else {
-  $42 = ((($41)) + 8|0);
-  $43 = HEAP32[$42>>2]|0;
-  $44 = $43;
- }
- $2 = $44;
- $46 = $2;
- STACKTOP = sp;return ($46|0);
-}
-function _mrb_str_to_inum($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 24|0;
- $5 = $1;
- $6 = $3;
- $7 = $4;
- $11 = $7;
- $12 = ($11<<24>>24)!=(0);
- $13 = $5;
- if ($12) {
-  $14 = (_mrb_string_value_cstr($13,$2)|0);
-  $8 = $14;
- } else {
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  $15 = (_mrb_string_value_ptr($13,$$byval_copy)|0);
-  $8 = $15;
- }
- $16 = $8;
- $17 = ($16|0)!=(0|0);
- if ($17) {
-  $18 = HEAP32[$2>>2]|0;
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $19 >>> 11;
-  $21 = $20 & 8;
-  $22 = ($21|0)!=(0);
-  $23 = HEAP32[$2>>2]|0;
-  if ($22) {
-   $24 = HEAP32[$23>>2]|0;
-   $25 = $24 >>> 11;
-   $26 = $25 & 496;
-   $27 = $26 >> 4;
-   $30 = $27;
-  } else {
-   $28 = ((($23)) + 12|0);
-   $29 = HEAP32[$28>>2]|0;
-   $30 = $29;
-  }
-  $9 = $30;
-  $31 = $8;
-  $32 = $9;
-  $33 = (($31) + ($32)|0);
-  $34 = HEAP8[$33>>0]|0;
-  $35 = ($34<<24>>24)!=(0);
-  if ($35) {
-   $36 = $5;
-   $37 = $8;
-   $38 = $9;
-   $39 = (_str_new($36,$37,$38)|0);
-   $10 = $39;
-   $40 = $10;
-   $41 = HEAP32[$40>>2]|0;
-   $42 = $41 >>> 11;
-   $43 = $42 & 8;
-   $44 = ($43|0)!=(0);
-   $45 = $10;
-   $46 = ((($45)) + 12|0);
-   if ($44) {
-    $49 = $46;
-   } else {
-    $47 = ((($46)) + 8|0);
-    $48 = HEAP32[$47>>2]|0;
-    $49 = $48;
-   }
-   $8 = $49;
-  }
- }
- $50 = $5;
- $51 = $8;
- $52 = $6;
- $53 = $7;
- $54 = $53&255;
- _mrb_cstr_to_inum($0,$50,$51,$52,$54);
- STACKTOP = sp;return;
-}
-function _mrb_cstr_to_dbl($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0.0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0.0, $152 = 0.0, $153 = 0;
- var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
- var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0.0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
- var $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
- var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
- var $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
- $vararg_buffer = sp + 16|0;
- $7 = sp + 40|0;
- $8 = sp + 54|0;
- $10 = sp + 32|0;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $14 = $5;
- $15 = ($14|0)!=(0|0);
- if (!($15)) {
-  $3 = 0.0;
-  $152 = $3;
-  STACKTOP = sp;return (+$152);
- }
- while(1) {
-  $16 = $5;
-  $17 = HEAP8[$16>>0]|0;
-  $18 = $17 << 24 >> 24;
-  $19 = ($18|0)==(32);
-  if (!($19)) {
-   $20 = $5;
-   $21 = HEAP8[$20>>0]|0;
-   $22 = $21 << 24 >> 24;
-   $23 = (($22) - 9)|0;
-   $24 = ($23>>>0)<(5);
-   if (!($24)) {
-    break;
-   }
-  }
-  $25 = $5;
-  $26 = ((($25)) + 1|0);
-  $5 = $26;
- }
- $27 = $6;
- $28 = ($27<<24>>24)!=(0);
- do {
-  if (!($28)) {
-   $29 = $5;
-   $30 = HEAP8[$29>>0]|0;
-   $31 = $30 << 24 >> 24;
-   $32 = ($31|0)==(48);
-   if ($32) {
-    $33 = $5;
-    $34 = ((($33)) + 1|0);
-    $35 = HEAP8[$34>>0]|0;
-    $36 = $35 << 24 >> 24;
-    $37 = ($36|0)==(120);
-    if (!($37)) {
-     $38 = $5;
-     $39 = ((($38)) + 1|0);
-     $40 = HEAP8[$39>>0]|0;
-     $41 = $40 << 24 >> 24;
-     $42 = ($41|0)==(88);
-     if (!($42)) {
-      break;
-     }
-    }
-    $3 = 0.0;
-    $152 = $3;
-    STACKTOP = sp;return (+$152);
-   }
-  }
- } while(0);
- $43 = $5;
- $44 = (+_strtod($43,$7));
- $9 = $44;
- $45 = $5;
- $46 = HEAP32[$7>>2]|0;
- $47 = ($45|0)==($46|0);
- L18: do {
-  if ($47) {
-   $48 = $6;
-   $49 = ($48<<24>>24)!=(0);
-   if (!($49)) {
-    $55 = $9;
-    $3 = $55;
-    $152 = $3;
-    STACKTOP = sp;return (+$152);
-   }
-  } else {
-   $56 = HEAP32[$7>>2]|0;
-   $57 = HEAP8[$56>>0]|0;
-   $58 = ($57<<24>>24)!=(0);
-   if ($58) {
-    $11 = $8;
-    $59 = ((($8)) + 70|0);
-    $60 = ((($59)) + -1|0);
-    $12 = $60;
-    $13 = 0;
-    while(1) {
-     $61 = $5;
-     $62 = HEAP32[$7>>2]|0;
-     $63 = ($61>>>0)<($62>>>0);
-     if (!($63)) {
-      break;
-     }
-     $64 = $11;
-     $65 = $12;
-     $66 = ($64>>>0)<($65>>>0);
-     if (!($66)) {
-      break;
-     }
-     $67 = $5;
-     $68 = ((($67)) + 1|0);
-     $5 = $68;
-     $69 = HEAP8[$67>>0]|0;
-     $70 = $11;
-     $71 = ((($70)) + 1|0);
-     $11 = $71;
-     HEAP8[$70>>0] = $69;
-     $13 = $69;
-    }
-    L29: while(1) {
-     $72 = $5;
-     $73 = HEAP8[$72>>0]|0;
-     $74 = ($73<<24>>24)!=(0);
-     if (!($74)) {
-      break;
-     }
-     $75 = $5;
-     $76 = HEAP8[$75>>0]|0;
-     $77 = $76 << 24 >> 24;
-     $78 = ($77|0)==(95);
-     if ($78) {
-      $79 = $6;
-      $80 = ($79<<24>>24)!=(0);
-      if (!($80)) {
-       while(1) {
-        $94 = $5;
-        $95 = ((($94)) + 1|0);
-        $5 = $95;
-        $96 = HEAP8[$95>>0]|0;
-        $97 = $96 << 24 >> 24;
-        $98 = ($97|0)==(95);
-        if (!($98)) {
-         continue L29;
-        }
-       }
-      }
-      $81 = $11;
-      $82 = ($81|0)==($8|0);
-      if ($82) {
-       break L18;
-      }
-      $83 = $13;
-      $84 = $83 << 24 >> 24;
-      $85 = (($84) - 48)|0;
-      $86 = ($85>>>0)<(10);
-      if (!($86)) {
-       break L18;
-      }
-      $87 = $5;
-      $88 = ((($87)) + 1|0);
-      $5 = $88;
-      $89 = $5;
-      $90 = HEAP8[$89>>0]|0;
-      $91 = $90 << 24 >> 24;
-      $92 = (($91) - 48)|0;
-      $93 = ($92>>>0)<(10);
-      if (!($93)) {
-       break L18;
-      }
-     }
-     $99 = $5;
-     $100 = ((($99)) + 1|0);
-     $5 = $100;
-     $101 = HEAP8[$99>>0]|0;
-     $13 = $101;
-     $102 = $11;
-     $103 = $12;
-     $104 = ($102>>>0)<($103>>>0);
-     if (!($104)) {
-      continue;
-     }
-     $105 = $13;
-     $106 = $11;
-     $107 = ((($106)) + 1|0);
-     $11 = $107;
-     HEAP8[$106>>0] = $105;
-    }
-    $108 = $11;
-    HEAP8[$108>>0] = 0;
-    $5 = $8;
-    $109 = $6;
-    $110 = ($109<<24>>24)!=(0);
-    do {
-     if (!($110)) {
-      $111 = $5;
-      $112 = HEAP8[$111>>0]|0;
-      $113 = $112 << 24 >> 24;
-      $114 = ($113|0)==(48);
-      if ($114) {
-       $115 = $5;
-       $116 = ((($115)) + 1|0);
-       $117 = HEAP8[$116>>0]|0;
-       $118 = $117 << 24 >> 24;
-       $119 = ($118|0)==(120);
-       if (!($119)) {
-        $120 = $5;
-        $121 = ((($120)) + 1|0);
-        $122 = HEAP8[$121>>0]|0;
-        $123 = $122 << 24 >> 24;
-        $124 = ($123|0)==(88);
-        if (!($124)) {
-         break;
-        }
-       }
-       $3 = 0.0;
-       $152 = $3;
-       STACKTOP = sp;return (+$152);
-      }
-     }
-    } while(0);
-    $125 = $5;
-    $126 = (+_strtod($125,$7));
-    $9 = $126;
-    $127 = $6;
-    $128 = ($127<<24>>24)!=(0);
-    if ($128) {
-     $129 = HEAP32[$7>>2]|0;
-     $130 = ($129|0)!=(0|0);
-     if (!($130)) {
-      break;
-     }
-     $131 = $5;
-     $132 = HEAP32[$7>>2]|0;
-     $133 = ($131|0)==($132|0);
-     if ($133) {
-      break;
-     }
-     while(1) {
-      $134 = HEAP32[$7>>2]|0;
-      $135 = HEAP8[$134>>0]|0;
-      $136 = $135 << 24 >> 24;
-      $137 = ($136|0)!=(0);
-      if ($137) {
-       $138 = HEAP32[$7>>2]|0;
-       $139 = HEAP8[$138>>0]|0;
-       $140 = $139 << 24 >> 24;
-       $141 = ($140|0)==(32);
-       if ($141) {
-        $153 = 1;
-       } else {
-        $142 = HEAP32[$7>>2]|0;
-        $143 = HEAP8[$142>>0]|0;
-        $144 = $143 << 24 >> 24;
-        $145 = (($144) - 9)|0;
-        $146 = ($145>>>0)<(5);
-        $153 = $146;
-       }
-      } else {
-       $153 = 0;
-      }
-      $147 = HEAP32[$7>>2]|0;
-      if (!($153)) {
-       break;
-      }
-      $148 = ((($147)) + 1|0);
-      HEAP32[$7>>2] = $148;
-     }
-     $149 = HEAP8[$147>>0]|0;
-     $150 = ($149<<24>>24)!=(0);
-     if ($150) {
-      break;
-     }
-    }
-   }
-   $151 = $9;
-   $3 = $151;
-   $152 = $3;
-   STACKTOP = sp;return (+$152);
-  }
- } while(0);
- $50 = $4;
- $51 = $4;
- $52 = (_mrb_class_get($51,69160)|0);
- $53 = $4;
- $54 = $5;
- _mrb_str_new_cstr($10,$53,$54);
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$10+7>>0]|0;
- _mrb_raisef($50,$52,56148,$vararg_buffer);
- // unreachable;
- return +(0.0);
-}
-function _mrb_str_to_dbl($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $7 = sp + 8|0;
- $3 = $0;
- $4 = $2;
- $9 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_str_to_str($7,$9,$$byval_copy);
- ;HEAP32[$1>>2]=HEAP32[$7>>2]|0;HEAP32[$1+4>>2]=HEAP32[$7+4>>2]|0;
- $10 = HEAP32[$1>>2]|0;
- $11 = HEAP32[$10>>2]|0;
- $12 = $11 >>> 11;
- $13 = $12 & 8;
- $14 = ($13|0)!=(0);
- $15 = HEAP32[$1>>2]|0;
- $16 = ((($15)) + 12|0);
- if ($14) {
-  $19 = $16;
- } else {
-  $17 = ((($16)) + 8|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = $18;
- }
- $5 = $19;
- $20 = HEAP32[$1>>2]|0;
- $21 = HEAP32[$20>>2]|0;
- $22 = $21 >>> 11;
- $23 = $22 & 8;
- $24 = ($23|0)!=(0);
- $25 = HEAP32[$1>>2]|0;
- if ($24) {
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $26 >>> 11;
-  $28 = $27 & 496;
-  $29 = $28 >> 4;
-  $32 = $29;
- } else {
-  $30 = ((($25)) + 12|0);
-  $31 = HEAP32[$30>>2]|0;
-  $32 = $31;
- }
- $6 = $32;
- $33 = $5;
- $34 = ($33|0)!=(0|0);
- if (!($34)) {
-  $64 = $3;
-  $65 = $5;
-  $66 = $4;
-  $67 = (+_mrb_cstr_to_dbl($64,$65,$66));
-  STACKTOP = sp;return (+$67);
- }
- $35 = $4;
- $36 = $35&255;
- $37 = ($36|0)!=(0);
- if ($37) {
-  $38 = $5;
-  $39 = $6;
-  $40 = (_memchr($38,0,$39)|0);
-  $41 = ($40|0)!=(0|0);
-  if ($41) {
-   $42 = $3;
-   $43 = $3;
-   $44 = (_mrb_class_get($43,69160)|0);
-   _mrb_raise($42,$44,56177);
-   // unreachable;
-  }
- }
- $45 = $5;
- $46 = $6;
- $47 = (($45) + ($46)|0);
- $48 = HEAP8[$47>>0]|0;
- $49 = ($48<<24>>24)!=(0);
- if (!($49)) {
-  $64 = $3;
-  $65 = $5;
-  $66 = $4;
-  $67 = (+_mrb_cstr_to_dbl($64,$65,$66));
-  STACKTOP = sp;return (+$67);
- }
- $50 = $3;
- $51 = $5;
- $52 = $6;
- $53 = (_str_new($50,$51,$52)|0);
- $8 = $53;
- $54 = $8;
- $55 = HEAP32[$54>>2]|0;
- $56 = $55 >>> 11;
- $57 = $56 & 8;
- $58 = ($57|0)!=(0);
- $59 = $8;
- $60 = ((($59)) + 12|0);
- if ($58) {
-  $63 = $60;
- } else {
-  $61 = ((($60)) + 8|0);
-  $62 = HEAP32[$61>>2]|0;
-  $63 = $62;
- }
- $5 = $63;
- $64 = $3;
- $65 = $5;
- $66 = $4;
- $67 = (+_mrb_cstr_to_dbl($64,$65,$66));
- STACKTOP = sp;return (+$67);
-}
-function _mrb_str_dump($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
- var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
- var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
- var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
- var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
- var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0;
- var $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
- var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 24|0;
- $3 = $1;
- $4 = 2;
- $11 = HEAP32[$2>>2]|0;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 8;
- $15 = ($14|0)!=(0);
- $16 = HEAP32[$2>>2]|0;
- $17 = ((($16)) + 12|0);
- if ($15) {
-  $20 = $17;
- } else {
-  $18 = ((($17)) + 8|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $19;
- }
- $5 = $20;
- $21 = $5;
- $22 = HEAP32[$2>>2]|0;
- $23 = HEAP32[$22>>2]|0;
- $24 = $23 >>> 11;
- $25 = $24 & 8;
- $26 = ($25|0)!=(0);
- $27 = HEAP32[$2>>2]|0;
- if ($26) {
-  $28 = HEAP32[$27>>2]|0;
-  $29 = $28 >>> 11;
-  $30 = $29 & 496;
-  $31 = $30 >> 4;
-  $35 = $31;
- } else {
-  $32 = ((($27)) + 12|0);
-  $33 = HEAP32[$32>>2]|0;
-  $35 = $33;
- }
- $34 = (($21) + ($35)|0);
- $6 = $34;
- L9: while(1) {
-  $36 = $5;
-  $37 = $6;
-  $38 = ($36>>>0)<($37>>>0);
-  if (!($38)) {
-   break;
-  }
-  $39 = $5;
-  $40 = ((($39)) + 1|0);
-  $5 = $40;
-  $41 = HEAP8[$39>>0]|0;
-  $9 = $41;
-  $42 = $9;
-  $43 = $42&255;
-  switch ($43|0) {
-  case 27: case 7: case 8: case 11: case 12: case 9: case 13: case 10: case 92: case 34:  {
-   $44 = $4;
-   $45 = (($44) + 2)|0;
-   $4 = $45;
-   continue L9;
-   break;
-  }
-  case 35:  {
-   $46 = $5;
-   $47 = $6;
-   $48 = ($46>>>0)<($47>>>0);
-   if ($48) {
-    $49 = $5;
-    $50 = HEAP8[$49>>0]|0;
-    $51 = $50 << 24 >> 24;
-    $52 = ($51|0)==(36);
-    if ($52) {
-     $62 = 1;
-    } else {
-     $53 = $5;
-     $54 = HEAP8[$53>>0]|0;
-     $55 = $54 << 24 >> 24;
-     $56 = ($55|0)==(64);
-     if ($56) {
-      $62 = 1;
-     } else {
-      $57 = $5;
-      $58 = HEAP8[$57>>0]|0;
-      $59 = $58 << 24 >> 24;
-      $60 = ($59|0)==(123);
-      $62 = $60;
-     }
-    }
-   } else {
-    $62 = 0;
-   }
-   $61 = $62 ? 2 : 1;
-   $63 = $4;
-   $64 = (($63) + ($61))|0;
-   $4 = $64;
-   continue L9;
-   break;
-  }
-  default: {
-   $65 = $9;
-   $66 = $65&255;
-   $67 = (($66) - 32)|0;
-   $68 = ($67>>>0)<(95);
-   $69 = $4;
-   if ($68) {
-    $70 = (($69) + 1)|0;
-    $4 = $70;
-    continue L9;
-   } else {
-    $71 = (($69) + 4)|0;
-    $4 = $71;
-    continue L9;
-   }
-  }
-  }
- }
- $72 = $3;
- $73 = $4;
- $74 = (_str_new($72,0,$73)|0);
- $8 = $74;
- $75 = $3;
- $76 = $8;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _str_with_class($75,$76,$$byval_copy);
- $77 = HEAP32[$2>>2]|0;
- $78 = HEAP32[$77>>2]|0;
- $79 = $78 >>> 11;
- $80 = $79 & 8;
- $81 = ($80|0)!=(0);
- $82 = HEAP32[$2>>2]|0;
- $83 = ((($82)) + 12|0);
- if ($81) {
-  $86 = $83;
- } else {
-  $84 = ((($83)) + 8|0);
-  $85 = HEAP32[$84>>2]|0;
-  $86 = $85;
- }
- $5 = $86;
- $87 = $5;
- $88 = HEAP32[$2>>2]|0;
- $89 = HEAP32[$88>>2]|0;
- $90 = $89 >>> 11;
- $91 = $90 & 8;
- $92 = ($91|0)!=(0);
- $93 = HEAP32[$2>>2]|0;
- if ($92) {
-  $94 = HEAP32[$93>>2]|0;
-  $95 = $94 >>> 11;
-  $96 = $95 & 496;
-  $97 = $96 >> 4;
-  $101 = $97;
- } else {
-  $98 = ((($93)) + 12|0);
-  $99 = HEAP32[$98>>2]|0;
-  $101 = $99;
- }
- $100 = (($87) + ($101)|0);
- $6 = $100;
- $102 = $8;
- $103 = HEAP32[$102>>2]|0;
- $104 = $103 >>> 11;
- $105 = $104 & 8;
- $106 = ($105|0)!=(0);
- $107 = $8;
- $108 = ((($107)) + 12|0);
- if ($106) {
-  $111 = $108;
- } else {
-  $109 = ((($108)) + 8|0);
-  $110 = HEAP32[$109>>2]|0;
-  $111 = $110;
- }
- $7 = $111;
- $112 = $7;
- $113 = ((($112)) + 1|0);
- $7 = $113;
- HEAP8[$112>>0] = 34;
- L37: while(1) {
-  $114 = $5;
-  $115 = $6;
-  $116 = ($114>>>0)<($115>>>0);
-  if (!($116)) {
-   break;
-  }
-  $117 = $5;
-  $118 = ((($117)) + 1|0);
-  $5 = $118;
-  $119 = HEAP8[$117>>0]|0;
-  $10 = $119;
-  $120 = $10;
-  $121 = $120&255;
-  do {
-   switch ($121|0) {
-   case 92: case 34:  {
-    $122 = $7;
-    $123 = ((($122)) + 1|0);
-    $7 = $123;
-    HEAP8[$122>>0] = 92;
-    $124 = $10;
-    $125 = $7;
-    $126 = ((($125)) + 1|0);
-    $7 = $126;
-    HEAP8[$125>>0] = $124;
-    continue L37;
-    break;
-   }
-   case 10:  {
-    $127 = $7;
-    $128 = ((($127)) + 1|0);
-    $7 = $128;
-    HEAP8[$127>>0] = 92;
-    $129 = $7;
-    $130 = ((($129)) + 1|0);
-    $7 = $130;
-    HEAP8[$129>>0] = 110;
-    continue L37;
-    break;
-   }
-   case 13:  {
-    $131 = $7;
-    $132 = ((($131)) + 1|0);
-    $7 = $132;
-    HEAP8[$131>>0] = 92;
-    $133 = $7;
-    $134 = ((($133)) + 1|0);
-    $7 = $134;
-    HEAP8[$133>>0] = 114;
-    continue L37;
-    break;
-   }
-   case 9:  {
-    $135 = $7;
-    $136 = ((($135)) + 1|0);
-    $7 = $136;
-    HEAP8[$135>>0] = 92;
-    $137 = $7;
-    $138 = ((($137)) + 1|0);
-    $7 = $138;
-    HEAP8[$137>>0] = 116;
-    continue L37;
-    break;
-   }
-   case 12:  {
-    $139 = $7;
-    $140 = ((($139)) + 1|0);
-    $7 = $140;
-    HEAP8[$139>>0] = 92;
-    $141 = $7;
-    $142 = ((($141)) + 1|0);
-    $7 = $142;
-    HEAP8[$141>>0] = 102;
-    continue L37;
-    break;
-   }
-   case 11:  {
-    $143 = $7;
-    $144 = ((($143)) + 1|0);
-    $7 = $144;
-    HEAP8[$143>>0] = 92;
-    $145 = $7;
-    $146 = ((($145)) + 1|0);
-    $7 = $146;
-    HEAP8[$145>>0] = 118;
-    continue L37;
-    break;
-   }
-   case 8:  {
-    $147 = $7;
-    $148 = ((($147)) + 1|0);
-    $7 = $148;
-    HEAP8[$147>>0] = 92;
-    $149 = $7;
-    $150 = ((($149)) + 1|0);
-    $7 = $150;
-    HEAP8[$149>>0] = 98;
-    continue L37;
-    break;
-   }
-   case 7:  {
-    $151 = $7;
-    $152 = ((($151)) + 1|0);
-    $7 = $152;
-    HEAP8[$151>>0] = 92;
-    $153 = $7;
-    $154 = ((($153)) + 1|0);
-    $7 = $154;
-    HEAP8[$153>>0] = 97;
-    continue L37;
-    break;
-   }
-   case 27:  {
-    $155 = $7;
-    $156 = ((($155)) + 1|0);
-    $7 = $156;
-    HEAP8[$155>>0] = 92;
-    $157 = $7;
-    $158 = ((($157)) + 1|0);
-    $7 = $158;
-    HEAP8[$157>>0] = 101;
-    continue L37;
-    break;
-   }
-   case 35:  {
-    $159 = $5;
-    $160 = $6;
-    $161 = ($159>>>0)<($160>>>0);
-    do {
-     if ($161) {
-      $162 = $5;
-      $163 = HEAP8[$162>>0]|0;
-      $164 = $163 << 24 >> 24;
-      $165 = ($164|0)==(36);
-      if (!($165)) {
-       $166 = $5;
-       $167 = HEAP8[$166>>0]|0;
-       $168 = $167 << 24 >> 24;
-       $169 = ($168|0)==(64);
-       if (!($169)) {
-        $170 = $5;
-        $171 = HEAP8[$170>>0]|0;
-        $172 = $171 << 24 >> 24;
-        $173 = ($172|0)==(123);
-        if (!($173)) {
-         break;
-        }
-       }
-      }
-      $174 = $7;
-      $175 = ((($174)) + 1|0);
-      $7 = $175;
-      HEAP8[$174>>0] = 92;
-     }
-    } while(0);
-    $176 = $7;
-    $177 = ((($176)) + 1|0);
-    $7 = $177;
-    HEAP8[$176>>0] = 35;
-    continue L37;
-    break;
-   }
-   default: {
-    $178 = $10;
-    $179 = $178&255;
-    $180 = (($179) - 32)|0;
-    $181 = ($180>>>0)<(95);
-    if ($181) {
-     $182 = $10;
-     $183 = $7;
-     $184 = ((($183)) + 1|0);
-     $7 = $184;
-     HEAP8[$183>>0] = $182;
-     continue L37;
-    } else {
-     $185 = $7;
-     $186 = ((($185)) + 1|0);
-     $7 = $186;
-     HEAP8[$185>>0] = 92;
-     $187 = $10;
-     $188 = $187&255;
-     $189 = (($188|0) % 8)&-1;
-     $190 = (48 + ($189))|0;
-     $191 = $190&255;
-     $192 = $7;
-     $193 = ((($192)) + 2|0);
-     HEAP8[$193>>0] = $191;
-     $194 = $10;
-     $195 = $194&255;
-     $196 = (($195|0) / 8)&-1;
-     $197 = $196&255;
-     $10 = $197;
-     $198 = $10;
-     $199 = $198&255;
-     $200 = (($199|0) % 8)&-1;
-     $201 = (48 + ($200))|0;
-     $202 = $201&255;
-     $203 = $7;
-     $204 = ((($203)) + 1|0);
-     HEAP8[$204>>0] = $202;
-     $205 = $10;
-     $206 = $205&255;
-     $207 = (($206|0) / 8)&-1;
-     $208 = $207&255;
-     $10 = $208;
-     $209 = $10;
-     $210 = $209&255;
-     $211 = (($210|0) % 8)&-1;
-     $212 = (48 + ($211))|0;
-     $213 = $212&255;
-     $214 = $7;
-     HEAP8[$214>>0] = $213;
-     $215 = $7;
-     $216 = ((($215)) + 3|0);
-     $7 = $216;
-     continue L37;
-    }
-   }
-   }
-  } while(0);
- }
- $217 = $7;
- HEAP8[$217>>0] = 34;
- $218 = $8;
- _mrb_obj_value_260($0,$218);
- STACKTOP = sp;return;
-}
-function _mrb_str_cat($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $5 = $1;
- $6 = $3;
- $7 = $4;
- $8 = $5;
- $9 = HEAP32[$2>>2]|0;
- $10 = $6;
- $11 = $7;
- _str_buf_cat($8,$9,$10,$11);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _str_buf_cat($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
- var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
- var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
- var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
- var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
- var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
- var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
- var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $10 = -1;
- $12 = $7;
- $13 = ($12|0)==(0);
- if ($13) {
-  STACKTOP = sp;return;
- }
- $14 = $4;
- $15 = $5;
- _mrb_str_modify($14,$15);
- $16 = $6;
- $17 = $5;
- $18 = HEAP32[$17>>2]|0;
- $19 = $18 >>> 11;
- $20 = $19 & 8;
- $21 = ($20|0)!=(0);
- $22 = $5;
- $23 = ((($22)) + 12|0);
- if ($21) {
-  $27 = $23;
- } else {
-  $24 = ((($23)) + 8|0);
-  $25 = HEAP32[$24>>2]|0;
-  $27 = $25;
- }
- $26 = ($16>>>0)>=($27>>>0);
- if ($26) {
-  $28 = $6;
-  $29 = $5;
-  $30 = HEAP32[$29>>2]|0;
-  $31 = $30 >>> 11;
-  $32 = $31 & 8;
-  $33 = ($32|0)!=(0);
-  $34 = $5;
-  $35 = ((($34)) + 12|0);
-  if ($33) {
-   $51 = $35;
-  } else {
-   $36 = ((($35)) + 8|0);
-   $37 = HEAP32[$36>>2]|0;
-   $51 = $37;
-  }
-  $38 = $5;
-  $39 = HEAP32[$38>>2]|0;
-  $40 = $39 >>> 11;
-  $41 = $40 & 8;
-  $42 = ($41|0)!=(0);
-  $43 = $5;
-  if ($42) {
-   $44 = HEAP32[$43>>2]|0;
-   $45 = $44 >>> 11;
-   $46 = $45 & 496;
-   $47 = $46 >> 4;
-   $52 = $47;
-  } else {
-   $48 = ((($43)) + 12|0);
-   $49 = HEAP32[$48>>2]|0;
-   $52 = $49;
-  }
-  $50 = (($51) + ($52)|0);
-  $53 = ($28>>>0)<=($50>>>0);
-  if ($53) {
-   $54 = $6;
-   $55 = $5;
-   $56 = HEAP32[$55>>2]|0;
-   $57 = $56 >>> 11;
-   $58 = $57 & 8;
-   $59 = ($58|0)!=(0);
-   $60 = $5;
-   $61 = ((($60)) + 12|0);
-   if ($59) {
-    $66 = $61;
-   } else {
-    $62 = ((($61)) + 8|0);
-    $63 = HEAP32[$62>>2]|0;
-    $66 = $63;
-   }
-   $64 = $54;
-   $65 = $66;
-   $67 = (($64) - ($65))|0;
-   $10 = $67;
-  }
- }
- $68 = $5;
- $69 = HEAP32[$68>>2]|0;
- $70 = $69 >>> 11;
- $71 = $70 & 8;
- $72 = ($71|0)!=(0);
- if ($72) {
-  $8 = 11;
- } else {
-  $73 = $5;
-  $74 = ((($73)) + 12|0);
-  $75 = ((($74)) + 4|0);
-  $76 = HEAP32[$75>>2]|0;
-  $8 = $76;
- }
- $77 = $5;
- $78 = HEAP32[$77>>2]|0;
- $79 = $78 >>> 11;
- $80 = $79 & 8;
- $81 = ($80|0)!=(0);
- $82 = $5;
- if ($81) {
-  $83 = HEAP32[$82>>2]|0;
-  $84 = $83 >>> 11;
-  $85 = $84 & 496;
-  $86 = $85 >> 4;
-  $92 = $86;
- } else {
-  $87 = ((($82)) + 12|0);
-  $88 = HEAP32[$87>>2]|0;
-  $92 = $88;
- }
- $89 = $7;
- $90 = (2147483647 - ($89))|0;
- $91 = ($92|0)>=($90|0);
- if ($91) {
-  $93 = $4;
-  $94 = $4;
-  $95 = (_mrb_class_get($94,69160)|0);
-  _mrb_raise($93,$95,55711);
-  // unreachable;
- }
- $96 = $5;
- $97 = HEAP32[$96>>2]|0;
- $98 = $97 >>> 11;
- $99 = $98 & 8;
- $100 = ($99|0)!=(0);
- $101 = $5;
- if ($100) {
-  $102 = HEAP32[$101>>2]|0;
-  $103 = $102 >>> 11;
-  $104 = $103 & 496;
-  $105 = $104 >> 4;
-  $110 = $105;
- } else {
-  $106 = ((($101)) + 12|0);
-  $107 = HEAP32[$106>>2]|0;
-  $110 = $107;
- }
- $108 = $7;
- $109 = (($110) + ($108))|0;
- $9 = $109;
- $111 = $8;
- $112 = $9;
- $113 = ($111>>>0)<=($112>>>0);
- if ($113) {
-  while(1) {
-   $114 = $9;
-   $115 = $8;
-   $116 = ($114>>>0)>($115>>>0);
-   if (!($116)) {
-    break;
-   }
-   $117 = $8;
-   $118 = (($117) + 1)|0;
-   $119 = ($118>>>0)>=(1073741823);
-   if ($119) {
-    label = 31;
-    break;
-   }
-   $123 = $8;
-   $124 = (($123) + 1)|0;
-   $125 = $124<<1;
-   $8 = $125;
-  }
-  if ((label|0) == 31) {
-   $120 = $9;
-   $121 = (($120) + 4095)|0;
-   $122 = (($121>>>0) / 4096)&-1;
-   $8 = $122;
-  }
-  $126 = $4;
-  $127 = $5;
-  $128 = $8;
-  _resize_capa($126,$127,$128);
- }
- $129 = $10;
- $130 = ($129|0)!=(-1);
- if ($130) {
-  $131 = $5;
-  $132 = HEAP32[$131>>2]|0;
-  $133 = $132 >>> 11;
-  $134 = $133 & 8;
-  $135 = ($134|0)!=(0);
-  $136 = $5;
-  $137 = ((($136)) + 12|0);
-  if ($135) {
-   $142 = $137;
-  } else {
-   $138 = ((($137)) + 8|0);
-   $139 = HEAP32[$138>>2]|0;
-   $142 = $139;
-  }
-  $140 = $10;
-  $141 = (($142) + ($140)|0);
-  $6 = $141;
- }
- $143 = $5;
- $144 = HEAP32[$143>>2]|0;
- $145 = $144 >>> 11;
- $146 = $145 & 8;
- $147 = ($146|0)!=(0);
- $148 = $5;
- $149 = ((($148)) + 12|0);
- if ($147) {
-  $165 = $149;
- } else {
-  $150 = ((($149)) + 8|0);
-  $151 = HEAP32[$150>>2]|0;
-  $165 = $151;
- }
- $152 = $5;
- $153 = HEAP32[$152>>2]|0;
- $154 = $153 >>> 11;
- $155 = $154 & 8;
- $156 = ($155|0)!=(0);
- $157 = $5;
- if ($156) {
-  $158 = HEAP32[$157>>2]|0;
-  $159 = $158 >>> 11;
-  $160 = $159 & 496;
-  $161 = $160 >> 4;
-  $166 = $161;
- } else {
-  $162 = ((($157)) + 12|0);
-  $163 = HEAP32[$162>>2]|0;
-  $166 = $163;
- }
- $164 = (($165) + ($166)|0);
- $167 = $6;
- $168 = $7;
- _memcpy(($164|0),($167|0),($168|0))|0;
- $169 = $5;
- $170 = HEAP32[$169>>2]|0;
- $171 = $170 >>> 11;
- $172 = $171 & 8;
- $173 = ($172|0)!=(0);
- $174 = $9;
- if ($173) {
-  $11 = $174;
-  $175 = $5;
-  $176 = HEAP32[$175>>2]|0;
-  $177 = $176 >>> 11;
-  $178 = $177 & -497;
-  $179 = HEAP32[$175>>2]|0;
-  $180 = $178 & 2097151;
-  $181 = $180 << 11;
-  $182 = $179 & 2047;
-  $183 = $182 | $181;
-  HEAP32[$175>>2] = $183;
-  $184 = $11;
-  $185 = $184 << 4;
-  $186 = $5;
-  $187 = HEAP32[$186>>2]|0;
-  $188 = $187 >>> 11;
-  $189 = $188 | $185;
-  $190 = HEAP32[$186>>2]|0;
-  $191 = $189 & 2097151;
-  $192 = $191 << 11;
-  $193 = $190 & 2047;
-  $194 = $193 | $192;
-  HEAP32[$186>>2] = $194;
- } else {
-  $195 = $5;
-  $196 = ((($195)) + 12|0);
-  HEAP32[$196>>2] = $174;
- }
- $197 = $5;
- $198 = HEAP32[$197>>2]|0;
- $199 = $198 >>> 11;
- $200 = $199 & 8;
- $201 = ($200|0)!=(0);
- $202 = $5;
- $203 = ((($202)) + 12|0);
- if ($201) {
-  $208 = $203;
- } else {
-  $204 = ((($203)) + 8|0);
-  $205 = HEAP32[$204>>2]|0;
-  $208 = $205;
- }
- $206 = $9;
- $207 = (($208) + ($206)|0);
- HEAP8[$207>>0] = 0;
- STACKTOP = sp;return;
-}
-function _mrb_str_cat_cstr($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $4 = $1;
- $5 = $3;
- $6 = $4;
- $7 = $5;
- $8 = $5;
- $9 = (_strlen($8)|0);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_str_cat($0,$6,$$byval_copy,$7,$9);
- STACKTOP = sp;return;
-}
-function _mrb_str_cat_str($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $4 = $1;
- $5 = $4;
- $6 = HEAP32[$3>>2]|0;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7 >>> 11;
- $9 = $8 & 8;
- $10 = ($9|0)!=(0);
- $11 = HEAP32[$3>>2]|0;
- $12 = ((($11)) + 12|0);
- if ($10) {
-  $27 = $12;
- } else {
-  $13 = ((($12)) + 8|0);
-  $14 = HEAP32[$13>>2]|0;
-  $27 = $14;
- }
- $15 = HEAP32[$3>>2]|0;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 >>> 11;
- $18 = $17 & 8;
- $19 = ($18|0)!=(0);
- $20 = HEAP32[$3>>2]|0;
- if ($19) {
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $21 >>> 11;
-  $23 = $22 & 496;
-  $24 = $23 >> 4;
-  $28 = $24;
- } else {
-  $25 = ((($20)) + 12|0);
-  $26 = HEAP32[$25>>2]|0;
-  $28 = $26;
- }
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_str_cat($0,$5,$$byval_copy,$27,$28);
- STACKTOP = sp;return;
-}
-function _mrb_str_append($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 32|0;
- $$byval_copy1 = sp + 24|0;
- $$byval_copy = sp + 16|0;
- $5 = sp;
- $4 = $1;
- $6 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_str_to_str($5,$6,$$byval_copy);
- ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;
- $7 = $4;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_str_cat_str($0,$7,$$byval_copy1,$$byval_copy2);
- STACKTOP = sp;return;
-}
-function _mrb_str_inspect($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
- var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
- var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
- var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
- var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
- var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
- var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
- var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
- $$byval_copy5 = sp + 120|0;
- $$byval_copy4 = sp + 112|0;
- $$byval_copy3 = sp + 104|0;
- $$byval_copy2 = sp + 96|0;
- $$byval_copy1 = sp + 88|0;
- $$byval_copy = sp + 80|0;
- $6 = sp + 130|0;
- $7 = sp + 56|0;
- $12 = sp + 40|0;
- $13 = sp + 32|0;
- $14 = sp + 24|0;
- $15 = sp + 16|0;
- $16 = sp + 8|0;
- $17 = sp;
- $3 = $1;
- $18 = $3;
- _mrb_str_new_static($7,$18,56213,1);
- $19 = HEAP32[$2>>2]|0;
- $20 = HEAP32[$19>>2]|0;
- $21 = $20 >>> 11;
- $22 = $21 & 8;
- $23 = ($22|0)!=(0);
- $24 = HEAP32[$2>>2]|0;
- $25 = ((($24)) + 12|0);
- if ($23) {
-  $28 = $25;
- } else {
-  $26 = ((($25)) + 8|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = $27;
- }
- $4 = $28;
- $29 = HEAP32[$2>>2]|0;
- $30 = HEAP32[$29>>2]|0;
- $31 = $30 >>> 11;
- $32 = $31 & 8;
- $33 = ($32|0)!=(0);
- $34 = HEAP32[$2>>2]|0;
- $35 = ((($34)) + 12|0);
- if ($33) {
-  $51 = $35;
- } else {
-  $36 = ((($35)) + 8|0);
-  $37 = HEAP32[$36>>2]|0;
-  $51 = $37;
- }
- $38 = HEAP32[$2>>2]|0;
- $39 = HEAP32[$38>>2]|0;
- $40 = $39 >>> 11;
- $41 = $40 & 8;
- $42 = ($41|0)!=(0);
- $43 = HEAP32[$2>>2]|0;
- if ($42) {
-  $44 = HEAP32[$43>>2]|0;
-  $45 = $44 >>> 11;
-  $46 = $45 & 496;
-  $47 = $46 >> 4;
-  $52 = $47;
- } else {
-  $48 = ((($43)) + 12|0);
-  $49 = HEAP32[$48>>2]|0;
-  $52 = $49;
- }
- $50 = (($51) + ($52)|0);
- $5 = $50;
- while(1) {
-  $53 = $4;
-  $54 = $5;
-  $55 = ($53>>>0)<($54>>>0);
-  if (!($55)) {
-   break;
-  }
-  $56 = $4;
-  $57 = $5;
-  $58 = (_utf8len($56,$57)|0);
-  $10 = $58;
-  $59 = $10;
-  $60 = ($59|0)>(1);
-  L16: do {
-   if ($60) {
-    $11 = 0;
-    while(1) {
-     $61 = $11;
-     $62 = $10;
-     $63 = ($61|0)<($62|0);
-     if (!($63)) {
-      break;
-     }
-     $64 = $4;
-     $65 = $11;
-     $66 = (($64) + ($65)|0);
-     $67 = HEAP8[$66>>0]|0;
-     $68 = $11;
-     $69 = (($6) + ($68)|0);
-     HEAP8[$69>>0] = $67;
-     $70 = $11;
-     $71 = (($70) + 1)|0;
-     $11 = $71;
-    }
-    $72 = $3;
-    $73 = $10;
-    ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
-    _mrb_str_cat($12,$72,$$byval_copy,$6,$73);
-    $74 = $10;
-    $75 = (($74) - 1)|0;
-    $76 = $4;
-    $77 = (($76) + ($75)|0);
-    $4 = $77;
-   } else {
-    $78 = $4;
-    $79 = HEAP8[$78>>0]|0;
-    $8 = $79;
-    $80 = $8;
-    $81 = $80&255;
-    $82 = ($81|0)==(34);
-    do {
-     if (!($82)) {
-      $83 = $8;
-      $84 = $83&255;
-      $85 = ($84|0)==(92);
-      if (!($85)) {
-       $86 = $8;
-       $87 = $86&255;
-       $88 = ($87|0)==(35);
-       if ($88) {
-        $89 = $4;
-        $90 = $5;
-        $91 = ($89>>>0)<($90>>>0);
-        if ($91) {
-         $92 = $4;
-         $93 = HEAP8[$92>>0]|0;
-         $94 = $93 << 24 >> 24;
-         $95 = ($94|0)==(36);
-         if ($95) {
-          break;
-         }
-         $96 = $4;
-         $97 = HEAP8[$96>>0]|0;
-         $98 = $97 << 24 >> 24;
-         $99 = ($98|0)==(64);
-         if ($99) {
-          break;
-         }
-         $100 = $4;
-         $101 = HEAP8[$100>>0]|0;
-         $102 = $101 << 24 >> 24;
-         $103 = ($102|0)==(123);
-         if ($103) {
-          break;
-         }
-        }
-       }
-       $107 = $8;
-       $108 = $107&255;
-       $109 = (($108) - 32)|0;
-       $110 = ($109>>>0)<(95);
-       $111 = $8;
-       if ($110) {
-        HEAP8[$6>>0] = $111;
-        $112 = $3;
-        ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0;
-        _mrb_str_cat($14,$112,$$byval_copy2,$6,1);
-        break L16;
-       }
-       $113 = $111&255;
-       switch ($113|0) {
-       case 10:  {
-        $9 = 110;
-        break;
-       }
-       case 13:  {
-        $9 = 114;
-        break;
-       }
-       case 9:  {
-        $9 = 116;
-        break;
-       }
-       case 12:  {
-        $9 = 102;
-        break;
-       }
-       case 11:  {
-        $9 = 118;
-        break;
-       }
-       case 8:  {
-        $9 = 98;
-        break;
-       }
-       case 7:  {
-        $9 = 97;
-        break;
-       }
-       case 27:  {
-        $9 = 101;
-        break;
-       }
-       default: {
-        $9 = 0;
-       }
-       }
-       $114 = $9;
-       $115 = ($114<<24>>24)!=(0);
-       HEAP8[$6>>0] = 92;
-       if ($115) {
-        $116 = $9;
-        $117 = ((($6)) + 1|0);
-        HEAP8[$117>>0] = $116;
-        $118 = $3;
-        ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
-        _mrb_str_cat($15,$118,$$byval_copy3,$6,2);
-        break L16;
-       } else {
-        $119 = $8;
-        $120 = $119&255;
-        $121 = (($120|0) % 8)&-1;
-        $122 = (48 + ($121))|0;
-        $123 = $122&255;
-        $124 = ((($6)) + 3|0);
-        HEAP8[$124>>0] = $123;
-        $125 = $8;
-        $126 = $125&255;
-        $127 = (($126|0) / 8)&-1;
-        $128 = $127&255;
-        $8 = $128;
-        $129 = $8;
-        $130 = $129&255;
-        $131 = (($130|0) % 8)&-1;
-        $132 = (48 + ($131))|0;
-        $133 = $132&255;
-        $134 = ((($6)) + 2|0);
-        HEAP8[$134>>0] = $133;
-        $135 = $8;
-        $136 = $135&255;
-        $137 = (($136|0) / 8)&-1;
-        $138 = $137&255;
-        $8 = $138;
-        $139 = $8;
-        $140 = $139&255;
-        $141 = (($140|0) % 8)&-1;
-        $142 = (48 + ($141))|0;
-        $143 = $142&255;
-        $144 = ((($6)) + 1|0);
-        HEAP8[$144>>0] = $143;
-        $145 = $3;
-        ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0;
-        _mrb_str_cat($16,$145,$$byval_copy4,$6,4);
-        break L16;
-       }
-      }
-     }
-    } while(0);
-    HEAP8[$6>>0] = 92;
-    $104 = $8;
-    $105 = ((($6)) + 1|0);
-    HEAP8[$105>>0] = $104;
-    $106 = $3;
-    ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
-    _mrb_str_cat($13,$106,$$byval_copy1,$6,2);
-   }
-  } while(0);
-  $146 = $4;
-  $147 = ((($146)) + 1|0);
-  $4 = $147;
- }
- $148 = $3;
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_str_cat($17,$148,$$byval_copy5,56213,1);
- ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_init_string($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $100 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
- var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
- var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
- var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = $1;
- $5 = ((($4)) + 32|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (_mrb_define_class($3,65324,$6)|0);
- $2 = $7;
- $8 = $1;
- $9 = ((($8)) + 48|0);
- HEAP32[$9>>2] = $7;
- $10 = $2;
- $11 = HEAP32[$10>>2]|0;
- $12 = $11 >>> 11;
- $13 = $12 & -256;
- $14 = $13 | 16;
- $15 = $2;
- $16 = HEAP32[$15>>2]|0;
- $17 = $14 & 2097151;
- $18 = $17 << 11;
- $19 = $16 & 2047;
- $20 = $19 | $18;
- HEAP32[$15>>2] = $20;
- $21 = $1;
- $22 = $2;
- _mrb_define_method($21,$22,56215,84,0);
- $23 = $1;
- $24 = $2;
- _mrb_define_method($23,$24,69156,85,262144);
- $25 = $1;
- $26 = $2;
- _mrb_define_method($25,$26,69201,86,262144);
- $27 = $1;
- $28 = $2;
- _mrb_define_method($27,$28,64614,87,262144);
- $29 = $1;
- $30 = $2;
- _mrb_define_method($29,$30,68856,88,262144);
- $31 = $1;
- $32 = $2;
- _mrb_define_method($31,$32,69083,89,4096);
- $33 = $1;
- $34 = $2;
- _mrb_define_method($33,$34,56224,90,0);
- $35 = $1;
- $36 = $2;
- _mrb_define_method($35,$36,56235,91,0);
- $37 = $1;
- $38 = $2;
- _mrb_define_method($37,$38,56247,92,4096);
- $39 = $1;
- $40 = $2;
- _mrb_define_method($39,$40,56253,93,4096);
- $41 = $1;
- $42 = $2;
- _mrb_define_method($41,$42,56260,94,262144);
- $43 = $1;
- $44 = $2;
- _mrb_define_method($43,$44,56265,95,262144);
- $45 = $1;
- $46 = $2;
- _mrb_define_method($45,$46,56271,96,0);
- $47 = $1;
- $48 = $2;
- _mrb_define_method($47,$48,56280,97,0);
- $49 = $1;
- $50 = $2;
- _mrb_define_method($49,$50,64646,98,0);
- $51 = $1;
- $52 = $2;
- _mrb_define_method($51,$52,69289,99,262144);
- $53 = $1;
- $54 = $2;
- _mrb_define_method($53,$54,68413,100,0);
- $55 = $1;
- $56 = $2;
- _mrb_define_method($55,$56,69243,101,262144);
- $57 = $1;
- $58 = $2;
- _mrb_define_method($57,$58,64653,102,4096);
- $59 = $1;
- $60 = $2;
- _mrb_define_method($59,$60,69252,103,262144);
- $61 = $1;
- $62 = $2;
- _mrb_define_method($61,$62,69294,104,262144);
- $63 = $1;
- $64 = $2;
- _mrb_define_method($63,$64,69712,105,0);
- $65 = $1;
- $66 = $2;
- _mrb_define_method($65,$66,64664,106,0);
- $67 = $1;
- $68 = $2;
- _mrb_define_method($67,$68,64680,104,262144);
- $69 = $1;
- $70 = $2;
- _mrb_define_method($69,$70,64688,107,0);
- $71 = $1;
- $72 = $2;
- _mrb_define_method($71,$72,64696,108,0);
- $73 = $1;
- $74 = $2;
- _mrb_define_method($73,$74,64705,109,4096);
- $75 = $1;
- $76 = $2;
- _mrb_define_method($75,$76,64718,106,0);
- $77 = $1;
- $78 = $2;
- _mrb_define_method($77,$78,64723,89,4096);
- $79 = $1;
- $80 = $2;
- _mrb_define_method($79,$80,56290,110,4096);
- $81 = $1;
- $82 = $2;
- _mrb_define_method($81,$82,56296,111,0);
- $83 = $1;
- $84 = $2;
- _mrb_define_method($83,$84,56301,112,4096);
- $85 = $1;
- $86 = $2;
- _mrb_define_method($85,$86,69276,113,0);
- $87 = $1;
- $88 = $2;
- _mrb_define_method($87,$88,65331,113,0);
- $89 = $1;
- $90 = $2;
- _mrb_define_method($89,$90,56499,105,0);
- $91 = $1;
- $92 = $2;
- _mrb_define_method($91,$92,56306,114,0);
- $93 = $1;
- $94 = $2;
- _mrb_define_method($93,$94,56313,115,0);
- $95 = $1;
- $96 = $2;
- _mrb_define_method($95,$96,69281,116,0);
- $97 = $1;
- $98 = $2;
- _mrb_define_method($97,$98,56321,117,0);
- $99 = $1;
- $100 = $2;
- _mrb_define_method($99,$100,56327,118,0);
- STACKTOP = sp;return;
-}
-function _mrb_str_bytesize($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $6 = HEAP32[$5>>2]|0;
- $7 = $6 >>> 11;
- $8 = $7 & 8;
- $9 = ($8|0)!=(0);
- $10 = HEAP32[$2>>2]|0;
- if ($9) {
-  $11 = HEAP32[$10>>2]|0;
-  $12 = $11 >>> 11;
-  $13 = $12 & 496;
-  $14 = $13 >> 4;
-  $17 = $14;
- } else {
-  $15 = ((($10)) + 12|0);
-  $16 = HEAP32[$15>>2]|0;
-  $17 = $16;
- }
- $4 = $17;
- $18 = $4;
- _mrb_fixnum_value_290($0,$18);
- STACKTOP = sp;return;
-}
-function _mrb_str_cmp_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
- var $vararg_buffer4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy11 = sp + 104|0;
- $$byval_copy10 = sp + 96|0;
- $$byval_copy9 = sp + 88|0;
- $$byval_copy8 = sp + 80|0;
- $$byval_copy7 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $vararg_buffer4 = sp + 16|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 48|0;
- $6 = sp + 32|0;
- $7 = sp + 24|0;
- $3 = $1;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($8,69199,$vararg_buffer)|0);
- $9 = ((($4)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(16);
- $12 = $3;
- do {
-  if ($11) {
-   ;HEAP32[$$byval_copy10>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$2+4>>2]|0;
-   ;HEAP32[$$byval_copy11>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$4+4>>2]|0;
-   $33 = (_mrb_str_cmp($12,$$byval_copy10,$$byval_copy11)|0);
-   $5 = $33;
-  } else {
-   $13 = $3;
-   $14 = (_mrb_intern_static($13,69276,4)|0);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-   $15 = (_mrb_respond_to($12,$$byval_copy,$14)|0);
-   $16 = ($15<<24>>24)!=(0);
-   if (!($16)) {
-    _mrb_nil_value_283($0);
-    STACKTOP = sp;return;
-   }
-   $17 = $3;
-   $18 = $3;
-   $19 = (_mrb_intern_static($18,69156,3)|0);
-   ;HEAP32[$$byval_copy7>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$4+4>>2]|0;
-   $20 = (_mrb_respond_to($17,$$byval_copy7,$19)|0);
-   $21 = ($20<<24>>24)!=(0);
-   if (!($21)) {
-    _mrb_nil_value_283($0);
-    STACKTOP = sp;return;
-   }
-   $22 = $3;
-   ;HEAP8[$vararg_buffer1>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$2+7>>0]|0;
-   ;HEAP32[$$byval_copy8>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$4+4>>2]|0;
-   _mrb_funcall($6,$22,$$byval_copy8,69156,1,$vararg_buffer1);
-   $23 = ((($6)) + 4|0);
-   $24 = HEAP32[$23>>2]|0;
-   $25 = ($24|0)==(0);
-   if ($25) {
-    $26 = HEAP32[$6>>2]|0;
-    $27 = ($26|0)!=(0);
-    if (!($27)) {
-     _mrb_nil_value_283($0);
-     STACKTOP = sp;return;
-    }
-   }
-   $28 = HEAP32[$6>>2]|0;
-   $29 = ($28|0)!=(0);
-   if ($29) {
-    $31 = HEAP32[$6>>2]|0;
-    $32 = (0 - ($31))|0;
-    $5 = $32;
-    break;
-   }
-   $30 = $3;
-   _mrb_fixnum_value_290($7,0);
-   ;HEAP8[$vararg_buffer4>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer4+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer4+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer4+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer4+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer4+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer4+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer4+7>>0]=HEAP8[$6+7>>0]|0;
-   ;HEAP32[$$byval_copy9>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$7+4>>2]|0;
-   _mrb_funcall($0,$30,$$byval_copy9,69660,1,$vararg_buffer4);
-   STACKTOP = sp;return;
-  }
- } while(0);
- $34 = $5;
- _mrb_fixnum_value_290($0,$34);
- STACKTOP = sp;return;
-}
-function _mrb_str_equal_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $7 = (_mrb_str_equal($6,$$byval_copy,$$byval_copy1)|0);
- _mrb_bool_value_340($0,$7);
- STACKTOP = sp;return;
-}
-function _mrb_str_plus_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,56362,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_plus($0,$6,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _mrb_str_times($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
- var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
- var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
- var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
- var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
- var $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $6 = sp + 12|0;
- $3 = $1;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $6;
- (_mrb_get_args($9,64797,$vararg_buffer)|0);
- $10 = HEAP32[$6>>2]|0;
- $11 = ($10|0)<(0);
- if ($11) {
-  $12 = $3;
-  $13 = $3;
-  $14 = (_mrb_class_get($13,69160)|0);
-  _mrb_raise($12,$14,64813);
-  // unreachable;
- }
- $15 = HEAP32[$6>>2]|0;
- $16 = ($15|0)!=(0);
- if ($16) {
-  $17 = HEAP32[$6>>2]|0;
-  $18 = (2147483647 / ($17|0))&-1;
-  $19 = HEAP32[$2>>2]|0;
-  $20 = HEAP32[$19>>2]|0;
-  $21 = $20 >>> 11;
-  $22 = $21 & 8;
-  $23 = ($22|0)!=(0);
-  $24 = HEAP32[$2>>2]|0;
-  if ($23) {
-   $25 = HEAP32[$24>>2]|0;
-   $26 = $25 >>> 11;
-   $27 = $26 & 496;
-   $28 = $27 >> 4;
-   $32 = $28;
-  } else {
-   $29 = ((($24)) + 12|0);
-   $30 = HEAP32[$29>>2]|0;
-   $32 = $30;
-  }
-  $31 = ($18|0)<($32|0);
-  if ($31) {
-   $33 = $3;
-   $34 = $3;
-   $35 = (_mrb_class_get($34,69160)|0);
-   _mrb_raise($33,$35,56432);
-   // unreachable;
-  }
- }
- $36 = HEAP32[$2>>2]|0;
- $37 = HEAP32[$36>>2]|0;
- $38 = $37 >>> 11;
- $39 = $38 & 8;
- $40 = ($39|0)!=(0);
- $41 = HEAP32[$2>>2]|0;
- if ($40) {
-  $42 = HEAP32[$41>>2]|0;
-  $43 = $42 >>> 11;
-  $44 = $43 & 496;
-  $45 = $44 >> 4;
-  $50 = $45;
- } else {
-  $46 = ((($41)) + 12|0);
-  $47 = HEAP32[$46>>2]|0;
-  $50 = $47;
- }
- $48 = HEAP32[$6>>2]|0;
- $49 = Math_imul($50, $48)|0;
- $5 = $49;
- $51 = $3;
- $52 = $5;
- $53 = (_str_new($51,0,$52)|0);
- $7 = $53;
- $54 = $3;
- $55 = $7;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _str_with_class($54,$55,$$byval_copy);
- $56 = $7;
- $57 = HEAP32[$56>>2]|0;
- $58 = $57 >>> 11;
- $59 = $58 & 8;
- $60 = ($59|0)!=(0);
- $61 = $7;
- $62 = ((($61)) + 12|0);
- if ($60) {
-  $65 = $62;
- } else {
-  $63 = ((($62)) + 8|0);
-  $64 = HEAP32[$63>>2]|0;
-  $65 = $64;
- }
- $8 = $65;
- $66 = $5;
- $67 = ($66|0)>(0);
- if ($67) {
-  $68 = HEAP32[$2>>2]|0;
-  $69 = HEAP32[$68>>2]|0;
-  $70 = $69 >>> 11;
-  $71 = $70 & 8;
-  $72 = ($71|0)!=(0);
-  $73 = HEAP32[$2>>2]|0;
-  if ($72) {
-   $74 = HEAP32[$73>>2]|0;
-   $75 = $74 >>> 11;
-   $76 = $75 & 496;
-   $77 = $76 >> 4;
-   $80 = $77;
-  } else {
-   $78 = ((($73)) + 12|0);
-   $79 = HEAP32[$78>>2]|0;
-   $80 = $79;
-  }
-  $4 = $80;
-  $81 = $8;
-  $82 = HEAP32[$2>>2]|0;
-  $83 = HEAP32[$82>>2]|0;
-  $84 = $83 >>> 11;
-  $85 = $84 & 8;
-  $86 = ($85|0)!=(0);
-  $87 = HEAP32[$2>>2]|0;
-  $88 = ((($87)) + 12|0);
-  if ($86) {
-   $92 = $88;
-  } else {
-   $89 = ((($88)) + 8|0);
-   $90 = HEAP32[$89>>2]|0;
-   $92 = $90;
-  }
-  $91 = $4;
-  _memcpy(($81|0),($92|0),($91|0))|0;
-  while(1) {
-   $93 = $4;
-   $94 = $5;
-   $95 = (($94|0) / 2)&-1;
-   $96 = ($93|0)<=($95|0);
-   $97 = $8;
-   $98 = $4;
-   $99 = (($97) + ($98)|0);
-   $100 = $8;
-   if (!($96)) {
-    break;
-   }
-   $101 = $4;
-   _memcpy(($99|0),($100|0),($101|0))|0;
-   $102 = $4;
-   $103 = $102<<1;
-   $4 = $103;
-  }
-  $104 = $5;
-  $105 = $4;
-  $106 = (($104) - ($105))|0;
-  _memcpy(($99|0),($100|0),($106|0))|0;
- }
- $107 = $8;
- $108 = $7;
- $109 = HEAP32[$108>>2]|0;
- $110 = $109 >>> 11;
- $111 = $110 & 8;
- $112 = ($111|0)!=(0);
- $113 = $7;
- if ($112) {
-  $114 = HEAP32[$113>>2]|0;
-  $115 = $114 >>> 11;
-  $116 = $115 & 496;
-  $117 = $116 >> 4;
-  $121 = $117;
-  $120 = (($107) + ($121)|0);
-  HEAP8[$120>>0] = 0;
-  $122 = $7;
-  _mrb_obj_value_260($0,$122);
-  STACKTOP = sp;return;
- } else {
-  $118 = ((($113)) + 12|0);
-  $119 = HEAP32[$118>>2]|0;
-  $121 = $119;
-  $120 = (($107) + ($121)|0);
-  HEAP8[$120>>0] = 0;
-  $122 = $7;
-  _mrb_obj_value_260($0,$122);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_str_aref_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy7 = sp + 80|0;
- $$byval_copy6 = sp + 72|0;
- $$byval_copy5 = sp + 64|0;
- $$byval_copy = sp + 56|0;
- $vararg_buffer2 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 40|0;
- $5 = sp + 32|0;
- $7 = sp + 16|0;
- $3 = $1;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- $9 = (_mrb_get_args($8,56367,$vararg_buffer)|0);
- $6 = $9;
- $10 = $6;
- $11 = ($10|0)==(2);
- if ($11) {
-  $12 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-  _mrb_regexp_check($12,$$byval_copy);
-  $13 = $3;
-  $14 = HEAP32[$4>>2]|0;
-  $15 = HEAP32[$5>>2]|0;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
-  _str_substr($0,$13,$$byval_copy5,$14,$15);
-  STACKTOP = sp;return;
- }
- $16 = $6;
- $17 = ($16|0)!=(1);
- $18 = $3;
- if ($17) {
-  $19 = $3;
-  $20 = (_mrb_class_get($19,69160)|0);
-  $21 = $6;
-  _mrb_fixnum_value_290($7,$21);
-  ;HEAP8[$vararg_buffer2>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$7+7>>0]|0;
-  _mrb_raisef($18,$20,56371,$vararg_buffer2);
-  // unreachable;
- }
- ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy7>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_aref($0,$18,$$byval_copy6,$$byval_copy7);
- STACKTOP = sp;return;
-}
-function _mrb_str_capitalize($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $6 = sp;
- $3 = $1;
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_str_dup($5,$7,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $8 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_capitalize_bang($6,$8,$$byval_copy1);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_capitalize_bang($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
- var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
- var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
- var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
- var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
- var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $1;
- $6 = 0;
- $8 = HEAP32[$2>>2]|0;
- $7 = $8;
- $9 = $3;
- $10 = $7;
- _mrb_str_modify($9,$10);
- $11 = $7;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 8;
- $15 = ($14|0)!=(0);
- $16 = $7;
- if ($15) {
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $17 >>> 11;
-  $19 = $18 & 496;
-  $20 = $19 >> 4;
-  $24 = $20;
- } else {
-  $21 = ((($16)) + 12|0);
-  $22 = HEAP32[$21>>2]|0;
-  $24 = $22;
- }
- $23 = ($24|0)==(0);
- do {
-  if (!($23)) {
-   $25 = $7;
-   $26 = HEAP32[$25>>2]|0;
-   $27 = $26 >>> 11;
-   $28 = $27 & 8;
-   $29 = ($28|0)!=(0);
-   $30 = $7;
-   $31 = ((($30)) + 12|0);
-   if ($29) {
-    $32 = ($31|0)!=(0|0);
-    if (!($32)) {
-     break;
-    }
-   } else {
-    $33 = ((($31)) + 8|0);
-    $34 = HEAP32[$33>>2]|0;
-    $35 = ($34|0)!=(0|0);
-    if (!($35)) {
-     break;
-    }
-   }
-   $36 = $7;
-   $37 = HEAP32[$36>>2]|0;
-   $38 = $37 >>> 11;
-   $39 = $38 & 8;
-   $40 = ($39|0)!=(0);
-   $41 = $7;
-   $42 = ((($41)) + 12|0);
-   if ($40) {
-    $45 = $42;
-   } else {
-    $43 = ((($42)) + 8|0);
-    $44 = HEAP32[$43>>2]|0;
-    $45 = $44;
-   }
-   $4 = $45;
-   $46 = $7;
-   $47 = HEAP32[$46>>2]|0;
-   $48 = $47 >>> 11;
-   $49 = $48 & 8;
-   $50 = ($49|0)!=(0);
-   $51 = $7;
-   $52 = ((($51)) + 12|0);
-   if ($50) {
-    $68 = $52;
-   } else {
-    $53 = ((($52)) + 8|0);
-    $54 = HEAP32[$53>>2]|0;
-    $68 = $54;
-   }
-   $55 = $7;
-   $56 = HEAP32[$55>>2]|0;
-   $57 = $56 >>> 11;
-   $58 = $57 & 8;
-   $59 = ($58|0)!=(0);
-   $60 = $7;
-   if ($59) {
-    $61 = HEAP32[$60>>2]|0;
-    $62 = $61 >>> 11;
-    $63 = $62 & 496;
-    $64 = $63 >> 4;
-    $69 = $64;
-   } else {
-    $65 = ((($60)) + 12|0);
-    $66 = HEAP32[$65>>2]|0;
-    $69 = $66;
-   }
-   $67 = (($68) + ($69)|0);
-   $5 = $67;
-   $70 = $4;
-   $71 = HEAP8[$70>>0]|0;
-   $72 = $71 << 24 >> 24;
-   $73 = (($72) - 97)|0;
-   $74 = ($73>>>0)<(26);
-   if ($74) {
-    $75 = $4;
-    $76 = HEAP8[$75>>0]|0;
-    $77 = $76 << 24 >> 24;
-    $78 = (($77) - 97)|0;
-    $79 = ($78>>>0)<(26);
-    $80 = $4;
-    $81 = HEAP8[$80>>0]|0;
-    $82 = $81 << 24 >> 24;
-    $83 = $82 & 95;
-    $84 = $79 ? $83 : $82;
-    $85 = $84&255;
-    $86 = $4;
-    HEAP8[$86>>0] = $85;
-    $6 = 1;
-   }
-   while(1) {
-    $87 = $4;
-    $88 = ((($87)) + 1|0);
-    $4 = $88;
-    $89 = $5;
-    $90 = ($88>>>0)<($89>>>0);
-    if (!($90)) {
-     break;
-    }
-    $91 = $4;
-    $92 = HEAP8[$91>>0]|0;
-    $93 = $92 << 24 >> 24;
-    $94 = (($93) - 65)|0;
-    $95 = ($94>>>0)<(26);
-    if (!($95)) {
-     continue;
-    }
-    $96 = $4;
-    $97 = HEAP8[$96>>0]|0;
-    $98 = $97 << 24 >> 24;
-    $99 = (($98) - 65)|0;
-    $100 = ($99>>>0)<(26);
-    $101 = $4;
-    $102 = HEAP8[$101>>0]|0;
-    $103 = $102 << 24 >> 24;
-    $104 = $103 | 32;
-    $105 = $100 ? $104 : $103;
-    $106 = $105&255;
-    $107 = $4;
-    HEAP8[$107>>0] = $106;
-    $6 = 1;
-   }
-   $108 = $6;
-   $109 = ($108<<24>>24)!=(0);
-   if ($109) {
-    ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-    STACKTOP = sp;return;
-   } else {
-    _mrb_nil_value_283($0);
-    STACKTOP = sp;return;
-   }
-  }
- } while(0);
- _mrb_nil_value_283($0);
- STACKTOP = sp;return;
-}
-function _mrb_str_chomp($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $6 = sp;
- $3 = $1;
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_str_dup($5,$7,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $8 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_chomp_bang($6,$8,$$byval_copy1);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_chomp_bang($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
- var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
- var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
- var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
- var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
- var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
- var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
- var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
- var $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0;
- var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0;
- var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0;
- var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
- var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0;
- var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0;
- var $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0;
- var $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0;
- var $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0;
- var $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0;
- var $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
- var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
- var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
- var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $vararg_buffer = sp;
- $4 = sp + 48|0;
- $3 = $1;
- $16 = HEAP32[$2>>2]|0;
- $10 = $16;
- $17 = $3;
- $18 = $10;
- _mrb_str_modify($17,$18);
- $19 = $10;
- $20 = HEAP32[$19>>2]|0;
- $21 = $20 >>> 11;
- $22 = $21 & 8;
- $23 = ($22|0)!=(0);
- $24 = $10;
- if ($23) {
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $25 >>> 11;
-  $27 = $26 & 496;
-  $28 = $27 >> 4;
-  $31 = $28;
- } else {
-  $29 = ((($24)) + 12|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = $30;
- }
- $9 = $31;
- $32 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $33 = (_mrb_get_args($32,56364,$vararg_buffer)|0);
- $34 = ($33|0)==(0);
- $35 = $9;
- $36 = ($35|0)==(0);
- L5: do {
-  if ($34) {
-   if ($36) {
-    _mrb_nil_value_283($0);
-    STACKTOP = sp;return;
-   }
-  } else {
-   do {
-    if (!($36)) {
-     $276 = ((($4)) + 4|0);
-     $277 = HEAP32[$276>>2]|0;
-     $278 = ($277|0)==(0);
-     if ($278) {
-      $279 = HEAP32[$4>>2]|0;
-      $280 = ($279|0)!=(0);
-      if (!($280)) {
-       break;
-      }
-     }
-     $281 = $10;
-     $282 = HEAP32[$281>>2]|0;
-     $283 = $282 >>> 11;
-     $284 = $283 & 8;
-     $285 = ($284|0)!=(0);
-     $286 = $10;
-     $287 = ((($286)) + 12|0);
-     if ($285) {
-      $290 = $287;
-     } else {
-      $288 = ((($287)) + 8|0);
-      $289 = HEAP32[$288>>2]|0;
-      $290 = $289;
-     }
-     $6 = $290;
-     $291 = HEAP32[$4>>2]|0;
-     $292 = HEAP32[$291>>2]|0;
-     $293 = $292 >>> 11;
-     $294 = $293 & 8;
-     $295 = ($294|0)!=(0);
-     $296 = HEAP32[$4>>2]|0;
-     if ($295) {
-      $297 = HEAP32[$296>>2]|0;
-      $298 = $297 >>> 11;
-      $299 = $298 & 496;
-      $300 = $299 >> 4;
-      $303 = $300;
-     } else {
-      $301 = ((($296)) + 12|0);
-      $302 = HEAP32[$301>>2]|0;
-      $303 = $302;
-     }
-     $8 = $303;
-     $304 = $8;
-     $305 = ($304|0)==(0);
-     if ($305) {
-      while(1) {
-       $306 = $9;
-       $307 = ($306|0)>(0);
-       if ($307) {
-        $308 = $6;
-        $309 = $9;
-        $310 = (($309) - 1)|0;
-        $311 = (($308) + ($310)|0);
-        $312 = HEAP8[$311>>0]|0;
-        $313 = $312 << 24 >> 24;
-        $314 = ($313|0)==(10);
-        $489 = $314;
-       } else {
-        $489 = 0;
-       }
-       $315 = $9;
-       if (!($489)) {
-        break;
-       }
-       $316 = (($315) + -1)|0;
-       $9 = $316;
-       $317 = $9;
-       $318 = ($317|0)>(0);
-       if (!($318)) {
-        continue;
-       }
-       $319 = $6;
-       $320 = $9;
-       $321 = (($320) - 1)|0;
-       $322 = (($319) + ($321)|0);
-       $323 = HEAP8[$322>>0]|0;
-       $324 = $323 << 24 >> 24;
-       $325 = ($324|0)==(13);
-       if (!($325)) {
-        continue;
-       }
-       $326 = $9;
-       $327 = (($326) + -1)|0;
-       $9 = $327;
-      }
-      $328 = $10;
-      $329 = HEAP32[$328>>2]|0;
-      $330 = $329 >>> 11;
-      $331 = $330 & 8;
-      $332 = ($331|0)!=(0);
-      $333 = $10;
-      if ($332) {
-       $334 = HEAP32[$333>>2]|0;
-       $335 = $334 >>> 11;
-       $336 = $335 & 496;
-       $337 = $336 >> 4;
-       $341 = $337;
-      } else {
-       $338 = ((($333)) + 12|0);
-       $339 = HEAP32[$338>>2]|0;
-       $341 = $339;
-      }
-      $340 = ($315|0)<($341|0);
-      if (!($340)) {
-       _mrb_nil_value_283($0);
-       STACKTOP = sp;return;
-      }
-      $342 = $10;
-      $343 = HEAP32[$342>>2]|0;
-      $344 = $343 >>> 11;
-      $345 = $344 & 8;
-      $346 = ($345|0)!=(0);
-      $347 = $9;
-      if ($346) {
-       $14 = $347;
-       $348 = $10;
-       $349 = HEAP32[$348>>2]|0;
-       $350 = $349 >>> 11;
-       $351 = $350 & -497;
-       $352 = HEAP32[$348>>2]|0;
-       $353 = $351 & 2097151;
-       $354 = $353 << 11;
-       $355 = $352 & 2047;
-       $356 = $355 | $354;
-       HEAP32[$348>>2] = $356;
-       $357 = $14;
-       $358 = $357 << 4;
-       $359 = $10;
-       $360 = HEAP32[$359>>2]|0;
-       $361 = $360 >>> 11;
-       $362 = $361 | $358;
-       $363 = HEAP32[$359>>2]|0;
-       $364 = $362 & 2097151;
-       $365 = $364 << 11;
-       $366 = $363 & 2047;
-       $367 = $366 | $365;
-       HEAP32[$359>>2] = $367;
-      } else {
-       $368 = $10;
-       $369 = ((($368)) + 12|0);
-       HEAP32[$369>>2] = $347;
-      }
-      $370 = $6;
-      $371 = $9;
-      $372 = (($370) + ($371)|0);
-      HEAP8[$372>>0] = 0;
-      ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-      STACKTOP = sp;return;
-     }
-     $373 = $8;
-     $374 = $9;
-     $375 = ($373|0)>($374|0);
-     if ($375) {
-      _mrb_nil_value_283($0);
-      STACKTOP = sp;return;
-     }
-     $376 = HEAP32[$4>>2]|0;
-     $377 = HEAP32[$376>>2]|0;
-     $378 = $377 >>> 11;
-     $379 = $378 & 8;
-     $380 = ($379|0)!=(0);
-     $381 = HEAP32[$4>>2]|0;
-     $382 = ((($381)) + 12|0);
-     if ($380) {
-      $388 = $382;
-     } else {
-      $383 = ((($382)) + 8|0);
-      $384 = HEAP32[$383>>2]|0;
-      $388 = $384;
-     }
-     $385 = $8;
-     $386 = (($385) - 1)|0;
-     $387 = (($388) + ($386)|0);
-     $389 = HEAP8[$387>>0]|0;
-     $390 = $389 << 24 >> 24;
-     $5 = $390;
-     $391 = $8;
-     $392 = ($391|0)==(1);
-     $393 = $5;
-     $394 = ($393|0)==(10);
-     $or$cond = $392 & $394;
-     if ($or$cond) {
-      $395 = HEAP32[$4>>2]|0;
-      $396 = HEAP32[$395>>2]|0;
-      $397 = $396 >>> 11;
-      $398 = $397 & 8;
-      $399 = ($398|0)!=(0);
-      $400 = HEAP32[$4>>2]|0;
-      $401 = ((($400)) + 12|0);
-      if ($399) {
-       $407 = $401;
-      } else {
-       $402 = ((($401)) + 8|0);
-       $403 = HEAP32[$402>>2]|0;
-       $407 = $403;
-      }
-      $404 = $8;
-      $405 = (($404) - 1)|0;
-      $406 = (($407) + ($405)|0);
-      $408 = HEAP8[$406>>0]|0;
-      $409 = $408 << 24 >> 24;
-      $5 = $409;
-     }
-     $410 = $8;
-     $411 = ($410|0)==(1);
-     $412 = $5;
-     $413 = ($412|0)==(10);
-     $or$cond3 = $411 & $413;
-     if ($or$cond3) {
-      break L5;
-     }
-     $414 = $6;
-     $415 = $9;
-     $416 = (($414) + ($415)|0);
-     $417 = $8;
-     $418 = (0 - ($417))|0;
-     $419 = (($416) + ($418)|0);
-     $7 = $419;
-     $420 = $6;
-     $421 = $9;
-     $422 = (($421) - 1)|0;
-     $423 = (($420) + ($422)|0);
-     $424 = HEAP8[$423>>0]|0;
-     $425 = $424 << 24 >> 24;
-     $426 = $5;
-     $427 = ($425|0)==($426|0);
-     do {
-      if ($427) {
-       $428 = $8;
-       $429 = ($428|0)<=(1);
-       if (!($429)) {
-        $430 = HEAP32[$4>>2]|0;
-        $431 = HEAP32[$430>>2]|0;
-        $432 = $431 >>> 11;
-        $433 = $432 & 8;
-        $434 = ($433|0)!=(0);
-        $435 = HEAP32[$4>>2]|0;
-        $436 = ((($435)) + 12|0);
-        if ($434) {
-         $441 = $436;
-        } else {
-         $437 = ((($436)) + 8|0);
-         $438 = HEAP32[$437>>2]|0;
-         $441 = $438;
-        }
-        $439 = $7;
-        $440 = $8;
-        $442 = (_memcmp($441,$439,$440)|0);
-        $443 = ($442|0)==(0);
-        if (!($443)) {
-         break;
-        }
-       }
-       $444 = $10;
-       $445 = HEAP32[$444>>2]|0;
-       $446 = $445 >>> 11;
-       $447 = $446 & 8;
-       $448 = ($447|0)!=(0);
-       $449 = $9;
-       $450 = $8;
-       $451 = (($449) - ($450))|0;
-       if ($448) {
-        $15 = $451;
-        $452 = $10;
-        $453 = HEAP32[$452>>2]|0;
-        $454 = $453 >>> 11;
-        $455 = $454 & -497;
-        $456 = HEAP32[$452>>2]|0;
-        $457 = $455 & 2097151;
-        $458 = $457 << 11;
-        $459 = $456 & 2047;
-        $460 = $459 | $458;
-        HEAP32[$452>>2] = $460;
-        $461 = $15;
-        $462 = $461 << 4;
-        $463 = $10;
-        $464 = HEAP32[$463>>2]|0;
-        $465 = $464 >>> 11;
-        $466 = $465 | $462;
-        $467 = HEAP32[$463>>2]|0;
-        $468 = $466 & 2097151;
-        $469 = $468 << 11;
-        $470 = $467 & 2047;
-        $471 = $470 | $469;
-        HEAP32[$463>>2] = $471;
-       } else {
-        $472 = $10;
-        $473 = ((($472)) + 12|0);
-        HEAP32[$473>>2] = $451;
-       }
-       $474 = $6;
-       $475 = $10;
-       $476 = HEAP32[$475>>2]|0;
-       $477 = $476 >>> 11;
-       $478 = $477 & 8;
-       $479 = ($478|0)!=(0);
-       $480 = $10;
-       if ($479) {
-        $481 = HEAP32[$480>>2]|0;
-        $482 = $481 >>> 11;
-        $483 = $482 & 496;
-        $484 = $483 >> 4;
-        $488 = $484;
-       } else {
-        $485 = ((($480)) + 12|0);
-        $486 = HEAP32[$485>>2]|0;
-        $488 = $486;
-       }
-       $487 = (($474) + ($488)|0);
-       HEAP8[$487>>0] = 0;
-       ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-       STACKTOP = sp;return;
-      }
-     } while(0);
-     _mrb_nil_value_283($0);
-     STACKTOP = sp;return;
-    }
-   } while(0);
-   _mrb_nil_value_283($0);
-   STACKTOP = sp;return;
-  }
- } while(0);
- $37 = $10;
- $38 = HEAP32[$37>>2]|0;
- $39 = $38 >>> 11;
- $40 = $39 & 8;
- $41 = ($40|0)!=(0);
- $42 = $10;
- $43 = ((($42)) + 12|0);
- if ($41) {
-  $49 = $43;
- } else {
-  $44 = ((($43)) + 8|0);
-  $45 = HEAP32[$44>>2]|0;
-  $49 = $45;
- }
- $46 = $9;
- $47 = (($46) - 1)|0;
- $48 = (($49) + ($47)|0);
- $50 = HEAP8[$48>>0]|0;
- $51 = $50 << 24 >> 24;
- $52 = ($51|0)==(10);
- $53 = $10;
- $54 = HEAP32[$53>>2]|0;
- $55 = $54 >>> 11;
- $56 = $55 & 8;
- $57 = ($56|0)!=(0);
- $58 = $10;
- do {
-  if ($52) {
-   $59 = HEAP32[$58>>2]|0;
-   $60 = $59 >>> 11;
-   $61 = $60 & 8;
-   $62 = ($61|0)!=(0);
-   $63 = $10;
-   if ($57) {
-    if ($62) {
-     $64 = HEAP32[$63>>2]|0;
-     $65 = $64 >>> 11;
-     $66 = $65 & 496;
-     $67 = $66 >> 4;
-     $71 = $67;
-    } else {
-     $68 = ((($63)) + 12|0);
-     $69 = HEAP32[$68>>2]|0;
-     $71 = $69;
-    }
-    $70 = (($71) - 1)|0;
-    $11 = $70;
-    $72 = $10;
-    $73 = HEAP32[$72>>2]|0;
-    $74 = $73 >>> 11;
-    $75 = $74 & -497;
-    $76 = HEAP32[$72>>2]|0;
-    $77 = $75 & 2097151;
-    $78 = $77 << 11;
-    $79 = $76 & 2047;
-    $80 = $79 | $78;
-    HEAP32[$72>>2] = $80;
-    $81 = $11;
-    $82 = $81 << 4;
-    $83 = $10;
-    $84 = HEAP32[$83>>2]|0;
-    $85 = $84 >>> 11;
-    $86 = $85 | $82;
-    $87 = HEAP32[$83>>2]|0;
-    $88 = $86 & 2097151;
-    $89 = $88 << 11;
-    $90 = $87 & 2047;
-    $91 = $90 | $89;
-    HEAP32[$83>>2] = $91;
-   } else {
-    if ($62) {
-     $92 = HEAP32[$63>>2]|0;
-     $93 = $92 >>> 11;
-     $94 = $93 & 496;
-     $95 = $94 >> 4;
-     $99 = $95;
-    } else {
-     $96 = ((($63)) + 12|0);
-     $97 = HEAP32[$96>>2]|0;
-     $99 = $97;
-    }
-    $98 = (($99) - 1)|0;
-    $100 = $10;
-    $101 = ((($100)) + 12|0);
-    HEAP32[$101>>2] = $98;
-   }
-   $102 = $10;
-   $103 = HEAP32[$102>>2]|0;
-   $104 = $103 >>> 11;
-   $105 = $104 & 8;
-   $106 = ($105|0)!=(0);
-   $107 = $10;
-   if ($106) {
-    $108 = HEAP32[$107>>2]|0;
-    $109 = $108 >>> 11;
-    $110 = $109 & 496;
-    $111 = $110 >> 4;
-    $115 = $111;
-   } else {
-    $112 = ((($107)) + 12|0);
-    $113 = HEAP32[$112>>2]|0;
-    $115 = $113;
-   }
-   $114 = ($115|0)>(0);
-   if ($114) {
-    $116 = $10;
-    $117 = HEAP32[$116>>2]|0;
-    $118 = $117 >>> 11;
-    $119 = $118 & 8;
-    $120 = ($119|0)!=(0);
-    $121 = $10;
-    $122 = ((($121)) + 12|0);
-    if ($120) {
-     $140 = $122;
-    } else {
-     $123 = ((($122)) + 8|0);
-     $124 = HEAP32[$123>>2]|0;
-     $140 = $124;
-    }
-    $125 = $10;
-    $126 = HEAP32[$125>>2]|0;
-    $127 = $126 >>> 11;
-    $128 = $127 & 8;
-    $129 = ($128|0)!=(0);
-    $130 = $10;
-    if ($129) {
-     $131 = HEAP32[$130>>2]|0;
-     $132 = $131 >>> 11;
-     $133 = $132 & 496;
-     $134 = $133 >> 4;
-     $138 = $134;
-    } else {
-     $135 = ((($130)) + 12|0);
-     $136 = HEAP32[$135>>2]|0;
-     $138 = $136;
-    }
-    $137 = (($138) - 1)|0;
-    $139 = (($140) + ($137)|0);
-    $141 = HEAP8[$139>>0]|0;
-    $142 = $141 << 24 >> 24;
-    $143 = ($142|0)==(13);
-    if ($143) {
-     $144 = $10;
-     $145 = HEAP32[$144>>2]|0;
-     $146 = $145 >>> 11;
-     $147 = $146 & 8;
-     $148 = ($147|0)!=(0);
-     $149 = $10;
-     $150 = HEAP32[$149>>2]|0;
-     $151 = $150 >>> 11;
-     $152 = $151 & 8;
-     $153 = ($152|0)!=(0);
-     $154 = $10;
-     if ($148) {
-      if ($153) {
-       $155 = HEAP32[$154>>2]|0;
-       $156 = $155 >>> 11;
-       $157 = $156 & 496;
-       $158 = $157 >> 4;
-       $162 = $158;
-      } else {
-       $159 = ((($154)) + 12|0);
-       $160 = HEAP32[$159>>2]|0;
-       $162 = $160;
-      }
-      $161 = (($162) - 1)|0;
-      $12 = $161;
-      $163 = $10;
-      $164 = HEAP32[$163>>2]|0;
-      $165 = $164 >>> 11;
-      $166 = $165 & -497;
-      $167 = HEAP32[$163>>2]|0;
-      $168 = $166 & 2097151;
-      $169 = $168 << 11;
-      $170 = $167 & 2047;
-      $171 = $170 | $169;
-      HEAP32[$163>>2] = $171;
-      $172 = $12;
-      $173 = $172 << 4;
-      $174 = $10;
-      $175 = HEAP32[$174>>2]|0;
-      $176 = $175 >>> 11;
-      $177 = $176 | $173;
-      $178 = HEAP32[$174>>2]|0;
-      $179 = $177 & 2097151;
-      $180 = $179 << 11;
-      $181 = $178 & 2047;
-      $182 = $181 | $180;
-      HEAP32[$174>>2] = $182;
-      break;
-     } else {
-      if ($153) {
-       $183 = HEAP32[$154>>2]|0;
-       $184 = $183 >>> 11;
-       $185 = $184 & 496;
-       $186 = $185 >> 4;
-       $190 = $186;
-      } else {
-       $187 = ((($154)) + 12|0);
-       $188 = HEAP32[$187>>2]|0;
-       $190 = $188;
-      }
-      $189 = (($190) - 1)|0;
-      $191 = $10;
-      $192 = ((($191)) + 12|0);
-      HEAP32[$192>>2] = $189;
-      break;
-     }
-    }
-   }
-  } else {
-   $193 = ((($58)) + 12|0);
-   if ($57) {
-    $199 = $193;
-   } else {
-    $194 = ((($193)) + 8|0);
-    $195 = HEAP32[$194>>2]|0;
-    $199 = $195;
-   }
-   $196 = $9;
-   $197 = (($196) - 1)|0;
-   $198 = (($199) + ($197)|0);
-   $200 = HEAP8[$198>>0]|0;
-   $201 = $200 << 24 >> 24;
-   $202 = ($201|0)==(13);
-   if (!($202)) {
-    _mrb_nil_value_283($0);
-    STACKTOP = sp;return;
-   }
-   $203 = $10;
-   $204 = HEAP32[$203>>2]|0;
-   $205 = $204 >>> 11;
-   $206 = $205 & 8;
-   $207 = ($206|0)!=(0);
-   $208 = $10;
-   $209 = HEAP32[$208>>2]|0;
-   $210 = $209 >>> 11;
-   $211 = $210 & 8;
-   $212 = ($211|0)!=(0);
-   $213 = $10;
-   if ($207) {
-    if ($212) {
-     $214 = HEAP32[$213>>2]|0;
-     $215 = $214 >>> 11;
-     $216 = $215 & 496;
-     $217 = $216 >> 4;
-     $221 = $217;
-    } else {
-     $218 = ((($213)) + 12|0);
-     $219 = HEAP32[$218>>2]|0;
-     $221 = $219;
-    }
-    $220 = (($221) - 1)|0;
-    $13 = $220;
-    $222 = $10;
-    $223 = HEAP32[$222>>2]|0;
-    $224 = $223 >>> 11;
-    $225 = $224 & -497;
-    $226 = HEAP32[$222>>2]|0;
-    $227 = $225 & 2097151;
-    $228 = $227 << 11;
-    $229 = $226 & 2047;
-    $230 = $229 | $228;
-    HEAP32[$222>>2] = $230;
-    $231 = $13;
-    $232 = $231 << 4;
-    $233 = $10;
-    $234 = HEAP32[$233>>2]|0;
-    $235 = $234 >>> 11;
-    $236 = $235 | $232;
-    $237 = HEAP32[$233>>2]|0;
-    $238 = $236 & 2097151;
-    $239 = $238 << 11;
-    $240 = $237 & 2047;
-    $241 = $240 | $239;
-    HEAP32[$233>>2] = $241;
-    break;
-   } else {
-    if ($212) {
-     $242 = HEAP32[$213>>2]|0;
-     $243 = $242 >>> 11;
-     $244 = $243 & 496;
-     $245 = $244 >> 4;
-     $249 = $245;
-    } else {
-     $246 = ((($213)) + 12|0);
-     $247 = HEAP32[$246>>2]|0;
-     $249 = $247;
-    }
-    $248 = (($249) - 1)|0;
-    $250 = $10;
-    $251 = ((($250)) + 12|0);
-    HEAP32[$251>>2] = $248;
-    break;
-   }
-  }
- } while(0);
- $252 = $10;
- $253 = HEAP32[$252>>2]|0;
- $254 = $253 >>> 11;
- $255 = $254 & 8;
- $256 = ($255|0)!=(0);
- $257 = $10;
- $258 = ((($257)) + 12|0);
- if ($256) {
-  $274 = $258;
- } else {
-  $259 = ((($258)) + 8|0);
-  $260 = HEAP32[$259>>2]|0;
-  $274 = $260;
- }
- $261 = $10;
- $262 = HEAP32[$261>>2]|0;
- $263 = $262 >>> 11;
- $264 = $263 & 8;
- $265 = ($264|0)!=(0);
- $266 = $10;
- if ($265) {
-  $267 = HEAP32[$266>>2]|0;
-  $268 = $267 >>> 11;
-  $269 = $268 & 496;
-  $270 = $269 >> 4;
-  $275 = $270;
- } else {
-  $271 = ((($266)) + 12|0);
-  $272 = HEAP32[$271>>2]|0;
-  $275 = $272;
- }
- $273 = (($274) + ($275)|0);
- HEAP8[$273>>0] = 0;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_chop($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $6 = sp;
- $3 = $1;
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_str_dup($5,$7,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $8 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_chop_bang($6,$8,$$byval_copy1);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_chop_bang($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
- var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
- var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
- var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
- var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
- var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $1;
- $11 = HEAP32[$2>>2]|0;
- $4 = $11;
- $12 = $3;
- $13 = $4;
- _mrb_str_modify($12,$13);
- $14 = $4;
- $15 = HEAP32[$14>>2]|0;
- $16 = $15 >>> 11;
- $17 = $16 & 8;
- $18 = ($17|0)!=(0);
- $19 = $4;
- if ($18) {
-  $20 = HEAP32[$19>>2]|0;
-  $21 = $20 >>> 11;
-  $22 = $21 & 496;
-  $23 = $22 >> 4;
-  $27 = $23;
- } else {
-  $24 = ((($19)) + 12|0);
-  $25 = HEAP32[$24>>2]|0;
-  $27 = $25;
- }
- $26 = ($27|0)>(0);
- if (!($26)) {
-  _mrb_nil_value_283($0);
-  STACKTOP = sp;return;
- }
- $28 = $4;
- $29 = HEAP32[$28>>2]|0;
- $30 = $29 >>> 11;
- $31 = $30 & 8;
- $32 = ($31|0)!=(0);
- $33 = $4;
- $34 = ((($33)) + 12|0);
- if ($32) {
-  $37 = $34;
- } else {
-  $35 = ((($34)) + 8|0);
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $36;
- }
- $6 = $37;
- $38 = $6;
- $7 = $38;
- $39 = $7;
- $40 = $4;
- $41 = HEAP32[$40>>2]|0;
- $42 = $41 >>> 11;
- $43 = $42 & 8;
- $44 = ($43|0)!=(0);
- $45 = $4;
- if ($44) {
-  $46 = HEAP32[$45>>2]|0;
-  $47 = $46 >>> 11;
-  $48 = $47 & 496;
-  $49 = $48 >> 4;
-  $53 = $49;
- } else {
-  $50 = ((($45)) + 12|0);
-  $51 = HEAP32[$50>>2]|0;
-  $53 = $51;
- }
- $52 = (($39) + ($53)|0);
- $8 = $52;
- while(1) {
-  $54 = $7;
-  $55 = $8;
-  $56 = ($54>>>0)<($55>>>0);
-  if (!($56)) {
-   break;
-  }
-  $57 = $7;
-  $58 = $8;
-  $59 = (_utf8len($57,$58)|0);
-  $9 = $59;
-  $60 = $7;
-  $61 = $9;
-  $62 = (($60) + ($61)|0);
-  $63 = $8;
-  $64 = ($62>>>0)>=($63>>>0);
-  if ($64) {
-   break;
-  }
-  $65 = $9;
-  $66 = $7;
-  $67 = (($66) + ($65)|0);
-  $7 = $67;
- }
- $68 = $7;
- $69 = $6;
- $70 = $68;
- $71 = $69;
- $72 = (($70) - ($71))|0;
- $5 = $72;
- $73 = $4;
- $74 = HEAP32[$73>>2]|0;
- $75 = $74 >>> 11;
- $76 = $75 & 8;
- $77 = ($76|0)!=(0);
- $78 = $4;
- $79 = ((($78)) + 12|0);
- if ($77) {
-  $84 = $79;
- } else {
-  $80 = ((($79)) + 8|0);
-  $81 = HEAP32[$80>>2]|0;
-  $84 = $81;
- }
- $82 = $5;
- $83 = (($84) + ($82)|0);
- $85 = HEAP8[$83>>0]|0;
- $86 = $85 << 24 >> 24;
- $87 = ($86|0)==(10);
- $88 = $5;
- $89 = ($88|0)>(0);
- $or$cond = $87 & $89;
- if ($or$cond) {
-  $90 = $4;
-  $91 = HEAP32[$90>>2]|0;
-  $92 = $91 >>> 11;
-  $93 = $92 & 8;
-  $94 = ($93|0)!=(0);
-  $95 = $4;
-  $96 = ((($95)) + 12|0);
-  if ($94) {
-   $102 = $96;
-  } else {
-   $97 = ((($96)) + 8|0);
-   $98 = HEAP32[$97>>2]|0;
-   $102 = $98;
-  }
-  $99 = $5;
-  $100 = (($99) - 1)|0;
-  $101 = (($102) + ($100)|0);
-  $103 = HEAP8[$101>>0]|0;
-  $104 = $103 << 24 >> 24;
-  $105 = ($104|0)==(13);
-  if ($105) {
-   $106 = $5;
-   $107 = (($106) + -1)|0;
-   $5 = $107;
-  }
- }
- $108 = $4;
- $109 = HEAP32[$108>>2]|0;
- $110 = $109 >>> 11;
- $111 = $110 & 8;
- $112 = ($111|0)!=(0);
- $113 = $5;
- if ($112) {
-  $10 = $113;
-  $114 = $4;
-  $115 = HEAP32[$114>>2]|0;
-  $116 = $115 >>> 11;
-  $117 = $116 & -497;
-  $118 = HEAP32[$114>>2]|0;
-  $119 = $117 & 2097151;
-  $120 = $119 << 11;
-  $121 = $118 & 2047;
-  $122 = $121 | $120;
-  HEAP32[$114>>2] = $122;
-  $123 = $10;
-  $124 = $123 << 4;
-  $125 = $4;
-  $126 = HEAP32[$125>>2]|0;
-  $127 = $126 >>> 11;
-  $128 = $127 | $124;
-  $129 = HEAP32[$125>>2]|0;
-  $130 = $128 & 2097151;
-  $131 = $130 << 11;
-  $132 = $129 & 2047;
-  $133 = $132 | $131;
-  HEAP32[$125>>2] = $133;
- } else {
-  $134 = $4;
-  $135 = ((($134)) + 12|0);
-  HEAP32[$135>>2] = $113;
- }
- $136 = $4;
- $137 = HEAP32[$136>>2]|0;
- $138 = $137 >>> 11;
- $139 = $138 & 8;
- $140 = ($139|0)!=(0);
- $141 = $4;
- $142 = ((($141)) + 12|0);
- if ($140) {
-  $147 = $142;
- } else {
-  $143 = ((($142)) + 8|0);
-  $144 = HEAP32[$143>>2]|0;
-  $147 = $144;
- }
- $145 = $5;
- $146 = (($147) + ($145)|0);
- HEAP8[$146>>0] = 0;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_downcase($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $6 = sp;
- $3 = $1;
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_str_dup($5,$7,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $8 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_downcase_bang($6,$8,$$byval_copy1);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_downcase_bang($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $1;
- $6 = 0;
- $8 = HEAP32[$2>>2]|0;
- $7 = $8;
- $9 = $3;
- $10 = $7;
- _mrb_str_modify($9,$10);
- $11 = $7;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 8;
- $15 = ($14|0)!=(0);
- $16 = $7;
- $17 = ((($16)) + 12|0);
- if ($15) {
-  $20 = $17;
- } else {
-  $18 = ((($17)) + 8|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $19;
- }
- $4 = $20;
- $21 = $7;
- $22 = HEAP32[$21>>2]|0;
- $23 = $22 >>> 11;
- $24 = $23 & 8;
- $25 = ($24|0)!=(0);
- $26 = $7;
- $27 = ((($26)) + 12|0);
- if ($25) {
-  $43 = $27;
- } else {
-  $28 = ((($27)) + 8|0);
-  $29 = HEAP32[$28>>2]|0;
-  $43 = $29;
- }
- $30 = $7;
- $31 = HEAP32[$30>>2]|0;
- $32 = $31 >>> 11;
- $33 = $32 & 8;
- $34 = ($33|0)!=(0);
- $35 = $7;
- if ($34) {
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $36 >>> 11;
-  $38 = $37 & 496;
-  $39 = $38 >> 4;
-  $44 = $39;
- } else {
-  $40 = ((($35)) + 12|0);
-  $41 = HEAP32[$40>>2]|0;
-  $44 = $41;
- }
- $42 = (($43) + ($44)|0);
- $5 = $42;
- while(1) {
-  $45 = $4;
-  $46 = $5;
-  $47 = ($45>>>0)<($46>>>0);
-  if (!($47)) {
-   break;
-  }
-  $48 = $4;
-  $49 = HEAP8[$48>>0]|0;
-  $50 = $49 << 24 >> 24;
-  $51 = (($50) - 65)|0;
-  $52 = ($51>>>0)<(26);
-  if ($52) {
-   $53 = $4;
-   $54 = HEAP8[$53>>0]|0;
-   $55 = $54 << 24 >> 24;
-   $56 = (($55) - 65)|0;
-   $57 = ($56>>>0)<(26);
-   $58 = $4;
-   $59 = HEAP8[$58>>0]|0;
-   $60 = $59 << 24 >> 24;
-   $61 = $60 | 32;
-   $62 = $57 ? $61 : $60;
-   $63 = $62&255;
-   $64 = $4;
-   HEAP8[$64>>0] = $63;
-   $6 = 1;
-  }
-  $65 = $4;
-  $66 = ((($65)) + 1|0);
-  $4 = $66;
- }
- $67 = $6;
- $68 = ($67<<24>>24)!=(0);
- if ($68) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  _mrb_nil_value_283($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_str_empty_p($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7 >>> 11;
- $9 = $8 & 8;
- $10 = ($9|0)!=(0);
- $11 = $4;
- if ($10) {
-  $12 = HEAP32[$11>>2]|0;
-  $13 = $12 >>> 11;
-  $14 = $13 & 496;
-  $15 = $14 >> 4;
-  $19 = $15;
- } else {
-  $16 = ((($11)) + 12|0);
-  $17 = HEAP32[$16>>2]|0;
-  $19 = $17;
- }
- $18 = ($19|0)==(0);
- $20 = $18&1;
- $21 = $20&255;
- _mrb_bool_value_340($0,$21);
- STACKTOP = sp;return;
-}
-function _mrb_str_eql($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,69199,$vararg_buffer)|0);
- $7 = ((($4)) + 4|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)==(16);
- if (!($9)) {
-  $15 = 0;
-  $14 = $15&1;
-  $16 = $14&255;
-  $5 = $16;
-  $17 = $5;
-  _mrb_bool_value_340($0,$17);
-  STACKTOP = sp;return;
- }
- $10 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $11 = (_str_eql($10,$$byval_copy,$$byval_copy1)|0);
- $12 = $11&255;
- $13 = ($12|0)!=(0);
- $15 = $13;
- $14 = $15&1;
- $16 = $14&255;
- $5 = $16;
- $17 = $5;
- _mrb_bool_value_340($0,$17);
- STACKTOP = sp;return;
-}
-function _mrb_str_hash_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $5 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $6 = (_mrb_str_hash($5,$$byval_copy)|0);
- $4 = $6;
- $7 = $4;
- _mrb_fixnum_value_290($0,$7);
- STACKTOP = sp;return;
-}
-function _mrb_str_include($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
- var $45 = 0, $46 = 0, $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy2 = sp + 48|0;
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $5 = sp + 16|0;
- $7 = sp + 8|0;
- $3 = $1;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- (_mrb_get_args($8,69199,$vararg_buffer)|0);
- $9 = ((($5)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(3);
- if (!($11)) {
-  $40 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
-  _mrb_str_to_str($7,$40,$$byval_copy);
-  ;HEAP32[$5>>2]=HEAP32[$7>>2]|0;HEAP32[$5+4>>2]=HEAP32[$7+4>>2]|0;
-  $41 = $3;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
-  $42 = (_str_index($41,$$byval_copy1,$$byval_copy2,0)|0);
-  $4 = $42;
-  $43 = $4;
-  $44 = ($43|0)!=(-1);
-  $45 = $44&1;
-  $46 = $45&255;
-  $6 = $46;
-  $47 = $6;
-  _mrb_bool_value_340($0,$47);
-  STACKTOP = sp;return;
- }
- $12 = HEAP32[$2>>2]|0;
- $13 = HEAP32[$12>>2]|0;
- $14 = $13 >>> 11;
- $15 = $14 & 8;
- $16 = ($15|0)!=(0);
- $17 = HEAP32[$2>>2]|0;
- $18 = ((($17)) + 12|0);
- if ($16) {
-  $34 = $18;
- } else {
-  $19 = ((($18)) + 8|0);
-  $20 = HEAP32[$19>>2]|0;
-  $34 = $20;
- }
- $21 = HEAP32[$5>>2]|0;
- $22 = HEAP32[$2>>2]|0;
- $23 = HEAP32[$22>>2]|0;
- $24 = $23 >>> 11;
- $25 = $24 & 8;
- $26 = ($25|0)!=(0);
- $27 = HEAP32[$2>>2]|0;
- if ($26) {
-  $28 = HEAP32[$27>>2]|0;
-  $29 = $28 >>> 11;
-  $30 = $29 & 496;
-  $31 = $30 >> 4;
-  $35 = $31;
- } else {
-  $32 = ((($27)) + 12|0);
-  $33 = HEAP32[$32>>2]|0;
-  $35 = $33;
- }
- $36 = (_memchr($34,$21,$35)|0);
- $37 = ($36|0)!=(0|0);
- $38 = $37&1;
- $39 = $38&255;
- $6 = $39;
- $47 = $6;
- _mrb_bool_value_340($0,$47);
- STACKTOP = sp;return;
-}
-function _mrb_str_index($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
- var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
- var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
- $$byval_copy9 = sp + 112|0;
- $$byval_copy8 = sp + 104|0;
- $$byval_copy7 = sp + 96|0;
- $$byval_copy6 = sp + 88|0;
- $$byval_copy5 = sp + 80|0;
- $$byval_copy = sp + 72|0;
- $vararg_buffer2 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 60|0;
- $5 = sp + 56|0;
- $6 = sp + 48|0;
- $9 = sp + 32|0;
- $10 = sp + 24|0;
- $11 = sp + 16|0;
- $3 = $1;
- $12 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($12,68856,$vararg_buffer)|0);
- $13 = HEAP32[$5>>2]|0;
- $14 = ($13|0)==(2);
- do {
-  if ($14) {
-   $15 = HEAP32[$4>>2]|0;
-   $16 = ((($15)) + 8|0);
-   $17 = HEAP32[$16>>2]|0;
-   $7 = $17;
-   $18 = HEAP32[$4>>2]|0;
-   ;HEAP32[$6>>2]=HEAP32[$18>>2]|0;HEAP32[$6+4>>2]=HEAP32[$18+4>>2]|0;
-  } else {
-   $7 = 0;
-   $19 = HEAP32[$5>>2]|0;
-   $20 = ($19|0)>(0);
-   if ($20) {
-    $21 = HEAP32[$4>>2]|0;
-    ;HEAP32[$6>>2]=HEAP32[$21>>2]|0;HEAP32[$6+4>>2]=HEAP32[$21+4>>2]|0;
-    break;
-   } else {
-    _mrb_nil_value_283($9);
-    ;HEAP32[$6>>2]=HEAP32[$9>>2]|0;HEAP32[$6+4>>2]=HEAP32[$9+4>>2]|0;
-    break;
-   }
-  }
- } while(0);
- $22 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_regexp_check($22,$$byval_copy);
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
- $23 = (_utf8_strlen($$byval_copy5,-1)|0);
- $8 = $23;
- $24 = $7;
- $25 = ($24|0)<(0);
- if ($25) {
-  $26 = $8;
-  $27 = $7;
-  $28 = (($27) + ($26))|0;
-  $7 = $28;
-  $29 = $7;
-  $30 = ($29|0)<(0);
-  if ($30) {
-   _mrb_nil_value_283($0);
-   STACKTOP = sp;return;
-  }
- }
- $31 = $7;
- $32 = $8;
- $33 = ($31|0)>=($32|0);
- if ($33) {
-  _mrb_nil_value_283($0);
-  STACKTOP = sp;return;
- }
- $34 = $7;
- ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0;
- $35 = (_chars2bytes($$byval_copy6,0,$34)|0);
- $7 = $35;
- $36 = ((($6)) + 4|0);
- $37 = HEAP32[$36>>2]|0;
- $cond = ($37|0)==(16);
- if (!($cond)) {
-  $38 = $3;
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$6+4>>2]|0;
-  _mrb_check_string_type($11,$38,$$byval_copy7);
-  ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
-  $39 = ((($10)) + 4|0);
-  $40 = HEAP32[$39>>2]|0;
-  $41 = ($40|0)==(0);
-  if ($41) {
-   $42 = HEAP32[$10>>2]|0;
-   $43 = ($42|0)!=(0);
-   if (!($43)) {
-    $44 = $3;
-    $45 = $3;
-    $46 = (_mrb_class_get($45,69204)|0);
-    ;HEAP8[$vararg_buffer2>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$6+7>>0]|0;
-    _mrb_raisef($44,$46,56338,$vararg_buffer2);
-    // unreachable;
-   }
-  }
-  ;HEAP32[$6>>2]=HEAP32[$10>>2]|0;HEAP32[$6+4>>2]=HEAP32[$10+4>>2]|0;
- }
- $47 = $3;
- $48 = $7;
- ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy9>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$6+4>>2]|0;
- $49 = (_str_index($47,$$byval_copy8,$$byval_copy9,$48)|0);
- $7 = $49;
- $50 = $7;
- $51 = ($50|0)==(-1);
- if ($51) {
-  _mrb_nil_value_283($0);
-  STACKTOP = sp;return;
- }
- $52 = HEAP32[$2>>2]|0;
- $53 = HEAP32[$52>>2]|0;
- $54 = $53 >>> 11;
- $55 = $54 & 8;
- $56 = ($55|0)!=(0);
- $57 = HEAP32[$2>>2]|0;
- $58 = ((($57)) + 12|0);
- if ($56) {
-  $62 = $58;
- } else {
-  $59 = ((($58)) + 8|0);
-  $60 = HEAP32[$59>>2]|0;
-  $62 = $60;
- }
- $61 = $7;
- $63 = (_bytes2chars($62,$61)|0);
- $7 = $63;
- $64 = $7;
- _mrb_fixnum_value_290($0,$64);
- STACKTOP = sp;return;
-}
-function _mrb_str_init($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $7 = (_mrb_get_args($6,56364,$vararg_buffer)|0);
- $8 = ($7|0)==(1);
- if ($8) {
-  $9 = $3;
-  $10 = HEAP32[$2>>2]|0;
-  $11 = HEAP32[$4>>2]|0;
-  _str_replace($5,$9,$10,$11);
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_replace($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,56362,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP32[$2>>2]|0;
- $8 = HEAP32[$4>>2]|0;
- _str_replace($0,$6,$7,$8);
- STACKTOP = sp;return;
-}
-function _mrb_str_size($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $5 = (_utf8_strlen($$byval_copy,-1)|0);
- $4 = $5;
- $6 = $4;
- _mrb_fixnum_value_290($0,$6);
- STACKTOP = sp;return;
-}
-function _mrb_str_reverse($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $4 = sp + 8|0;
- $5 = sp;
- $3 = $1;
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_str_dup($4,$6,$$byval_copy);
- $7 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_reverse_bang($5,$7,$$byval_copy1);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_reverse_bang($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
- var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
- var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
- var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
- var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
- var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
- var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
- var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy = sp + 48|0;
- $3 = $1;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $15 = (_utf8_strlen($$byval_copy,-1)|0);
- $4 = $15;
- $16 = HEAP32[$2>>2]|0;
- $17 = HEAP32[$16>>2]|0;
- $18 = $17 >>> 11;
- $19 = $18 & 8;
- $20 = ($19|0)!=(0);
- $21 = HEAP32[$2>>2]|0;
- if ($20) {
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $22 >>> 11;
-  $24 = $23 & 496;
-  $25 = $24 >> 4;
-  $28 = $25;
- } else {
-  $26 = ((($21)) + 12|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = $27;
- }
- $5 = $28;
- $29 = $4;
- $30 = $5;
- $31 = ($29|0)==($30|0);
- if ($31) {
-  $98 = HEAP32[$2>>2]|0;
-  $11 = $98;
-  $99 = $3;
-  $100 = $11;
-  _mrb_str_modify($99,$100);
-  $101 = $11;
-  $102 = HEAP32[$101>>2]|0;
-  $103 = $102 >>> 11;
-  $104 = $103 & 8;
-  $105 = ($104|0)!=(0);
-  $106 = $11;
-  if ($105) {
-   $107 = HEAP32[$106>>2]|0;
-   $108 = $107 >>> 11;
-   $109 = $108 & 496;
-   $110 = $109 >> 4;
-   $114 = $110;
-  } else {
-   $111 = ((($106)) + 12|0);
-   $112 = HEAP32[$111>>2]|0;
-   $114 = $112;
-  }
-  $113 = ($114|0)>(1);
-  L11: do {
-   if ($113) {
-    $115 = $11;
-    $116 = HEAP32[$115>>2]|0;
-    $117 = $116 >>> 11;
-    $118 = $117 & 8;
-    $119 = ($118|0)!=(0);
-    $120 = $11;
-    $121 = ((($120)) + 12|0);
-    if ($119) {
-     $124 = $121;
-    } else {
-     $122 = ((($121)) + 8|0);
-     $123 = HEAP32[$122>>2]|0;
-     $124 = $123;
-    }
-    $12 = $124;
-    $125 = $12;
-    $126 = $11;
-    $127 = HEAP32[$126>>2]|0;
-    $128 = $127 >>> 11;
-    $129 = $128 & 8;
-    $130 = ($129|0)!=(0);
-    $131 = $11;
-    if ($130) {
-     $132 = HEAP32[$131>>2]|0;
-     $133 = $132 >>> 11;
-     $134 = $133 & 496;
-     $135 = $134 >> 4;
-     $139 = $135;
-    } else {
-     $136 = ((($131)) + 12|0);
-     $137 = HEAP32[$136>>2]|0;
-     $139 = $137;
-    }
-    $138 = (($125) + ($139)|0);
-    $140 = ((($138)) + -1|0);
-    $13 = $140;
-    while(1) {
-     $141 = $12;
-     $142 = $13;
-     $143 = ($141>>>0)<($142>>>0);
-     if (!($143)) {
-      break L11;
-     }
-     $144 = $12;
-     $145 = HEAP8[$144>>0]|0;
-     $14 = $145;
-     $146 = $13;
-     $147 = HEAP8[$146>>0]|0;
-     $148 = $12;
-     $149 = ((($148)) + 1|0);
-     $12 = $149;
-     HEAP8[$148>>0] = $147;
-     $150 = $14;
-     $151 = $13;
-     $152 = ((($151)) + -1|0);
-     $13 = $152;
-     HEAP8[$151>>0] = $150;
-    }
-   }
-  } while(0);
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $32 = $4;
- $33 = ($32|0)>(1);
- if ($33) {
-  $34 = $3;
-  $35 = HEAP32[$2>>2]|0;
-  _mrb_str_modify($34,$35);
-  $36 = HEAP32[$2>>2]|0;
-  $37 = HEAP32[$36>>2]|0;
-  $38 = $37 >>> 11;
-  $39 = $38 & 8;
-  $40 = ($39|0)!=(0);
-  $41 = HEAP32[$2>>2]|0;
-  if ($40) {
-   $42 = HEAP32[$41>>2]|0;
-   $43 = $42 >>> 11;
-   $44 = $43 & 496;
-   $45 = $44 >> 4;
-   $48 = $45;
-  } else {
-   $46 = ((($41)) + 12|0);
-   $47 = HEAP32[$46>>2]|0;
-   $48 = $47;
-  }
-  $5 = $48;
-  $49 = $3;
-  $50 = $5;
-  $51 = (_mrb_malloc($49,$50)|0);
-  $6 = $51;
-  $52 = $6;
-  $7 = $52;
-  $53 = $6;
-  $54 = $5;
-  $55 = (($53) + ($54)|0);
-  $8 = $55;
-  $56 = $6;
-  $57 = HEAP32[$2>>2]|0;
-  $58 = HEAP32[$57>>2]|0;
-  $59 = $58 >>> 11;
-  $60 = $59 & 8;
-  $61 = ($60|0)!=(0);
-  $62 = HEAP32[$2>>2]|0;
-  $63 = ((($62)) + 12|0);
-  if ($61) {
-   $67 = $63;
-  } else {
-   $64 = ((($63)) + 8|0);
-   $65 = HEAP32[$64>>2]|0;
-   $67 = $65;
-  }
-  $66 = $5;
-  _memcpy(($56|0),($67|0),($66|0))|0;
-  $68 = HEAP32[$2>>2]|0;
-  $69 = HEAP32[$68>>2]|0;
-  $70 = $69 >>> 11;
-  $71 = $70 & 8;
-  $72 = ($71|0)!=(0);
-  $73 = HEAP32[$2>>2]|0;
-  $74 = ((($73)) + 12|0);
-  if ($72) {
-   $79 = $74;
-  } else {
-   $75 = ((($74)) + 8|0);
-   $76 = HEAP32[$75>>2]|0;
-   $79 = $76;
-  }
-  $77 = $5;
-  $78 = (($79) + ($77)|0);
-  $9 = $78;
-  while(1) {
-   $80 = $7;
-   $81 = $8;
-   $82 = ($80>>>0)<($81>>>0);
-   if (!($82)) {
-    break;
-   }
-   $83 = $7;
-   $84 = $8;
-   $85 = (_utf8len($83,$84)|0);
-   $10 = $85;
-   $86 = $10;
-   $87 = $9;
-   $88 = (0 - ($86))|0;
-   $89 = (($87) + ($88)|0);
-   $9 = $89;
-   $90 = $9;
-   $91 = $7;
-   $92 = $10;
-   _memcpy(($90|0),($91|0),($92|0))|0;
-   $93 = $10;
-   $94 = $7;
-   $95 = (($94) + ($93)|0);
-   $7 = $95;
-  }
-  $96 = $3;
-  $97 = $6;
-  _mrb_free($96,$97);
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_rindex($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
- var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
- var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
- var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $cond = 0, $vararg_buffer = 0, $vararg_buffer2 = 0;
- var $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
- $$byval_copy11 = sp + 136|0;
- $$byval_copy10 = sp + 128|0;
- $$byval_copy9 = sp + 120|0;
- $$byval_copy8 = sp + 112|0;
- $$byval_copy7 = sp + 104|0;
- $$byval_copy6 = sp + 96|0;
- $$byval_copy5 = sp + 88|0;
- $$byval_copy = sp + 80|0;
- $vararg_buffer2 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 68|0;
- $5 = sp + 64|0;
- $6 = sp + 56|0;
- $7 = sp + 48|0;
- $10 = sp + 32|0;
- $11 = sp + 24|0;
- $12 = sp + 16|0;
- $3 = $1;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $13 = (_utf8_strlen($$byval_copy,-1)|0);
- $9 = $13;
- $14 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($14,68856,$vararg_buffer)|0);
- $15 = HEAP32[$5>>2]|0;
- $16 = ($15|0)==(2);
- do {
-  if ($16) {
-   $17 = HEAP32[$4>>2]|0;
-   ;HEAP32[$6>>2]=HEAP32[$17>>2]|0;HEAP32[$6+4>>2]=HEAP32[$17+4>>2]|0;
-   $18 = HEAP32[$4>>2]|0;
-   $19 = ((($18)) + 8|0);
-   ;HEAP32[$7>>2]=HEAP32[$19>>2]|0;HEAP32[$7+4>>2]=HEAP32[$19+4>>2]|0;
-   $20 = HEAP32[$7>>2]|0;
-   $8 = $20;
-   $21 = $8;
-   $22 = ($21|0)<(0);
-   if ($22) {
-    $23 = $9;
-    $24 = $8;
-    $25 = (($24) + ($23))|0;
-    $8 = $25;
-    $26 = $8;
-    $27 = ($26|0)<(0);
-    if ($27) {
-     $28 = $3;
-     ;HEAP32[$$byval_copy5>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$6+4>>2]|0;
-     _mrb_regexp_check($28,$$byval_copy5);
-     _mrb_nil_value_283($0);
-     STACKTOP = sp;return;
-    }
-   }
-   $29 = $8;
-   $30 = $9;
-   $31 = ($29|0)>($30|0);
-   if ($31) {
-    $32 = $9;
-    $8 = $32;
-   }
-  } else {
-   $33 = $9;
-   $8 = $33;
-   $34 = HEAP32[$5>>2]|0;
-   $35 = ($34|0)>(0);
-   if ($35) {
-    $36 = HEAP32[$4>>2]|0;
-    ;HEAP32[$6>>2]=HEAP32[$36>>2]|0;HEAP32[$6+4>>2]=HEAP32[$36+4>>2]|0;
-    break;
-   } else {
-    _mrb_nil_value_283($10);
-    ;HEAP32[$6>>2]=HEAP32[$10>>2]|0;HEAP32[$6+4>>2]=HEAP32[$10+4>>2]|0;
-    break;
-   }
-  }
- } while(0);
- $37 = $8;
- ;HEAP32[$$byval_copy6>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$2+4>>2]|0;
- $38 = (_chars2bytes($$byval_copy6,0,$37)|0);
- $8 = $38;
- $39 = $8;
- $40 = $9;
- ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;
- $41 = (_chars2bytes($$byval_copy7,$39,$40)|0);
- $9 = $41;
- $42 = $3;
- ;HEAP32[$$byval_copy8>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_regexp_check($42,$$byval_copy8);
- $43 = ((($6)) + 4|0);
- $44 = HEAP32[$43>>2]|0;
- $cond = ($44|0)==(16);
- if (!($cond)) {
-  $45 = $3;
-  ;HEAP32[$$byval_copy9>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$6+4>>2]|0;
-  _mrb_check_string_type($12,$45,$$byval_copy9);
-  ;HEAP32[$11>>2]=HEAP32[$12>>2]|0;HEAP32[$11+4>>2]=HEAP32[$12+4>>2]|0;
-  $46 = ((($11)) + 4|0);
-  $47 = HEAP32[$46>>2]|0;
-  $48 = ($47|0)==(0);
-  if ($48) {
-   $49 = HEAP32[$11>>2]|0;
-   $50 = ($49|0)!=(0);
-   if (!($50)) {
-    $51 = $3;
-    $52 = $3;
-    $53 = (_mrb_class_get($52,69204)|0);
-    ;HEAP8[$vararg_buffer2>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$6+7>>0]|0;
-    _mrb_raisef($51,$53,56338,$vararg_buffer2);
-    // unreachable;
-   }
-  }
-  ;HEAP32[$6>>2]=HEAP32[$11>>2]|0;HEAP32[$6+4>>2]=HEAP32[$11+4>>2]|0;
- }
- $54 = $3;
- $55 = $8;
- ;HEAP32[$$byval_copy10>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy11>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$6+4>>2]|0;
- $56 = (_str_rindex($54,$$byval_copy10,$$byval_copy11,$55)|0);
- $8 = $56;
- $57 = $8;
- $58 = ($57|0)>=(0);
- if (!($58)) {
-  _mrb_nil_value_283($0);
-  STACKTOP = sp;return;
- }
- $59 = HEAP32[$2>>2]|0;
- $60 = HEAP32[$59>>2]|0;
- $61 = $60 >>> 11;
- $62 = $61 & 8;
- $63 = ($62|0)!=(0);
- $64 = HEAP32[$2>>2]|0;
- $65 = ((($64)) + 12|0);
- if ($63) {
-  $69 = $65;
- } else {
-  $66 = ((($65)) + 8|0);
-  $67 = HEAP32[$66>>2]|0;
-  $69 = $67;
- }
- $68 = $8;
- $70 = (_bytes2chars($69,$68)|0);
- $8 = $70;
- $71 = $8;
- _mrb_fixnum_value_290($0,$71);
- STACKTOP = sp;return;
-}
-function _mrb_str_split_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $$byval_copy15 = 0, $$byval_copy16 = 0, $$byval_copy17 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0;
- var $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0;
- var $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0;
- var $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0;
- var $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0;
- var $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0;
- var $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0;
- var $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0;
- var $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0;
- var $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0;
- var $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0;
- var $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0;
- var $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0;
- var $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0;
- var $340 = 0, $341 = 0, $342 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
- var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
- var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
- var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0);
- $$byval_copy17 = sp + 256|0;
- $$byval_copy16 = sp + 248|0;
- $$byval_copy15 = sp + 240|0;
- $$byval_copy14 = sp + 232|0;
- $$byval_copy13 = sp + 224|0;
- $$byval_copy12 = sp + 216|0;
- $$byval_copy11 = sp + 208|0;
- $$byval_copy10 = sp + 200|0;
- $$byval_copy9 = sp + 192|0;
- $$byval_copy8 = sp + 184|0;
- $$byval_copy7 = sp + 176|0;
- $$byval_copy6 = sp + 168|0;
- $$byval_copy5 = sp + 160|0;
- $$byval_copy = sp + 152|0;
- $vararg_buffer = sp;
- $5 = sp + 136|0;
- $11 = sp + 112|0;
- $12 = sp + 104|0;
- $13 = sp + 96|0;
- $14 = sp + 88|0;
- $20 = sp + 64|0;
- $25 = sp + 40|0;
- $26 = sp + 32|0;
- $27 = sp + 24|0;
- $29 = sp + 8|0;
- $3 = $1;
- _mrb_nil_value_283($5);
- $6 = 1;
- $7 = 0;
- HEAP32[$11>>2] = 0;
- $30 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $vararg_ptr4 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr4>>2] = $11;
- $31 = (_mrb_get_args($30,56334,$vararg_buffer)|0);
- $4 = $31;
- $32 = HEAP32[$11>>2]|0;
- $33 = ($32|0)>(0);
- $34 = $4;
- $35 = ($34|0)==(2);
- $36 = $33 ? $35 : 0;
- $37 = $36&1;
- $8 = $37;
- $38 = $4;
- $39 = ($38|0)==(2);
- do {
-  if ($39) {
-   $40 = HEAP32[$11>>2]|0;
-   $41 = ($40|0)==(1);
-   if (!($41)) {
-    $7 = 1;
-    break;
-   }
-   $42 = HEAP32[$2>>2]|0;
-   $43 = HEAP32[$42>>2]|0;
-   $44 = $43 >>> 11;
-   $45 = $44 & 8;
-   $46 = ($45|0)!=(0);
-   $47 = HEAP32[$2>>2]|0;
-   if ($46) {
-    $48 = HEAP32[$47>>2]|0;
-    $49 = $48 >>> 11;
-    $50 = $49 & 496;
-    $51 = $50 >> 4;
-    $55 = $51;
-   } else {
-    $52 = ((($47)) + 12|0);
-    $53 = HEAP32[$52>>2]|0;
-    $55 = $53;
-   }
-   $54 = ($55|0)==(0);
-   $56 = $3;
-   if ($54) {
-    _mrb_ary_new_capa($0,$56,0);
-    STACKTOP = sp;return;
-   } else {
-    _mrb_ary_new_from_values($0,$56,1,$2);
-    STACKTOP = sp;return;
-   }
-  }
- } while(0);
- $57 = $4;
- $58 = ($57|0)==(0);
- do {
-  if ($58) {
-   label = 13;
-  } else {
-   $59 = ((($5)) + 4|0);
-   $60 = HEAP32[$59>>2]|0;
-   $61 = ($60|0)==(0);
-   if ($61) {
-    $62 = HEAP32[$5>>2]|0;
-    $63 = ($62|0)!=(0);
-    if (!($63)) {
-     label = 13;
-     break;
-    }
-   }
-   $64 = ((($5)) + 4|0);
-   $65 = HEAP32[$64>>2]|0;
-   $66 = ($65|0)==(16);
-   if (!($66)) {
-    $94 = $3;
-    ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-    _mrb_noregexp($94,$$byval_copy);
-    break;
-   }
-   $6 = 1;
-   $67 = HEAP32[$5>>2]|0;
-   $68 = HEAP32[$67>>2]|0;
-   $69 = $68 >>> 11;
-   $70 = $69 & 8;
-   $71 = ($70|0)!=(0);
-   $72 = HEAP32[$5>>2]|0;
-   if ($71) {
-    $73 = HEAP32[$72>>2]|0;
-    $74 = $73 >>> 11;
-    $75 = $74 & 496;
-    $76 = $75 >> 4;
-    $80 = $76;
-   } else {
-    $77 = ((($72)) + 12|0);
-    $78 = HEAP32[$77>>2]|0;
-    $80 = $78;
-   }
-   $79 = ($80|0)==(1);
-   if ($79) {
-    $81 = HEAP32[$5>>2]|0;
-    $82 = HEAP32[$81>>2]|0;
-    $83 = $82 >>> 11;
-    $84 = $83 & 8;
-    $85 = ($84|0)!=(0);
-    $86 = HEAP32[$5>>2]|0;
-    $87 = ((($86)) + 12|0);
-    if ($85) {
-     $91 = $87;
-    } else {
-     $88 = ((($87)) + 8|0);
-     $89 = HEAP32[$88>>2]|0;
-     $91 = $89;
-    }
-    $90 = HEAP8[$91>>0]|0;
-    $92 = $90 << 24 >> 24;
-    $93 = ($92|0)==(32);
-    if ($93) {
-     $6 = 0;
-    }
-   }
-  }
- } while(0);
- if ((label|0) == 13) {
-  $6 = 0;
- }
- $95 = $3;
- _mrb_ary_new($14,$95);
- ;HEAP32[$12>>2]=HEAP32[$14>>2]|0;HEAP32[$12+4>>2]=HEAP32[$14+4>>2]|0;
- $9 = 0;
- $96 = $6;
- $97 = ($96|0)==(0);
- L37: do {
-  if ($97) {
-   $15 = 1;
-   $16 = 0;
-   $98 = HEAP32[$2>>2]|0;
-   $99 = HEAP32[$98>>2]|0;
-   $100 = $99 >>> 11;
-   $101 = $100 & 8;
-   $102 = ($101|0)!=(0);
-   $103 = HEAP32[$2>>2]|0;
-   if ($102) {
-    $104 = HEAP32[$103>>2]|0;
-    $105 = $104 >>> 11;
-    $106 = $105 & 496;
-    $107 = $106 >> 4;
-    $110 = $107;
-   } else {
-    $108 = ((($103)) + 12|0);
-    $109 = HEAP32[$108>>2]|0;
-    $110 = $109;
-   }
-   $17 = $110;
-   $111 = $3;
-   $112 = (_mrb_gc_arena_save($111)|0);
-   $19 = $112;
-   $113 = $9;
-   $10 = $113;
-   $16 = $113;
-   while(1) {
-    $114 = $16;
-    $115 = $17;
-    $116 = ($114|0)<($115|0);
-    if (!($116)) {
-     break L37;
-    }
-    $117 = HEAP32[$2>>2]|0;
-    $118 = HEAP32[$117>>2]|0;
-    $119 = $118 >>> 11;
-    $120 = $119 & 8;
-    $121 = ($120|0)!=(0);
-    $122 = HEAP32[$2>>2]|0;
-    $123 = ((($122)) + 12|0);
-    if ($121) {
-     $129 = $123;
-    } else {
-     $124 = ((($123)) + 8|0);
-     $125 = HEAP32[$124>>2]|0;
-     $129 = $125;
-    }
-    $126 = $16;
-    $127 = (($126) + 1)|0;
-    $16 = $127;
-    $128 = (($129) + ($126)|0);
-    $130 = HEAP8[$128>>0]|0;
-    $131 = $130&255;
-    $18 = $131;
-    $132 = $15;
-    $133 = ($132<<24>>24)!=(0);
-    $134 = $18;
-    $135 = ($134|0)==(32);
-    if ($133) {
-     if (!($135)) {
-      $136 = $18;
-      $137 = (($136) - 9)|0;
-      $138 = ($137>>>0)<(5);
-      if (!($138)) {
-       $140 = $16;
-       $10 = $140;
-       $15 = 0;
-       $141 = $8;
-       $142 = ($141|0)!=(0);
-       if (!($142)) {
-        continue;
-       }
-       $143 = HEAP32[$11>>2]|0;
-       $144 = $7;
-       $145 = ($143|0)<=($144|0);
-       if ($145) {
-        break L37;
-       } else {
-        continue;
-       }
-      }
-     }
-     $139 = $16;
-     $9 = $139;
-     continue;
-    } else {
-     if (!($135)) {
-      $146 = $18;
-      $147 = (($146) - 9)|0;
-      $148 = ($147>>>0)<(5);
-      if (!($148)) {
-       $162 = $16;
-       $10 = $162;
-       continue;
-      }
-     }
-     $149 = $3;
-     $150 = $3;
-     $151 = $9;
-     $152 = $10;
-     $153 = $9;
-     $154 = (($152) - ($153))|0;
-     ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
-     _byte_subseq($20,$150,$$byval_copy5,$151,$154);
-     ;HEAP32[$$byval_copy6>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$12+4>>2]|0;
-     ;HEAP32[$$byval_copy7>>2]=HEAP32[$20>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$20+4>>2]|0;
-     _mrb_ary_push($149,$$byval_copy6,$$byval_copy7);
-     $155 = $3;
-     $156 = $19;
-     _mrb_gc_arena_restore($155,$156);
-     $15 = 1;
-     $157 = $16;
-     $9 = $157;
-     $158 = $8;
-     $159 = ($158|0)!=(0);
-     if (!($159)) {
-      continue;
-     }
-     $160 = $7;
-     $161 = (($160) + 1)|0;
-     $7 = $161;
-     continue;
-    }
-   }
-  } else {
-   $163 = $6;
-   $164 = ($163|0)==(1);
-   if (!($164)) {
-    $247 = $3;
-    ;HEAP32[$$byval_copy12>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$2+4>>2]|0;
-    _mrb_noregexp($247,$$byval_copy12);
-    break;
-   }
-   $165 = HEAP32[$2>>2]|0;
-   $166 = HEAP32[$165>>2]|0;
-   $167 = $166 >>> 11;
-   $168 = $167 & 8;
-   $169 = ($168|0)!=(0);
-   $170 = HEAP32[$2>>2]|0;
-   if ($169) {
-    $171 = HEAP32[$170>>2]|0;
-    $172 = $171 >>> 11;
-    $173 = $172 & 496;
-    $174 = $173 >> 4;
-    $177 = $174;
-   } else {
-    $175 = ((($170)) + 12|0);
-    $176 = HEAP32[$175>>2]|0;
-    $177 = $176;
-   }
-   $21 = $177;
-   $178 = HEAP32[$5>>2]|0;
-   $179 = HEAP32[$178>>2]|0;
-   $180 = $179 >>> 11;
-   $181 = $180 & 8;
-   $182 = ($181|0)!=(0);
-   $183 = HEAP32[$5>>2]|0;
-   if ($182) {
-    $184 = HEAP32[$183>>2]|0;
-    $185 = $184 >>> 11;
-    $186 = $185 & 496;
-    $187 = $186 >> 4;
-    $190 = $187;
-   } else {
-    $188 = ((($183)) + 12|0);
-    $189 = HEAP32[$188>>2]|0;
-    $190 = $189;
-   }
-   $22 = $190;
-   $23 = 0;
-   $191 = $3;
-   $192 = (_mrb_gc_arena_save($191)|0);
-   $24 = $192;
-   while(1) {
-    $193 = $23;
-    $194 = $21;
-    $195 = ($193|0)<($194|0);
-    if (!($195)) {
-     break;
-    }
-    $196 = $22;
-    $197 = ($196|0)>(0);
-    if ($197) {
-     $198 = HEAP32[$5>>2]|0;
-     $199 = HEAP32[$198>>2]|0;
-     $200 = $199 >>> 11;
-     $201 = $200 & 8;
-     $202 = ($201|0)!=(0);
-     $203 = HEAP32[$5>>2]|0;
-     $204 = ((($203)) + 12|0);
-     if ($202) {
-      $223 = $204;
-     } else {
-      $205 = ((($204)) + 8|0);
-      $206 = HEAP32[$205>>2]|0;
-      $223 = $206;
-     }
-     $207 = $22;
-     $208 = HEAP32[$2>>2]|0;
-     $209 = HEAP32[$208>>2]|0;
-     $210 = $209 >>> 11;
-     $211 = $210 & 8;
-     $212 = ($211|0)!=(0);
-     $213 = HEAP32[$2>>2]|0;
-     $214 = ((($213)) + 12|0);
-     if ($212) {
-      $219 = $214;
-     } else {
-      $215 = ((($214)) + 8|0);
-      $216 = HEAP32[$215>>2]|0;
-      $219 = $216;
-     }
-     $217 = $23;
-     $218 = (($219) + ($217)|0);
-     $220 = $21;
-     $221 = $23;
-     $222 = (($220) - ($221))|0;
-     $224 = (_mrb_memsearch($223,$207,$218,$222)|0);
-     $10 = $224;
-     $225 = $10;
-     $226 = ($225|0)<(0);
-     if ($226) {
-      break;
-     }
-    } else {
-     $227 = $23;
-     ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
-     $228 = (_chars2bytes($$byval_copy8,$227,1)|0);
-     $10 = $228;
-    }
-    $229 = $3;
-    $230 = $3;
-    $231 = $23;
-    $232 = $10;
-    ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;
-    _byte_subseq($25,$230,$$byval_copy9,$231,$232);
-    ;HEAP32[$$byval_copy10>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$12+4>>2]|0;
-    ;HEAP32[$$byval_copy11>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$25+4>>2]|0;
-    _mrb_ary_push($229,$$byval_copy10,$$byval_copy11);
-    $233 = $3;
-    $234 = $24;
-    _mrb_gc_arena_restore($233,$234);
-    $235 = $10;
-    $236 = $22;
-    $237 = (($235) + ($236))|0;
-    $238 = $23;
-    $239 = (($238) + ($237))|0;
-    $23 = $239;
-    $240 = $8;
-    $241 = ($240|0)!=(0);
-    if (!($241)) {
-     continue;
-    }
-    $242 = HEAP32[$11>>2]|0;
-    $243 = $7;
-    $244 = (($243) + 1)|0;
-    $7 = $244;
-    $245 = ($242|0)<=($244|0);
-    if ($245) {
-     break;
-    }
-   }
-   $246 = $23;
-   $9 = $246;
-  }
- } while(0);
- $248 = HEAP32[$2>>2]|0;
- $249 = HEAP32[$248>>2]|0;
- $250 = $249 >>> 11;
- $251 = $250 & 8;
- $252 = ($251|0)!=(0);
- $253 = HEAP32[$2>>2]|0;
- if ($252) {
-  $254 = HEAP32[$253>>2]|0;
-  $255 = $254 >>> 11;
-  $256 = $255 & 496;
-  $257 = $256 >> 4;
-  $261 = $257;
- } else {
-  $258 = ((($253)) + 12|0);
-  $259 = HEAP32[$258>>2]|0;
-  $261 = $259;
- }
- $260 = ($261|0)>(0);
- do {
-  if ($260) {
-   $262 = $8;
-   $263 = ($262|0)!=(0);
-   if (!($263)) {
-    $264 = HEAP32[$2>>2]|0;
-    $265 = HEAP32[$264>>2]|0;
-    $266 = $265 >>> 11;
-    $267 = $266 & 8;
-    $268 = ($267|0)!=(0);
-    $269 = HEAP32[$2>>2]|0;
-    if ($268) {
-     $270 = HEAP32[$269>>2]|0;
-     $271 = $270 >>> 11;
-     $272 = $271 & 496;
-     $273 = $272 >> 4;
-     $278 = $273;
-    } else {
-     $274 = ((($269)) + 12|0);
-     $275 = HEAP32[$274>>2]|0;
-     $278 = $275;
-    }
-    $276 = $9;
-    $277 = ($278|0)>($276|0);
-    $279 = HEAP32[$11>>2]|0;
-    $280 = ($279|0)<(0);
-    $or$cond = $277 | $280;
-    if (!($or$cond)) {
-     break;
-    }
-   }
-   $281 = HEAP32[$2>>2]|0;
-   $282 = HEAP32[$281>>2]|0;
-   $283 = $282 >>> 11;
-   $284 = $283 & 8;
-   $285 = ($284|0)!=(0);
-   $286 = HEAP32[$2>>2]|0;
-   if ($285) {
-    $287 = HEAP32[$286>>2]|0;
-    $288 = $287 >>> 11;
-    $289 = $288 & 496;
-    $290 = $289 >> 4;
-    $295 = $290;
-   } else {
-    $291 = ((($286)) + 12|0);
-    $292 = HEAP32[$291>>2]|0;
-    $295 = $292;
-   }
-   $293 = $9;
-   $294 = ($295|0)==($293|0);
-   $296 = $3;
-   if ($294) {
-    ;HEAP32[$$byval_copy13>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$2+4>>2]|0;
-    _mrb_str_new_empty($26,$296,$$byval_copy13);
-    ;HEAP32[$13>>2]=HEAP32[$26>>2]|0;HEAP32[$13+4>>2]=HEAP32[$26+4>>2]|0;
-   } else {
-    $297 = $9;
-    $298 = HEAP32[$2>>2]|0;
-    $299 = HEAP32[$298>>2]|0;
-    $300 = $299 >>> 11;
-    $301 = $300 & 8;
-    $302 = ($301|0)!=(0);
-    $303 = HEAP32[$2>>2]|0;
-    if ($302) {
-     $304 = HEAP32[$303>>2]|0;
-     $305 = $304 >>> 11;
-     $306 = $305 & 496;
-     $307 = $306 >> 4;
-     $312 = $307;
-    } else {
-     $308 = ((($303)) + 12|0);
-     $309 = HEAP32[$308>>2]|0;
-     $312 = $309;
-    }
-    $310 = $9;
-    $311 = (($312) - ($310))|0;
-    ;HEAP32[$$byval_copy14>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$2+4>>2]|0;
-    _byte_subseq($27,$296,$$byval_copy14,$297,$311);
-    ;HEAP32[$13>>2]=HEAP32[$27>>2]|0;HEAP32[$13+4>>2]=HEAP32[$27+4>>2]|0;
-   }
-   $313 = $3;
-   ;HEAP32[$$byval_copy15>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$12+4>>2]|0;
-   ;HEAP32[$$byval_copy16>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$13+4>>2]|0;
-   _mrb_ary_push($313,$$byval_copy15,$$byval_copy16);
-  }
- } while(0);
- $314 = $8;
- $315 = ($314|0)==(0);
- $316 = HEAP32[$11>>2]|0;
- $317 = ($316|0)==(0);
- $or$cond3 = $315 & $317;
- L119: do {
-  if ($or$cond3) {
-   while(1) {
-    $318 = HEAP32[$12>>2]|0;
-    $319 = ((($318)) + 12|0);
-    $320 = HEAP32[$319>>2]|0;
-    $28 = $320;
-    $321 = ($320|0)>(0);
-    if (!($321)) {
-     break L119;
-    }
-    $322 = HEAP32[$12>>2]|0;
-    $323 = ((($322)) + 20|0);
-    $324 = HEAP32[$323>>2]|0;
-    $325 = $28;
-    $326 = (($325) - 1)|0;
-    $327 = (($324) + ($326<<3)|0);
-    ;HEAP32[$13>>2]=HEAP32[$327>>2]|0;HEAP32[$13+4>>2]=HEAP32[$327+4>>2]|0;
-    $328 = HEAP32[$13>>2]|0;
-    $329 = HEAP32[$328>>2]|0;
-    $330 = $329 >>> 11;
-    $331 = $330 & 8;
-    $332 = ($331|0)!=(0);
-    $333 = HEAP32[$13>>2]|0;
-    if ($332) {
-     $334 = HEAP32[$333>>2]|0;
-     $335 = $334 >>> 11;
-     $336 = $335 & 496;
-     $337 = $336 >> 4;
-     $341 = $337;
-    } else {
-     $338 = ((($333)) + 12|0);
-     $339 = HEAP32[$338>>2]|0;
-     $341 = $339;
-    }
-    $340 = ($341|0)==(0);
-    if (!($340)) {
-     break L119;
-    }
-    $342 = $3;
-    ;HEAP32[$$byval_copy17>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$12+4>>2]|0;
-    _mrb_ary_pop($29,$342,$$byval_copy17);
-   }
-  }
- } while(0);
- ;HEAP32[$0>>2]=HEAP32[$12>>2]|0;HEAP32[$0+4>>2]=HEAP32[$12+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_to_f($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $3;
- $5 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $6 = (+_mrb_str_to_dbl($5,$$byval_copy,0));
- $7 = $6;
- _mrb_float_value_339($0,$4,$7);
- STACKTOP = sp;return;
-}
-function _mrb_str_to_i($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 24|0;
- $5 = sp + 16|0;
- $3 = $1;
- HEAP32[$4>>2] = 10;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,64768,$vararg_buffer)|0);
- $7 = HEAP32[$4>>2]|0;
- $8 = ($7|0)<(0);
- $9 = $3;
- if ($8) {
-  $10 = $3;
-  $11 = (_mrb_class_get($10,69160)|0);
-  $12 = HEAP32[$4>>2]|0;
-  _mrb_fixnum_value_290($5,$12);
-  ;HEAP8[$vararg_buffer1>>0]=HEAP8[$5>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$5+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$5+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$5+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$5+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$5+7>>0]|0;
-  _mrb_raisef($9,$11,56069,$vararg_buffer1);
-  // unreachable;
- } else {
-  $13 = HEAP32[$4>>2]|0;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_str_to_inum($0,$9,$$byval_copy,$13,0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_str_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $5 = (_mrb_obj_class($4,$$byval_copy)|0);
- $6 = $3;
- $7 = ((($6)) + 48|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($5|0)!=($8|0);
- if ($9) {
-  $10 = $3;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_str_dup($0,$10,$$byval_copy1);
-  STACKTOP = sp;return;
- } else {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_str_upcase($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $6 = sp;
- $3 = $1;
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_str_dup($5,$7,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $8 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_upcase_bang($6,$8,$$byval_copy1);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_upcase_bang($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $1;
- $8 = HEAP32[$2>>2]|0;
- $4 = $8;
- $7 = 0;
- $9 = $3;
- $10 = $4;
- _mrb_str_modify($9,$10);
- $11 = HEAP32[$2>>2]|0;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 8;
- $15 = ($14|0)!=(0);
- $16 = HEAP32[$2>>2]|0;
- $17 = ((($16)) + 12|0);
- if ($15) {
-  $20 = $17;
- } else {
-  $18 = ((($17)) + 8|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $19;
- }
- $5 = $20;
- $21 = HEAP32[$2>>2]|0;
- $22 = HEAP32[$21>>2]|0;
- $23 = $22 >>> 11;
- $24 = $23 & 8;
- $25 = ($24|0)!=(0);
- $26 = HEAP32[$2>>2]|0;
- $27 = ((($26)) + 12|0);
- if ($25) {
-  $43 = $27;
- } else {
-  $28 = ((($27)) + 8|0);
-  $29 = HEAP32[$28>>2]|0;
-  $43 = $29;
- }
- $30 = HEAP32[$2>>2]|0;
- $31 = HEAP32[$30>>2]|0;
- $32 = $31 >>> 11;
- $33 = $32 & 8;
- $34 = ($33|0)!=(0);
- $35 = HEAP32[$2>>2]|0;
- if ($34) {
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $36 >>> 11;
-  $38 = $37 & 496;
-  $39 = $38 >> 4;
-  $44 = $39;
- } else {
-  $40 = ((($35)) + 12|0);
-  $41 = HEAP32[$40>>2]|0;
-  $44 = $41;
- }
- $42 = (($43) + ($44)|0);
- $6 = $42;
- while(1) {
-  $45 = $5;
-  $46 = $6;
-  $47 = ($45>>>0)<($46>>>0);
-  if (!($47)) {
-   break;
-  }
-  $48 = $5;
-  $49 = HEAP8[$48>>0]|0;
-  $50 = $49 << 24 >> 24;
-  $51 = (($50) - 97)|0;
-  $52 = ($51>>>0)<(26);
-  if ($52) {
-   $53 = $5;
-   $54 = HEAP8[$53>>0]|0;
-   $55 = $54 << 24 >> 24;
-   $56 = (($55) - 97)|0;
-   $57 = ($56>>>0)<(26);
-   $58 = $5;
-   $59 = HEAP8[$58>>0]|0;
-   $60 = $59 << 24 >> 24;
-   $61 = $60 & 95;
-   $62 = $57 ? $61 : $60;
-   $63 = $62&255;
-   $64 = $5;
-   HEAP8[$64>>0] = $63;
-   $7 = 1;
-  }
-  $65 = $5;
-  $66 = ((($65)) + 1|0);
-  $5 = $66;
- }
- $67 = $7;
- $68 = ($67<<24>>24)!=(0);
- if ($68) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  _mrb_nil_value_283($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_str_bytes($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $5 = sp + 16|0;
- $8 = sp;
- $3 = $1;
- $9 = HEAP32[$2>>2]|0;
- $4 = $9;
- $10 = $3;
- $11 = $4;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 8;
- $15 = ($14|0)!=(0);
- $16 = $4;
- if ($15) {
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $17 >>> 11;
-  $19 = $18 & 496;
-  $20 = $19 >> 4;
-  $23 = $20;
- } else {
-  $21 = ((($16)) + 12|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $22;
- }
- _mrb_ary_new_capa($5,$10,$23);
- $24 = $4;
- $25 = HEAP32[$24>>2]|0;
- $26 = $25 >>> 11;
- $27 = $26 & 8;
- $28 = ($27|0)!=(0);
- $29 = $4;
- $30 = ((($29)) + 12|0);
- if ($28) {
-  $33 = $30;
- } else {
-  $31 = ((($30)) + 8|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = $32;
- }
- $6 = $33;
- $34 = $6;
- $35 = $4;
- $36 = HEAP32[$35>>2]|0;
- $37 = $36 >>> 11;
- $38 = $37 & 8;
- $39 = ($38|0)!=(0);
- $40 = $4;
- if ($39) {
-  $41 = HEAP32[$40>>2]|0;
-  $42 = $41 >>> 11;
-  $43 = $42 & 496;
-  $44 = $43 >> 4;
-  $48 = $44;
- } else {
-  $45 = ((($40)) + 12|0);
-  $46 = HEAP32[$45>>2]|0;
-  $48 = $46;
- }
- $47 = (($34) + ($48)|0);
- $7 = $47;
- while(1) {
-  $49 = $6;
-  $50 = $7;
-  $51 = ($49>>>0)<($50>>>0);
-  if (!($51)) {
-   break;
-  }
-  $52 = $3;
-  $53 = $6;
-  $54 = HEAP8[$53>>0]|0;
-  $55 = $54&255;
-  _mrb_fixnum_value_290($8,$55);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
-  _mrb_ary_push($52,$$byval_copy,$$byval_copy1);
-  $56 = $6;
-  $57 = ((($56)) + 1|0);
-  $6 = $57;
- }
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_freeze($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7 >>> 11;
- $9 = $8 | 4;
- $10 = HEAP32[$6>>2]|0;
- $11 = $9 & 2097151;
- $12 = $11 << 11;
- $13 = $10 & 2047;
- $14 = $13 | $12;
- HEAP32[$6>>2] = $14;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_float_value_339($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = +$2;
- var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $5 = sp;
- $3 = $1;
- $4 = $2;
- $6 = ((($5)) + 4|0);
- HEAP32[$6>>2] = 6;
- $7 = $4;
- HEAPF32[$5>>2] = $7;
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_memsearch($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $13 = $5;
- $9 = $13;
- $14 = $7;
- $10 = $14;
- $15 = $6;
- $16 = $8;
- $17 = ($15|0)>($16|0);
- do {
-  if ($17) {
-   $4 = -1;
-  } else {
-   $18 = $6;
-   $19 = $8;
-   $20 = ($18|0)==($19|0);
-   if ($20) {
-    $21 = $5;
-    $22 = $7;
-    $23 = $6;
-    $24 = (_memcmp($21,$22,$23)|0);
-    $25 = ($24|0)==(0);
-    $26 = $25 ? 0 : -1;
-    $4 = $26;
-    break;
-   }
-   $27 = $6;
-   $28 = ($27|0)<(1);
-   if ($28) {
-    $4 = 0;
-    break;
-   }
-   $29 = $6;
-   $30 = ($29|0)==(1);
-   if (!($30)) {
-    $51 = $5;
-    $52 = $6;
-    $53 = $7;
-    $54 = $8;
-    $55 = (_mrb_memsearch_qs($51,$52,$53,$54)|0);
-    $4 = $55;
-    break;
-   }
-   $31 = $10;
-   $11 = $31;
-   $32 = $11;
-   $33 = $8;
-   $34 = (($32) + ($33)|0);
-   $12 = $34;
-   while(1) {
-    $35 = $10;
-    $36 = $12;
-    $37 = ($35>>>0)<($36>>>0);
-    if (!($37)) {
-     label = 13;
-     break;
-    }
-    $38 = $9;
-    $39 = HEAP8[$38>>0]|0;
-    $40 = $39&255;
-    $41 = $10;
-    $42 = HEAP8[$41>>0]|0;
-    $43 = $42&255;
-    $44 = ($40|0)==($43|0);
-    $45 = $10;
-    if ($44) {
-     label = 11;
-     break;
-    }
-    $50 = ((($45)) + 1|0);
-    $10 = $50;
-   }
-   if ((label|0) == 11) {
-    $46 = $11;
-    $47 = $45;
-    $48 = $46;
-    $49 = (($47) - ($48))|0;
-    $4 = $49;
-    break;
-   }
-   else if ((label|0) == 13) {
-    $4 = -1;
-    break;
-   }
-  }
- } while(0);
- $56 = $4;
- STACKTOP = sp;return ($56|0);
-}
-function _mrb_str_new_empty($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $5 = $3;
- $6 = (_str_new($5,0,0)|0);
- $4 = $6;
- $7 = $3;
- $8 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _str_with_class($7,$8,$$byval_copy);
- $9 = $4;
- _mrb_obj_value_260($0,$9);
- STACKTOP = sp;return;
-}
-function _mrb_memsearch_qs($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 1072|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1072|0);
- $13 = sp;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $14 = $5;
- $9 = $14;
- $15 = $5;
- $16 = $6;
- $17 = (($15) + ($16)|0);
- $10 = $17;
- $18 = $7;
- $11 = $18;
- $12 = 0;
- while(1) {
-  $19 = $12;
-  $20 = ($19|0)<(256);
-  if (!($20)) {
-   break;
-  }
-  $21 = $6;
-  $22 = (($21) + 1)|0;
-  $23 = $12;
-  $24 = (($13) + ($23<<2)|0);
-  HEAP32[$24>>2] = $22;
-  $25 = $12;
-  $26 = (($25) + 1)|0;
-  $12 = $26;
- }
- while(1) {
-  $27 = $9;
-  $28 = $10;
-  $29 = ($27>>>0)<($28>>>0);
-  if (!($29)) {
-   break;
-  }
-  $30 = $10;
-  $31 = $9;
-  $32 = $30;
-  $33 = $31;
-  $34 = (($32) - ($33))|0;
-  $35 = $9;
-  $36 = HEAP8[$35>>0]|0;
-  $37 = $36&255;
-  $38 = (($13) + ($37<<2)|0);
-  HEAP32[$38>>2] = $34;
-  $39 = $9;
-  $40 = ((($39)) + 1|0);
-  $9 = $40;
- }
- while(1) {
-  $41 = $11;
-  $42 = $6;
-  $43 = (($41) + ($42)|0);
-  $44 = $7;
-  $45 = $8;
-  $46 = (($44) + ($45)|0);
-  $47 = ($43>>>0)<=($46>>>0);
-  if (!($47)) {
-   label = 11;
-   break;
-  }
-  $48 = $5;
-  $49 = HEAP8[$48>>0]|0;
-  $50 = $49&255;
-  $51 = $11;
-  $52 = HEAP8[$51>>0]|0;
-  $53 = $52&255;
-  $54 = ($50|0)==($53|0);
-  if ($54) {
-   $55 = $5;
-   $56 = $11;
-   $57 = $6;
-   $58 = (_memcmp($55,$56,$57)|0);
-   $59 = ($58|0)==(0);
-   if ($59) {
-    label = 9;
-    break;
-   }
-  }
-  $65 = $11;
-  $66 = $6;
-  $67 = (($65) + ($66)|0);
-  $68 = HEAP8[$67>>0]|0;
-  $69 = $68&255;
-  $70 = (($13) + ($69<<2)|0);
-  $71 = HEAP32[$70>>2]|0;
-  $72 = $11;
-  $73 = (($72) + ($71)|0);
-  $11 = $73;
- }
- if ((label|0) == 9) {
-  $60 = $11;
-  $61 = $7;
-  $62 = $60;
-  $63 = $61;
-  $64 = (($62) - ($63))|0;
-  $4 = $64;
-  $74 = $4;
-  STACKTOP = sp;return ($74|0);
- }
- else if ((label|0) == 11) {
-  $4 = -1;
-  $74 = $4;
-  STACKTOP = sp;return ($74|0);
- }
- return (0)|0;
-}
-function _str_rindex($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
- var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
- var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
- var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
- var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
- var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $3;
- $12 = HEAP32[$1>>2]|0;
- $10 = $12;
- $13 = HEAP32[$2>>2]|0;
- $14 = HEAP32[$13>>2]|0;
- $15 = $14 >>> 11;
- $16 = $15 & 8;
- $17 = ($16|0)!=(0);
- $18 = HEAP32[$2>>2]|0;
- if ($17) {
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $19 >>> 11;
-  $21 = $20 & 496;
-  $22 = $21 >> 4;
-  $25 = $22;
- } else {
-  $23 = ((($18)) + 12|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = $24;
- }
- $11 = $25;
- $26 = $10;
- $27 = HEAP32[$26>>2]|0;
- $28 = $27 >>> 11;
- $29 = $28 & 8;
- $30 = ($29|0)!=(0);
- $31 = $10;
- if ($30) {
-  $32 = HEAP32[$31>>2]|0;
-  $33 = $32 >>> 11;
-  $34 = $33 & 496;
-  $35 = $34 >> 4;
-  $40 = $35;
- } else {
-  $36 = ((($31)) + 12|0);
-  $37 = HEAP32[$36>>2]|0;
-  $40 = $37;
- }
- $38 = $11;
- $39 = ($40|0)<($38|0);
- if ($39) {
-  $4 = -1;
-  $131 = $4;
-  STACKTOP = sp;return ($131|0);
- }
- $41 = $10;
- $42 = HEAP32[$41>>2]|0;
- $43 = $42 >>> 11;
- $44 = $43 & 8;
- $45 = ($44|0)!=(0);
- $46 = $10;
- if ($45) {
-  $47 = HEAP32[$46>>2]|0;
-  $48 = $47 >>> 11;
-  $49 = $48 & 496;
-  $50 = $49 >> 4;
-  $55 = $50;
- } else {
-  $51 = ((($46)) + 12|0);
-  $52 = HEAP32[$51>>2]|0;
-  $55 = $52;
- }
- $53 = $6;
- $54 = (($55) - ($53))|0;
- $56 = $11;
- $57 = ($54|0)<($56|0);
- if ($57) {
-  $58 = $10;
-  $59 = HEAP32[$58>>2]|0;
-  $60 = $59 >>> 11;
-  $61 = $60 & 8;
-  $62 = ($61|0)!=(0);
-  $63 = $10;
-  if ($62) {
-   $64 = HEAP32[$63>>2]|0;
-   $65 = $64 >>> 11;
-   $66 = $65 & 496;
-   $67 = $66 >> 4;
-   $72 = $67;
-  } else {
-   $68 = ((($63)) + 12|0);
-   $69 = HEAP32[$68>>2]|0;
-   $72 = $69;
-  }
-  $70 = $11;
-  $71 = (($72) - ($70))|0;
-  $6 = $71;
- }
- $73 = $10;
- $74 = HEAP32[$73>>2]|0;
- $75 = $74 >>> 11;
- $76 = $75 & 8;
- $77 = ($76|0)!=(0);
- $78 = $10;
- $79 = ((($78)) + 12|0);
- if ($77) {
-  $82 = $79;
- } else {
-  $80 = ((($79)) + 8|0);
-  $81 = HEAP32[$80>>2]|0;
-  $82 = $81;
- }
- $8 = $82;
- $83 = $10;
- $84 = HEAP32[$83>>2]|0;
- $85 = $84 >>> 11;
- $86 = $85 & 8;
- $87 = ($86|0)!=(0);
- $88 = $10;
- $89 = ((($88)) + 12|0);
- if ($87) {
-  $94 = $89;
- } else {
-  $90 = ((($89)) + 8|0);
-  $91 = HEAP32[$90>>2]|0;
-  $94 = $91;
- }
- $92 = $6;
- $93 = (($94) + ($92)|0);
- $7 = $93;
- $95 = HEAP32[$2>>2]|0;
- $96 = HEAP32[$95>>2]|0;
- $97 = $96 >>> 11;
- $98 = $97 & 8;
- $99 = ($98|0)!=(0);
- $100 = HEAP32[$2>>2]|0;
- $101 = ((($100)) + 12|0);
- if ($99) {
-  $104 = $101;
- } else {
-  $102 = ((($101)) + 8|0);
-  $103 = HEAP32[$102>>2]|0;
-  $104 = $103;
- }
- $9 = $104;
- $105 = $11;
- $106 = ($105|0)!=(0);
- if (!($106)) {
-  $130 = $6;
-  $4 = $130;
-  $131 = $4;
-  STACKTOP = sp;return ($131|0);
- }
- while(1) {
-  $107 = $8;
-  $108 = $7;
-  $109 = ($107>>>0)<=($108>>>0);
-  if (!($109)) {
-   label = 34;
-   break;
-  }
-  $110 = $7;
-  $111 = $9;
-  $112 = $11;
-  $113 = (_memcmp($110,$111,$112)|0);
-  $114 = ($113|0)==(0);
-  $115 = $7;
-  if ($114) {
-   break;
-  }
-  $129 = ((($115)) + -1|0);
-  $7 = $129;
- }
- if ((label|0) == 34) {
-  $4 = -1;
-  $131 = $4;
-  STACKTOP = sp;return ($131|0);
- }
- $116 = $10;
- $117 = HEAP32[$116>>2]|0;
- $118 = $117 >>> 11;
- $119 = $118 & 8;
- $120 = ($119|0)!=(0);
- $121 = $10;
- $122 = ((($121)) + 12|0);
- if ($120) {
-  $127 = $122;
- } else {
-  $123 = ((($122)) + 8|0);
-  $124 = HEAP32[$123>>2]|0;
-  $127 = $124;
- }
- $125 = $115;
- $126 = $127;
- $128 = (($125) - ($126))|0;
- $4 = $128;
- $131 = $4;
- STACKTOP = sp;return ($131|0);
-}
-function _bytes2chars($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $5 = 0;
- while(1) {
-  $7 = $5;
-  $8 = $3;
-  $9 = ($7|0)<($8|0);
-  if (!($9)) {
-   break;
-  }
-  $10 = $2;
-  $11 = $2;
-  $12 = $3;
-  $13 = (($11) + ($12)|0);
-  $14 = (_utf8len($10,$13)|0);
-  $6 = $14;
-  $15 = $6;
-  $16 = $5;
-  $17 = (($16) + ($15))|0;
-  $5 = $17;
-  $18 = $6;
-  $19 = $2;
-  $20 = (($19) + ($18)|0);
-  $2 = $20;
-  $21 = $4;
-  $22 = (($21) + 1)|0;
-  $4 = $22;
- }
- $23 = $4;
- STACKTOP = sp;return ($23|0);
-}
-function _str_index($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $12 = 0;
- var $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0;
- var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
- var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
- var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
- var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $3;
- $12 = HEAP32[$1>>2]|0;
- $13 = HEAP32[$12>>2]|0;
- $14 = $13 >>> 11;
- $15 = $14 & 8;
- $16 = ($15|0)!=(0);
- $17 = HEAP32[$1>>2]|0;
- if ($16) {
-  $18 = HEAP32[$17>>2]|0;
-  $19 = $18 >>> 11;
-  $20 = $19 & 496;
-  $21 = $20 >> 4;
-  $24 = $21;
- } else {
-  $22 = ((($17)) + 12|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = $23;
- }
- $10 = $24;
- $25 = HEAP32[$2>>2]|0;
- $26 = HEAP32[$25>>2]|0;
- $27 = $26 >>> 11;
- $28 = $27 & 8;
- $29 = ($28|0)!=(0);
- $30 = HEAP32[$2>>2]|0;
- if ($29) {
-  $31 = HEAP32[$30>>2]|0;
-  $32 = $31 >>> 11;
-  $33 = $32 & 496;
-  $34 = $33 >> 4;
-  $37 = $34;
- } else {
-  $35 = ((($30)) + 12|0);
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $36;
- }
- $11 = $37;
- $38 = $6;
- $39 = ($38|0)<(0);
- if ($39) {
-  $40 = $10;
-  $41 = $6;
-  $42 = (($41) + ($40))|0;
-  $6 = $42;
-  $43 = $6;
-  $44 = ($43|0)<(0);
-  if ($44) {
-   $4 = -1;
-   $116 = $4;
-   STACKTOP = sp;return ($116|0);
-  }
- }
- $45 = $10;
- $46 = $6;
- $47 = (($45) - ($46))|0;
- $48 = $11;
- $49 = ($47|0)<($48|0);
- if ($49) {
-  $4 = -1;
-  $116 = $4;
-  STACKTOP = sp;return ($116|0);
- }
- $50 = HEAP32[$1>>2]|0;
- $51 = HEAP32[$50>>2]|0;
- $52 = $51 >>> 11;
- $53 = $52 & 8;
- $54 = ($53|0)!=(0);
- $55 = HEAP32[$1>>2]|0;
- $56 = ((($55)) + 12|0);
- if ($54) {
-  $59 = $56;
- } else {
-  $57 = ((($56)) + 8|0);
-  $58 = HEAP32[$57>>2]|0;
-  $59 = $58;
- }
- $8 = $59;
- $60 = $6;
- $61 = ($60|0)!=(0);
- if ($61) {
-  $62 = $6;
-  $63 = $8;
-  $64 = (($63) + ($62)|0);
-  $8 = $64;
- }
- $65 = $11;
- $66 = ($65|0)==(0);
- if ($66) {
-  $67 = $6;
-  $4 = $67;
-  $116 = $4;
-  STACKTOP = sp;return ($116|0);
- }
- $68 = HEAP32[$2>>2]|0;
- $69 = HEAP32[$68>>2]|0;
- $70 = $69 >>> 11;
- $71 = $70 & 8;
- $72 = ($71|0)!=(0);
- $73 = HEAP32[$2>>2]|0;
- $74 = ((($73)) + 12|0);
- if ($72) {
-  $77 = $74;
- } else {
-  $75 = ((($74)) + 8|0);
-  $76 = HEAP32[$75>>2]|0;
-  $77 = $76;
- }
- $9 = $77;
- $78 = HEAP32[$2>>2]|0;
- $79 = HEAP32[$78>>2]|0;
- $80 = $79 >>> 11;
- $81 = $80 & 8;
- $82 = ($81|0)!=(0);
- $83 = HEAP32[$2>>2]|0;
- if ($82) {
-  $84 = HEAP32[$83>>2]|0;
-  $85 = $84 >>> 11;
-  $86 = $85 & 496;
-  $87 = $86 >> 4;
-  $90 = $87;
- } else {
-  $88 = ((($83)) + 12|0);
-  $89 = HEAP32[$88>>2]|0;
-  $90 = $89;
- }
- $11 = $90;
- $91 = HEAP32[$1>>2]|0;
- $92 = HEAP32[$91>>2]|0;
- $93 = $92 >>> 11;
- $94 = $93 & 8;
- $95 = ($94|0)!=(0);
- $96 = HEAP32[$1>>2]|0;
- if ($95) {
-  $97 = HEAP32[$96>>2]|0;
-  $98 = $97 >>> 11;
-  $99 = $98 & 496;
-  $100 = $99 >> 4;
-  $105 = $100;
- } else {
-  $101 = ((($96)) + 12|0);
-  $102 = HEAP32[$101>>2]|0;
-  $105 = $102;
- }
- $103 = $6;
- $104 = (($105) - ($103))|0;
- $10 = $104;
- $106 = $9;
- $107 = $11;
- $108 = $8;
- $109 = $10;
- $110 = (_mrb_memsearch($106,$107,$108,$109)|0);
- $7 = $110;
- $111 = $7;
- $112 = ($111|0)<(0);
- $113 = $7;
- if ($112) {
-  $4 = $113;
-  $116 = $4;
-  STACKTOP = sp;return ($116|0);
- } else {
-  $114 = $6;
-  $115 = (($113) + ($114))|0;
-  $4 = $115;
-  $116 = $4;
-  STACKTOP = sp;return ($116|0);
- }
- return (0)|0;
-}
-function _mrb_bool_value_340($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- $7 = $6 ? 2 : 0;
- $8 = ((($3)) + 4|0);
- HEAP32[$8>>2] = $7;
- HEAP32[$3>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_str_aref($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
- var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
- var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy8 = sp + 96|0;
- $$byval_copy7 = sp + 88|0;
- $$byval_copy6 = sp + 80|0;
- $$byval_copy5 = sp + 72|0;
- $$byval_copy4 = sp + 64|0;
- $$byval_copy3 = sp + 56|0;
- $$byval_copy2 = sp + 48|0;
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $6 = sp + 16|0;
- $7 = sp + 12|0;
- $8 = sp + 8|0;
- $9 = sp;
- $4 = $1;
- $10 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_regexp_check($10,$$byval_copy);
- $11 = ((($3)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- switch ($12|0) {
- case 3:  {
-  $13 = HEAP32[$3>>2]|0;
-  $5 = $13;
-  break;
- }
- case 16:  {
-  $35 = $4;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0;
-  $36 = (_str_index($35,$$byval_copy2,$$byval_copy3,0)|0);
-  $37 = ($36|0)!=(-1);
-  if ($37) {
-   $38 = $4;
-   ;HEAP32[$$byval_copy4>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$3+4>>2]|0;
-   _mrb_str_dup($0,$38,$$byval_copy4);
-   STACKTOP = sp;return;
-  } else {
-   _mrb_nil_value_283($0);
-   STACKTOP = sp;return;
-  }
-  break;
- }
- case 17:  {
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
-  $39 = (_utf8_strlen($$byval_copy5,-1)|0);
-  HEAP32[$8>>2] = $39;
-  $40 = $4;
-  $41 = HEAP32[$8>>2]|0;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0;
-  $42 = (_mrb_range_beg_len($40,$$byval_copy6,$7,$8,$41)|0);
-  $43 = ($42<<24>>24)!=(0);
-  if ($43) {
-   $44 = $4;
-   $45 = HEAP32[$7>>2]|0;
-   $46 = HEAP32[$8>>2]|0;
-   ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;
-   _str_subseq($0,$44,$$byval_copy7,$45,$46);
-   STACKTOP = sp;return;
-  } else {
-   _mrb_nil_value_283($0);
-   STACKTOP = sp;return;
-  }
-  break;
- }
- default: {
-  $47 = $4;
-  ;HEAP32[$$byval_copy8>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$3+4>>2]|0;
-  _mrb_Integer($9,$47,$$byval_copy8);
-  ;HEAP32[$3>>2]=HEAP32[$9>>2]|0;HEAP32[$3+4>>2]=HEAP32[$9+4>>2]|0;
-  $48 = ((($3)) + 4|0);
-  $49 = HEAP32[$48>>2]|0;
-  $50 = ($49|0)==(0);
-  if ($50) {
-   $51 = HEAP32[$3>>2]|0;
-   $52 = ($51|0)!=(0);
-   if (!($52)) {
-    $53 = $4;
-    $54 = $4;
-    $55 = (_mrb_class_get($54,69204)|0);
-    _mrb_raise($53,$55,56408);
-    // unreachable;
-   }
-  }
-  $56 = HEAP32[$3>>2]|0;
-  $5 = $56;
- }
- }
- $14 = $4;
- $15 = $5;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- _str_substr($6,$14,$$byval_copy1,$15,1);
- ;HEAP32[$2>>2]=HEAP32[$6>>2]|0;HEAP32[$2+4>>2]=HEAP32[$6+4>>2]|0;
- $16 = ((($2)) + 4|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17|0)==(0);
- if ($18) {
-  $19 = HEAP32[$2>>2]|0;
-  $20 = ($19|0)!=(0);
-  if ($20) {
-   label = 5;
-  }
- } else {
-  label = 5;
- }
- if ((label|0) == 5) {
-  $21 = HEAP32[$2>>2]|0;
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $22 >>> 11;
-  $24 = $23 & 8;
-  $25 = ($24|0)!=(0);
-  $26 = HEAP32[$2>>2]|0;
-  if ($25) {
-   $27 = HEAP32[$26>>2]|0;
-   $28 = $27 >>> 11;
-   $29 = $28 & 496;
-   $30 = $29 >> 4;
-   $34 = $30;
-  } else {
-   $31 = ((($26)) + 12|0);
-   $32 = HEAP32[$31>>2]|0;
-   $34 = $32;
-  }
-  $33 = ($34|0)==(0);
-  if ($33) {
-   _mrb_nil_value_283($0);
-   STACKTOP = sp;return;
-  }
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _kh_alloc_n2s($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $7 = $3;
- $8 = HEAP32[$7>>2]|0;
- $4 = $8;
- $5 = 4;
- $9 = $2;
- $10 = $4;
- $11 = $10;
- $12 = (($11>>>0) / 4)&-1;
- $13 = $5;
- $14 = $4;
- $15 = Math_imul($13, $14)|0;
- $16 = (($12) + ($15))|0;
- $17 = (_mrb_malloc($9,$16)|0);
- $6 = $17;
- $18 = $3;
- $19 = ((($18)) + 8|0);
- HEAP32[$19>>2] = 0;
- $20 = $3;
- $21 = ((($20)) + 4|0);
- HEAP32[$21>>2] = 0;
- $22 = $6;
- $23 = $3;
- $24 = ((($23)) + 16|0);
- HEAP32[$24>>2] = $22;
- $25 = $3;
- $26 = ((($25)) + 20|0);
- HEAP32[$26>>2] = 0;
- $27 = $6;
- $28 = $5;
- $29 = $4;
- $30 = Math_imul($28, $29)|0;
- $31 = (($27) + ($30)|0);
- $32 = $3;
- $33 = ((($32)) + 12|0);
- HEAP32[$33>>2] = $31;
- $34 = $3;
- $35 = ((($34)) + 12|0);
- $36 = HEAP32[$35>>2]|0;
- $37 = $4;
- $38 = (($37>>>0) / 4)&-1;
- _kh_fill_flags_342($36,-86,$38);
- STACKTOP = sp;return;
-}
-function _kh_fill_flags_342($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- while(1) {
-  $6 = $5;
-  $7 = (($6) + -1)|0;
-  $5 = $7;
-  $8 = ($6>>>0)>(0);
-  if (!($8)) {
-   break;
-  }
-  $9 = $4;
-  $10 = $3;
-  $11 = ((($10)) + 1|0);
-  $3 = $11;
-  HEAP8[$10>>0] = $9;
- }
- STACKTOP = sp;return;
-}
-function _kh_init_n2s_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = (_mrb_calloc($5,1,24)|0);
- $4 = $6;
- $7 = $3;
- $8 = ($7>>>0)<(8);
- if ($8) {
-  $3 = 8;
- }
- $9 = $3;
- $10 = (($9) + -1)|0;
- $3 = $10;
- $11 = $3;
- $12 = $11 >>> 1;
- $13 = $3;
- $14 = $13 | $12;
- $3 = $14;
- $15 = $3;
- $16 = $15 >>> 2;
- $17 = $3;
- $18 = $17 | $16;
- $3 = $18;
- $19 = $3;
- $20 = $19 >>> 4;
- $21 = $3;
- $22 = $21 | $20;
- $3 = $22;
- $23 = $3;
- $24 = $23 >>> 8;
- $25 = $3;
- $26 = $25 | $24;
- $3 = $26;
- $27 = $3;
- $28 = $27 >>> 16;
- $29 = $3;
- $30 = $29 | $28;
- $3 = $30;
- $31 = $3;
- $32 = (($31) + 1)|0;
- $3 = $32;
- $33 = $3;
- $34 = $4;
- HEAP32[$34>>2] = $33;
- $35 = $2;
- $36 = $4;
- _kh_alloc_n2s($35,$36);
- $37 = $4;
- STACKTOP = sp;return ($37|0);
-}
-function _kh_init_n2s($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_kh_init_n2s_size($2,8)|0);
- STACKTOP = sp;return ($3|0);
-}
-function _kh_destroy_n2s($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $2;
- $7 = $3;
- $8 = ((($7)) + 16|0);
- $9 = HEAP32[$8>>2]|0;
- _mrb_free($6,$9);
- $10 = $2;
- $11 = $3;
- _mrb_free($10,$11);
- STACKTOP = sp;return;
-}
-function _kh_get_n2s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
- var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
- var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
- var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
- var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
- var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $9 = $4;
- $10 = $6;
- $11 = (_sym_hash_func($9,$10)|0);
- $12 = $5;
- $13 = HEAP32[$12>>2]|0;
- $14 = (($13) - 1)|0;
- $15 = $11 & $14;
- $7 = $15;
- $8 = 0;
- while(1) {
-  $16 = $5;
-  $17 = ((($16)) + 12|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = $7;
-  $20 = (($19>>>0) / 4)&-1;
-  $21 = (($18) + ($20)|0);
-  $22 = HEAP8[$21>>0]|0;
-  $23 = $22&255;
-  $24 = $7;
-  $25 = (($24>>>0) % 4)&-1;
-  $26 = (56449 + ($25)|0);
-  $27 = HEAP8[$26>>0]|0;
-  $28 = $27&255;
-  $29 = $23 & $28;
-  $30 = ($29|0)!=(0);
-  $31 = $30 ^ 1;
-  $32 = $5;
-  if (!($31)) {
-   label = 8;
-   break;
-  }
-  $33 = ((($32)) + 12|0);
-  $34 = HEAP32[$33>>2]|0;
-  $35 = $7;
-  $36 = (($35>>>0) / 4)&-1;
-  $37 = (($34) + ($36)|0);
-  $38 = HEAP8[$37>>0]|0;
-  $39 = $38&255;
-  $40 = $7;
-  $41 = (($40>>>0) % 4)&-1;
-  $42 = (56453 + ($41)|0);
-  $43 = HEAP8[$42>>0]|0;
-  $44 = $43&255;
-  $45 = $39 & $44;
-  $46 = ($45|0)!=(0);
-  if (!($46)) {
-   $47 = $4;
-   $48 = ((($47)) + 560|0);
-   $49 = HEAP32[$48>>2]|0;
-   $50 = $5;
-   $51 = ((($50)) + 16|0);
-   $52 = HEAP32[$51>>2]|0;
-   $53 = $7;
-   $54 = (($52) + ($53<<2)|0);
-   $55 = HEAP32[$54>>2]|0;
-   $56 = (($49) + ($55<<3)|0);
-   $57 = ((($56)) + 2|0);
-   $58 = HEAP16[$57>>1]|0;
-   $59 = $58&65535;
-   $60 = $4;
-   $61 = ((($60)) + 560|0);
-   $62 = HEAP32[$61>>2]|0;
-   $63 = $6;
-   $64 = (($62) + ($63<<3)|0);
-   $65 = ((($64)) + 2|0);
-   $66 = HEAP16[$65>>1]|0;
-   $67 = $66&65535;
-   $68 = ($59|0)==($67|0);
-   if ($68) {
-    $69 = $4;
-    $70 = ((($69)) + 560|0);
-    $71 = HEAP32[$70>>2]|0;
-    $72 = $5;
-    $73 = ((($72)) + 16|0);
-    $74 = HEAP32[$73>>2]|0;
-    $75 = $7;
-    $76 = (($74) + ($75<<2)|0);
-    $77 = HEAP32[$76>>2]|0;
-    $78 = (($71) + ($77<<3)|0);
-    $79 = ((($78)) + 4|0);
-    $80 = HEAP32[$79>>2]|0;
-    $81 = $4;
-    $82 = ((($81)) + 560|0);
-    $83 = HEAP32[$82>>2]|0;
-    $84 = $6;
-    $85 = (($83) + ($84<<3)|0);
-    $86 = ((($85)) + 4|0);
-    $87 = HEAP32[$86>>2]|0;
-    $88 = $4;
-    $89 = ((($88)) + 560|0);
-    $90 = HEAP32[$89>>2]|0;
-    $91 = $5;
-    $92 = ((($91)) + 16|0);
-    $93 = HEAP32[$92>>2]|0;
-    $94 = $7;
-    $95 = (($93) + ($94<<2)|0);
-    $96 = HEAP32[$95>>2]|0;
-    $97 = (($90) + ($96<<3)|0);
-    $98 = ((($97)) + 2|0);
-    $99 = HEAP16[$98>>1]|0;
-    $100 = $99&65535;
-    $101 = (_memcmp($80,$87,$100)|0);
-    $102 = ($101|0)==(0);
-    if ($102) {
-     label = 6;
-     break;
-    }
-   }
-  }
-  $104 = $7;
-  $105 = $8;
-  $106 = (($105) + 1)|0;
-  $8 = $106;
-  $107 = (($104) + ($106))|0;
-  $108 = $5;
-  $109 = HEAP32[$108>>2]|0;
-  $110 = (($109) - 1)|0;
-  $111 = $107 & $110;
-  $7 = $111;
- }
- if ((label|0) == 6) {
-  $103 = $7;
-  $3 = $103;
-  $113 = $3;
-  STACKTOP = sp;return ($113|0);
- }
- else if ((label|0) == 8) {
-  $112 = HEAP32[$32>>2]|0;
-  $3 = $112;
-  $113 = $3;
-  STACKTOP = sp;return ($113|0);
- }
- return (0)|0;
-}
-function _sym_hash_func($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $8 = $2;
- $9 = ((($8)) + 560|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = $3;
- $12 = (($10) + ($11<<3)|0);
- $13 = ((($12)) + 2|0);
- $14 = HEAP16[$13>>1]|0;
- $15 = $14&65535;
- $6 = $15;
- $16 = $2;
- $17 = ((($16)) + 560|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = $3;
- $20 = (($18) + ($19<<3)|0);
- $21 = ((($20)) + 4|0);
- $22 = HEAP32[$21>>2]|0;
- $7 = $22;
- $5 = 0;
- while(1) {
-  $23 = $5;
-  $24 = $6;
-  $25 = ($23>>>0)<($24>>>0);
-  $26 = $4;
-  if (!($25)) {
-   break;
-  }
-  $27 = $26 << 5;
-  $28 = $4;
-  $29 = (($27) - ($28))|0;
-  $30 = $7;
-  $31 = ((($30)) + 1|0);
-  $7 = $31;
-  $32 = HEAP8[$30>>0]|0;
-  $33 = $32 << 24 >> 24;
-  $34 = (($29) + ($33))|0;
-  $4 = $34;
-  $35 = $5;
-  $36 = (($35) + 1)|0;
-  $5 = $36;
- }
- STACKTOP = sp;return ($26|0);
-}
-function _kh_resize_n2s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $6 = sp + 24|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $13 = $5;
- $14 = ($13>>>0)<(8);
- $$ = $14 ? 8 : $2;
- $5 = $$;
- $15 = $5;
- $16 = (($15) + -1)|0;
- $5 = $16;
- $17 = $5;
- $18 = $17 >>> 1;
- $19 = $5;
- $20 = $19 | $18;
- $5 = $20;
- $21 = $5;
- $22 = $21 >>> 2;
- $23 = $5;
- $24 = $23 | $22;
- $5 = $24;
- $25 = $5;
- $26 = $25 >>> 4;
- $27 = $5;
- $28 = $27 | $26;
- $5 = $28;
- $29 = $5;
- $30 = $29 >>> 8;
- $31 = $5;
- $32 = $31 | $30;
- $5 = $32;
- $33 = $5;
- $34 = $33 >>> 16;
- $35 = $5;
- $36 = $35 | $34;
- $5 = $36;
- $37 = $5;
- $38 = (($37) + 1)|0;
- $5 = $38;
- $39 = $4;
- $40 = ((($39)) + 12|0);
- $41 = HEAP32[$40>>2]|0;
- $7 = $41;
- $42 = $4;
- $43 = ((($42)) + 16|0);
- $44 = HEAP32[$43>>2]|0;
- $8 = $44;
- $45 = $4;
- $46 = ((($45)) + 20|0);
- $47 = HEAP32[$46>>2]|0;
- $9 = $47;
- $48 = $4;
- $49 = HEAP32[$48>>2]|0;
- $10 = $49;
- $50 = $5;
- HEAP32[$6>>2] = $50;
- $51 = $3;
- _kh_alloc_n2s($51,$6);
- $11 = 0;
- while(1) {
-  $52 = $11;
-  $53 = $10;
-  $54 = ($52>>>0)<($53>>>0);
-  if (!($54)) {
-   break;
-  }
-  $55 = $7;
-  $56 = $11;
-  $57 = (($56>>>0) / 4)&-1;
-  $58 = (($55) + ($57)|0);
-  $59 = HEAP8[$58>>0]|0;
-  $60 = $59&255;
-  $61 = $11;
-  $62 = (($61>>>0) % 4)&-1;
-  $63 = (56457 + ($62)|0);
-  $64 = HEAP8[$63>>0]|0;
-  $65 = $64&255;
-  $66 = $60 & $65;
-  $67 = ($66|0)!=(0);
-  if (!($67)) {
-   $68 = $3;
-   $69 = $8;
-   $70 = $11;
-   $71 = (($69) + ($70<<2)|0);
-   $72 = HEAP32[$71>>2]|0;
-   $73 = (_kh_put_n2s($68,$6,$72,0)|0);
-   $12 = $73;
-  }
-  $74 = $11;
-  $75 = (($74) + 1)|0;
-  $11 = $75;
- }
- $76 = $4;
- ;HEAP32[$76>>2]=HEAP32[$6>>2]|0;HEAP32[$76+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$76+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$76+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$76+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$76+20>>2]=HEAP32[$6+20>>2]|0;
- $77 = $3;
- $78 = $8;
- _mrb_free($77,$78);
- STACKTOP = sp;return;
-}
-function _kh_put_n2s($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
- var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
- var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
- var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
- var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
- var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
- var $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $11 = 0;
- $12 = $6;
- $13 = ((($12)) + 8|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = $6;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 >>> 2;
- $18 = $6;
- $19 = HEAP32[$18>>2]|0;
- $20 = $19 >>> 1;
- $21 = $17 | $20;
- $22 = ($14>>>0)>=($21>>>0);
- if ($22) {
-  $23 = $5;
-  $24 = $6;
-  $25 = $6;
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $26<<1;
-  _kh_resize_n2s($23,$24,$27);
- }
- $28 = $5;
- $29 = $7;
- $30 = (_sym_hash_func($28,$29)|0);
- $31 = $6;
- $32 = HEAP32[$31>>2]|0;
- $33 = (($32) - 1)|0;
- $34 = $30 & $33;
- $9 = $34;
- $35 = $6;
- $36 = HEAP32[$35>>2]|0;
- $10 = $36;
- while(1) {
-  $37 = $6;
-  $38 = ((($37)) + 12|0);
-  $39 = HEAP32[$38>>2]|0;
-  $40 = $9;
-  $41 = (($40>>>0) / 4)&-1;
-  $42 = (($39) + ($41)|0);
-  $43 = HEAP8[$42>>0]|0;
-  $44 = $43&255;
-  $45 = $9;
-  $46 = (($45>>>0) % 4)&-1;
-  $47 = (56449 + ($46)|0);
-  $48 = HEAP8[$47>>0]|0;
-  $49 = $48&255;
-  $50 = $44 & $49;
-  $51 = ($50|0)!=(0);
-  $52 = $51 ^ 1;
-  if (!($52)) {
-   break;
-  }
-  $53 = $6;
-  $54 = ((($53)) + 12|0);
-  $55 = HEAP32[$54>>2]|0;
-  $56 = $9;
-  $57 = (($56>>>0) / 4)&-1;
-  $58 = (($55) + ($57)|0);
-  $59 = HEAP8[$58>>0]|0;
-  $60 = $59&255;
-  $61 = $9;
-  $62 = (($61>>>0) % 4)&-1;
-  $63 = (56453 + ($62)|0);
-  $64 = HEAP8[$63>>0]|0;
-  $65 = $64&255;
-  $66 = $60 & $65;
-  $67 = ($66|0)!=(0);
-  if ($67) {
-   $128 = $10;
-   $129 = $6;
-   $130 = HEAP32[$129>>2]|0;
-   $131 = ($128|0)==($130|0);
-   if ($131) {
-    $132 = $9;
-    $10 = $132;
-   }
-  } else {
-   $68 = $5;
-   $69 = ((($68)) + 560|0);
-   $70 = HEAP32[$69>>2]|0;
-   $71 = $6;
-   $72 = ((($71)) + 16|0);
-   $73 = HEAP32[$72>>2]|0;
-   $74 = $9;
-   $75 = (($73) + ($74<<2)|0);
-   $76 = HEAP32[$75>>2]|0;
-   $77 = (($70) + ($76<<3)|0);
-   $78 = ((($77)) + 2|0);
-   $79 = HEAP16[$78>>1]|0;
-   $80 = $79&65535;
-   $81 = $5;
-   $82 = ((($81)) + 560|0);
-   $83 = HEAP32[$82>>2]|0;
-   $84 = $7;
-   $85 = (($83) + ($84<<3)|0);
-   $86 = ((($85)) + 2|0);
-   $87 = HEAP16[$86>>1]|0;
-   $88 = $87&65535;
-   $89 = ($80|0)==($88|0);
-   if ($89) {
-    $90 = $5;
-    $91 = ((($90)) + 560|0);
-    $92 = HEAP32[$91>>2]|0;
-    $93 = $6;
-    $94 = ((($93)) + 16|0);
-    $95 = HEAP32[$94>>2]|0;
-    $96 = $9;
-    $97 = (($95) + ($96<<2)|0);
-    $98 = HEAP32[$97>>2]|0;
-    $99 = (($92) + ($98<<3)|0);
-    $100 = ((($99)) + 4|0);
-    $101 = HEAP32[$100>>2]|0;
-    $102 = $5;
-    $103 = ((($102)) + 560|0);
-    $104 = HEAP32[$103>>2]|0;
-    $105 = $7;
-    $106 = (($104) + ($105<<3)|0);
-    $107 = ((($106)) + 4|0);
-    $108 = HEAP32[$107>>2]|0;
-    $109 = $5;
-    $110 = ((($109)) + 560|0);
-    $111 = HEAP32[$110>>2]|0;
-    $112 = $6;
-    $113 = ((($112)) + 16|0);
-    $114 = HEAP32[$113>>2]|0;
-    $115 = $9;
-    $116 = (($114) + ($115<<2)|0);
-    $117 = HEAP32[$116>>2]|0;
-    $118 = (($111) + ($117<<3)|0);
-    $119 = ((($118)) + 2|0);
-    $120 = HEAP16[$119>>1]|0;
-    $121 = $120&65535;
-    $122 = (_memcmp($101,$108,$121)|0);
-    $123 = ($122|0)==(0);
-    if ($123) {
-     label = 8;
-     break;
-    }
-   }
-  }
-  $133 = $9;
-  $134 = $11;
-  $135 = (($134) + 1)|0;
-  $11 = $135;
-  $136 = (($133) + ($135))|0;
-  $137 = $6;
-  $138 = HEAP32[$137>>2]|0;
-  $139 = (($138) - 1)|0;
-  $140 = $136 & $139;
-  $9 = $140;
- }
- if ((label|0) == 8) {
-  $124 = $8;
-  $125 = ($124|0)!=(0|0);
-  if ($125) {
-   $126 = $8;
-   HEAP32[$126>>2] = 0;
-  }
-  $127 = $9;
-  $4 = $127;
-  $205 = $4;
-  STACKTOP = sp;return ($205|0);
- }
- $141 = $10;
- $142 = $6;
- $143 = HEAP32[$142>>2]|0;
- $144 = ($141|0)!=($143|0);
- $145 = $7;
- $146 = $6;
- $147 = ((($146)) + 16|0);
- $148 = HEAP32[$147>>2]|0;
- if ($144) {
-  $149 = $10;
-  $150 = (($148) + ($149<<2)|0);
-  HEAP32[$150>>2] = $145;
-  $151 = $10;
-  $152 = (($151>>>0) % 4)&-1;
-  $153 = (56453 + ($152)|0);
-  $154 = HEAP8[$153>>0]|0;
-  $155 = $154&255;
-  $156 = $155 ^ -1;
-  $157 = $6;
-  $158 = ((($157)) + 12|0);
-  $159 = HEAP32[$158>>2]|0;
-  $160 = $10;
-  $161 = (($160>>>0) / 4)&-1;
-  $162 = (($159) + ($161)|0);
-  $163 = HEAP8[$162>>0]|0;
-  $164 = $163&255;
-  $165 = $164 & $156;
-  $166 = $165&255;
-  HEAP8[$162>>0] = $166;
-  $167 = $6;
-  $168 = ((($167)) + 4|0);
-  $169 = HEAP32[$168>>2]|0;
-  $170 = (($169) + 1)|0;
-  HEAP32[$168>>2] = $170;
-  $171 = $8;
-  $172 = ($171|0)!=(0|0);
-  if ($172) {
-   $173 = $8;
-   HEAP32[$173>>2] = 2;
-  }
-  $174 = $10;
-  $4 = $174;
-  $205 = $4;
-  STACKTOP = sp;return ($205|0);
- } else {
-  $175 = $9;
-  $176 = (($148) + ($175<<2)|0);
-  HEAP32[$176>>2] = $145;
-  $177 = $9;
-  $178 = (($177>>>0) % 4)&-1;
-  $179 = (56449 + ($178)|0);
-  $180 = HEAP8[$179>>0]|0;
-  $181 = $180&255;
-  $182 = $181 ^ -1;
-  $183 = $6;
-  $184 = ((($183)) + 12|0);
-  $185 = HEAP32[$184>>2]|0;
-  $186 = $9;
-  $187 = (($186>>>0) / 4)&-1;
-  $188 = (($185) + ($187)|0);
-  $189 = HEAP8[$188>>0]|0;
-  $190 = $189&255;
-  $191 = $190 & $182;
-  $192 = $191&255;
-  HEAP8[$188>>0] = $192;
-  $193 = $6;
-  $194 = ((($193)) + 4|0);
-  $195 = HEAP32[$194>>2]|0;
-  $196 = (($195) + 1)|0;
-  HEAP32[$194>>2] = $196;
-  $197 = $6;
-  $198 = ((($197)) + 8|0);
-  $199 = HEAP32[$198>>2]|0;
-  $200 = (($199) + 1)|0;
-  HEAP32[$198>>2] = $200;
-  $201 = $8;
-  $202 = ($201|0)!=(0|0);
-  if ($202) {
-   $203 = $8;
-   HEAP32[$203>>2] = 1;
-  }
-  $204 = $9;
-  $4 = $204;
-  $205 = $4;
-  STACKTOP = sp;return ($205|0);
- }
- return (0)|0;
-}
-function _mrb_intern($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $5;
- $9 = (_sym_intern($6,$7,$8,0)|0);
- STACKTOP = sp;return ($9|0);
-}
-function _sym_intern($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
- var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $14 = $5;
- $15 = ((($14)) + 556|0);
- $16 = HEAP32[$15>>2]|0;
- $9 = $16;
- $17 = $5;
- $18 = ((($17)) + 560|0);
- $19 = HEAP32[$18>>2]|0;
- $10 = $19;
- $20 = $5;
- $21 = $7;
- _sym_validate_len($20,$21);
- $22 = $10;
- $23 = ($22|0)!=(0|0);
- if ($23) {
-  $24 = $8;
-  $25 = $10;
-  $26 = HEAP8[$25>>0]|0;
-  $27 = $24 & 1;
-  $28 = $26 & -2;
-  $29 = $28 | $27;
-  HEAP8[$25>>0] = $29;
-  $30 = $7;
-  $31 = $30&65535;
-  $32 = $10;
-  $33 = ((($32)) + 2|0);
-  HEAP16[$33>>1] = $31;
-  $34 = $6;
-  $35 = $10;
-  $36 = ((($35)) + 4|0);
-  HEAP32[$36>>2] = $34;
-  $37 = $5;
-  $38 = $9;
-  $39 = (_kh_get_n2s($37,$38,0)|0);
-  $11 = $39;
-  $40 = $11;
-  $41 = $9;
-  $42 = HEAP32[$41>>2]|0;
-  $43 = ($40|0)!=($42|0);
-  if ($43) {
-   $44 = $9;
-   $45 = ((($44)) + 16|0);
-   $46 = HEAP32[$45>>2]|0;
-   $47 = $11;
-   $48 = (($46) + ($47<<2)|0);
-   $49 = HEAP32[$48>>2]|0;
-   $4 = $49;
-   $122 = $4;
-   STACKTOP = sp;return ($122|0);
-  }
- }
- $50 = $5;
- $51 = ((($50)) + 552|0);
- $52 = HEAP32[$51>>2]|0;
- $53 = (($52) + 1)|0;
- HEAP32[$51>>2] = $53;
- $12 = $53;
- $54 = $5;
- $55 = ((($54)) + 564|0);
- $56 = HEAP32[$55>>2]|0;
- $57 = $12;
- $58 = ($56>>>0)<($57>>>0);
- if ($58) {
-  $59 = $5;
-  $60 = ((($59)) + 564|0);
-  $61 = HEAP32[$60>>2]|0;
-  $62 = ($61|0)==(0);
-  $63 = $5;
-  $64 = ((($63)) + 564|0);
-  if ($62) {
-   HEAP32[$64>>2] = 100;
-  } else {
-   $65 = HEAP32[$64>>2]|0;
-   $66 = (+($65>>>0));
-   $67 = $66 * 1.2;
-   $68 = (~~(($67))>>>0);
-   $69 = $5;
-   $70 = ((($69)) + 564|0);
-   HEAP32[$70>>2] = $68;
-  }
-  $71 = $5;
-  $72 = $5;
-  $73 = ((($72)) + 560|0);
-  $74 = HEAP32[$73>>2]|0;
-  $75 = $5;
-  $76 = ((($75)) + 564|0);
-  $77 = HEAP32[$76>>2]|0;
-  $78 = (($77) + 1)|0;
-  $79 = $78<<3;
-  $80 = (_mrb_realloc($71,$74,$79)|0);
-  $81 = $5;
-  $82 = ((($81)) + 560|0);
-  HEAP32[$82>>2] = $80;
- }
- $83 = $5;
- $84 = ((($83)) + 560|0);
- $85 = HEAP32[$84>>2]|0;
- $86 = $12;
- $87 = (($85) + ($86<<3)|0);
- $10 = $87;
- $88 = $7;
- $89 = $88&65535;
- $90 = $10;
- $91 = ((($90)) + 2|0);
- HEAP16[$91>>1] = $89;
- $92 = $8;
- $93 = $92&255;
- $94 = ($93|0)!=(0);
- if ($94) {
-  $95 = $6;
-  $96 = $10;
-  $97 = ((($96)) + 4|0);
-  HEAP32[$97>>2] = $95;
-  $98 = $10;
-  $99 = HEAP8[$98>>0]|0;
-  $100 = $99 & -2;
-  $101 = $100 | 1;
-  HEAP8[$98>>0] = $101;
- } else {
-  $102 = $5;
-  $103 = $7;
-  $104 = (($103) + 1)|0;
-  $105 = (_mrb_malloc($102,$104)|0);
-  $13 = $105;
-  $106 = $13;
-  $107 = $6;
-  $108 = $7;
-  _memcpy(($106|0),($107|0),($108|0))|0;
-  $109 = $13;
-  $110 = $7;
-  $111 = (($109) + ($110)|0);
-  HEAP8[$111>>0] = 0;
-  $112 = $13;
-  $113 = $10;
-  $114 = ((($113)) + 4|0);
-  HEAP32[$114>>2] = $112;
-  $115 = $10;
-  $116 = HEAP8[$115>>0]|0;
-  $117 = $116 & -2;
-  HEAP8[$115>>0] = $117;
- }
- $118 = $5;
- $119 = $9;
- $120 = $12;
- (_kh_put_n2s($118,$119,$120,0)|0);
- $121 = $12;
- $4 = $121;
- $122 = $4;
- STACKTOP = sp;return ($122|0);
-}
-function _sym_validate_len($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4>>>0)>=(65535);
- if ($5) {
-  $6 = $2;
-  $7 = $2;
-  $8 = (_mrb_class_get($7,69160)|0);
-  _mrb_raise($6,$8,56461);
-  // unreachable;
- } else {
-  STACKTOP = sp;return;
- }
-}
-function _mrb_intern_static($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $5;
- $9 = (_sym_intern($6,$7,$8,1)|0);
- STACKTOP = sp;return ($9|0);
-}
-function _mrb_intern_cstr($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $3;
- $7 = (_strlen($6)|0);
- $8 = (_mrb_intern($4,$5,$7)|0);
- STACKTOP = sp;return ($8|0);
-}
-function _mrb_intern_str($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $2;
- $4 = HEAP32[$1>>2]|0;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 >>> 11;
- $7 = $6 & 8;
- $8 = ($7|0)!=(0);
- $9 = HEAP32[$1>>2]|0;
- $10 = ((($9)) + 12|0);
- if ($8) {
-  $25 = $10;
- } else {
-  $11 = ((($10)) + 8|0);
-  $12 = HEAP32[$11>>2]|0;
-  $25 = $12;
- }
- $13 = HEAP32[$1>>2]|0;
- $14 = HEAP32[$13>>2]|0;
- $15 = $14 >>> 11;
- $16 = $15 & 8;
- $17 = ($16|0)!=(0);
- $18 = HEAP32[$1>>2]|0;
- if ($17) {
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $19 >>> 11;
-  $21 = $20 & 496;
-  $22 = $21 >> 4;
-  $26 = $22;
-  $27 = (_mrb_intern($3,$25,$26)|0);
-  STACKTOP = sp;return ($27|0);
- } else {
-  $23 = ((($18)) + 12|0);
-  $24 = HEAP32[$23>>2]|0;
-  $26 = $24;
-  $27 = (_mrb_intern($3,$25,$26)|0);
-  STACKTOP = sp;return ($27|0);
- }
- return (0)|0;
-}
-function _mrb_check_intern($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $10 = $4;
- $11 = ((($10)) + 556|0);
- $12 = HEAP32[$11>>2]|0;
- $7 = $12;
- $13 = $4;
- $14 = ((($13)) + 560|0);
- $15 = HEAP32[$14>>2]|0;
- $8 = $15;
- $16 = $4;
- $17 = $6;
- _sym_validate_len($16,$17);
- $18 = $6;
- $19 = $18&65535;
- $20 = $8;
- $21 = ((($20)) + 2|0);
- HEAP16[$21>>1] = $19;
- $22 = $5;
- $23 = $8;
- $24 = ((($23)) + 4|0);
- HEAP32[$24>>2] = $22;
- $25 = $4;
- $26 = $7;
- $27 = (_kh_get_n2s($25,$26,0)|0);
- $9 = $27;
- $28 = $9;
- $29 = $7;
- $30 = HEAP32[$29>>2]|0;
- $31 = ($28|0)!=($30|0);
- if ($31) {
-  $32 = $7;
-  $33 = ((($32)) + 16|0);
-  $34 = HEAP32[$33>>2]|0;
-  $35 = $9;
-  $36 = (($34) + ($35<<2)|0);
-  $37 = HEAP32[$36>>2]|0;
-  _mrb_symbol_value_354($0,$37);
-  STACKTOP = sp;return;
- } else {
-  _mrb_nil_value_355($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_symbol_value_354($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 4;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_355($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_check_intern_cstr($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $4;
- $7 = $4;
- $8 = (_strlen($7)|0);
- _mrb_check_intern($0,$5,$6,$8);
- STACKTOP = sp;return;
-}
-function _mrb_check_intern_str($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- $5 = HEAP32[$2>>2]|0;
- $6 = HEAP32[$5>>2]|0;
- $7 = $6 >>> 11;
- $8 = $7 & 8;
- $9 = ($8|0)!=(0);
- $10 = HEAP32[$2>>2]|0;
- $11 = ((($10)) + 12|0);
- if ($9) {
-  $26 = $11;
- } else {
-  $12 = ((($11)) + 8|0);
-  $13 = HEAP32[$12>>2]|0;
-  $26 = $13;
- }
- $14 = HEAP32[$2>>2]|0;
- $15 = HEAP32[$14>>2]|0;
- $16 = $15 >>> 11;
- $17 = $16 & 8;
- $18 = ($17|0)!=(0);
- $19 = HEAP32[$2>>2]|0;
- if ($18) {
-  $20 = HEAP32[$19>>2]|0;
-  $21 = $20 >>> 11;
-  $22 = $21 & 496;
-  $23 = $22 >> 4;
-  $27 = $23;
-  _mrb_check_intern($0,$4,$26,$27);
-  STACKTOP = sp;return;
- } else {
-  $24 = ((($19)) + 12|0);
-  $25 = HEAP32[$24>>2]|0;
-  $27 = $25;
-  _mrb_check_intern($0,$4,$26,$27);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_sym2name_len($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $5;
- $8 = ($7|0)==(0);
- if (!($8)) {
-  $9 = $4;
-  $10 = ((($9)) + 552|0);
-  $11 = HEAP32[$10>>2]|0;
-  $12 = $5;
-  $13 = ($11>>>0)<($12>>>0);
-  if (!($13)) {
-   $17 = $6;
-   $18 = ($17|0)!=(0|0);
-   if ($18) {
-    $19 = $4;
-    $20 = ((($19)) + 560|0);
-    $21 = HEAP32[$20>>2]|0;
-    $22 = $5;
-    $23 = (($21) + ($22<<3)|0);
-    $24 = ((($23)) + 2|0);
-    $25 = HEAP16[$24>>1]|0;
-    $26 = $25&65535;
-    $27 = $6;
-    HEAP32[$27>>2] = $26;
-   }
-   $28 = $4;
-   $29 = ((($28)) + 560|0);
-   $30 = HEAP32[$29>>2]|0;
-   $31 = $5;
-   $32 = (($30) + ($31<<3)|0);
-   $33 = ((($32)) + 4|0);
-   $34 = HEAP32[$33>>2]|0;
-   $3 = $34;
-   $35 = $3;
-   STACKTOP = sp;return ($35|0);
-  }
- }
- $14 = $6;
- $15 = ($14|0)!=(0|0);
- if ($15) {
-  $16 = $6;
-  HEAP32[$16>>2] = 0;
- }
- $3 = 0;
- $35 = $3;
- STACKTOP = sp;return ($35|0);
-}
-function _mrb_free_symtbl($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = 1;
- $4 = $1;
- $5 = ((($4)) + 552|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (($6) + 1)|0;
- $3 = $7;
- while(1) {
-  $8 = $2;
-  $9 = $3;
-  $10 = ($8>>>0)<($9>>>0);
-  $11 = $1;
-  if (!($10)) {
-   break;
-  }
-  $12 = ((($11)) + 560|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = $2;
-  $15 = (($13) + ($14<<3)|0);
-  $16 = HEAP8[$15>>0]|0;
-  $17 = $16 & 1;
-  $18 = ($17<<24>>24)!=(0);
-  if (!($18)) {
-   $19 = $1;
-   $20 = $1;
-   $21 = ((($20)) + 560|0);
-   $22 = HEAP32[$21>>2]|0;
-   $23 = $2;
-   $24 = (($22) + ($23<<3)|0);
-   $25 = ((($24)) + 4|0);
-   $26 = HEAP32[$25>>2]|0;
-   _mrb_free($19,$26);
-  }
-  $27 = $2;
-  $28 = (($27) + 1)|0;
-  $2 = $28;
- }
- $29 = $1;
- $30 = ((($29)) + 560|0);
- $31 = HEAP32[$30>>2]|0;
- _mrb_free($11,$31);
- $32 = $1;
- $33 = $1;
- $34 = ((($33)) + 556|0);
- $35 = HEAP32[$34>>2]|0;
- _kh_destroy_n2s($32,$35);
- STACKTOP = sp;return;
-}
-function _mrb_init_symtbl($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_kh_init_n2s($2)|0);
- $4 = $1;
- $5 = ((($4)) + 556|0);
- HEAP32[$5>>2] = $3;
- STACKTOP = sp;return;
-}
-function _mrb_sym2str($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $5 = sp + 4|0;
- $3 = $1;
- $4 = $2;
- $7 = $3;
- $8 = $4;
- $9 = (_mrb_sym2name_len($7,$8,$5)|0);
- $6 = $9;
- $10 = $6;
- $11 = ($10|0)!=(0|0);
- if ($11) {
-  $12 = $3;
-  $13 = $6;
-  $14 = HEAP32[$5>>2]|0;
-  _mrb_str_new_static($0,$12,$13,$14);
-  STACKTOP = sp;return;
- } else {
-  _mrb_undef_value($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_undef_value($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 5;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_sym2name($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 40|0;
- $5 = sp + 20|0;
- $7 = sp + 8|0;
- $8 = sp;
- $3 = $0;
- $4 = $1;
- $9 = $3;
- $10 = $4;
- $11 = (_mrb_sym2name_len($9,$10,$5)|0);
- $6 = $11;
- $12 = $6;
- $13 = ($12|0)!=(0|0);
- if (!($13)) {
-  $2 = 0;
-  $37 = $2;
-  STACKTOP = sp;return ($37|0);
- }
- $14 = $6;
- $15 = (_symname_p($14)|0);
- $16 = $15&255;
- $17 = ($16|0)!=(0);
- if ($17) {
-  $18 = $6;
-  $19 = (_strlen($18)|0);
-  $20 = HEAP32[$5>>2]|0;
-  $21 = ($19|0)==($20|0);
-  if ($21) {
-   $22 = $6;
-   $2 = $22;
-   $37 = $2;
-   STACKTOP = sp;return ($37|0);
-  }
- }
- $23 = $3;
- $24 = $3;
- $25 = $6;
- $26 = HEAP32[$5>>2]|0;
- _mrb_str_new_static($8,$24,$25,$26);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
- _mrb_str_dump($7,$23,$$byval_copy);
- $27 = HEAP32[$7>>2]|0;
- $28 = HEAP32[$27>>2]|0;
- $29 = $28 >>> 11;
- $30 = $29 & 8;
- $31 = ($30|0)!=(0);
- $32 = HEAP32[$7>>2]|0;
- $33 = ((($32)) + 12|0);
- if ($31) {
-  $36 = $33;
- } else {
-  $34 = ((($33)) + 8|0);
-  $35 = HEAP32[$34>>2]|0;
-  $36 = $35;
- }
- $2 = $36;
- $37 = $2;
- STACKTOP = sp;return ($37|0);
-}
-function _symname_p($0) {
- $0 = $0|0;
- var $$off = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
- var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
- var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
- var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
- var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $switch = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $5 = $2;
- $3 = $5;
- $4 = 0;
- $6 = $3;
- $7 = ($6|0)!=(0|0);
- if (!($7)) {
-  $1 = 0;
-  $155 = $1;
-  STACKTOP = sp;return ($155|0);
- }
- $8 = $3;
- $9 = HEAP8[$8>>0]|0;
- $10 = $9 << 24 >> 24;
- L5: do {
-  switch ($10|0) {
-  case 0:  {
-   $1 = 0;
-   $155 = $1;
-   STACKTOP = sp;return ($155|0);
-   break;
-  }
-  case 36:  {
-   $11 = $3;
-   $12 = ((($11)) + 1|0);
-   $3 = $12;
-   $13 = (_is_special_global_name($12)|0);
-   $14 = ($13<<24>>24)!=(0);
-   if ($14) {
-    $1 = 1;
-    $155 = $1;
-    STACKTOP = sp;return ($155|0);
-   } else {
-    label = 36;
-   }
-   break;
-  }
-  case 64:  {
-   $15 = $3;
-   $16 = ((($15)) + 1|0);
-   $3 = $16;
-   $17 = HEAP8[$16>>0]|0;
-   $18 = $17 << 24 >> 24;
-   $19 = ($18|0)==(64);
-   if ($19) {
-    $20 = $3;
-    $21 = ((($20)) + 1|0);
-    $3 = $21;
-    label = 36;
-   } else {
-    label = 36;
-   }
-   break;
-  }
-  case 60:  {
-   $22 = $3;
-   $23 = ((($22)) + 1|0);
-   $3 = $23;
-   $24 = HEAP8[$23>>0]|0;
-   $25 = $24 << 24 >> 24;
-   switch ($25|0) {
-   case 60:  {
-    $26 = $3;
-    $27 = ((($26)) + 1|0);
-    $3 = $27;
-    break L5;
-    break;
-   }
-   case 61:  {
-    break;
-   }
-   default: {
-    break L5;
-   }
-   }
-   $28 = $3;
-   $29 = ((($28)) + 1|0);
-   $3 = $29;
-   $30 = HEAP8[$29>>0]|0;
-   $31 = $30 << 24 >> 24;
-   $32 = ($31|0)==(62);
-   if ($32) {
-    $33 = $3;
-    $34 = ((($33)) + 1|0);
-    $3 = $34;
-   }
-   break;
-  }
-  case 62:  {
-   $35 = $3;
-   $36 = ((($35)) + 1|0);
-   $3 = $36;
-   $37 = HEAP8[$36>>0]|0;
-   $38 = $37 << 24 >> 24;
-   $$off = (($38) + -61)|0;
-   $switch = ($$off>>>0)<(2);
-   if ($switch) {
-    $39 = $3;
-    $40 = ((($39)) + 1|0);
-    $3 = $40;
-   }
-   break;
-  }
-  case 61:  {
-   $41 = $3;
-   $42 = ((($41)) + 1|0);
-   $3 = $42;
-   $43 = HEAP8[$42>>0]|0;
-   $44 = $43 << 24 >> 24;
-   switch ($44|0) {
-   case 126:  {
-    $45 = $3;
-    $46 = ((($45)) + 1|0);
-    $3 = $46;
-    break L5;
-    break;
-   }
-   case 61:  {
-    $47 = $3;
-    $48 = ((($47)) + 1|0);
-    $3 = $48;
-    $49 = HEAP8[$48>>0]|0;
-    $50 = $49 << 24 >> 24;
-    $51 = ($50|0)==(61);
-    if (!($51)) {
-     break L5;
-    }
-    $52 = $3;
-    $53 = ((($52)) + 1|0);
-    $3 = $53;
-    break L5;
-    break;
-   }
-   default: {
-    $1 = 0;
-    $155 = $1;
-    STACKTOP = sp;return ($155|0);
-   }
-   }
-   break;
-  }
-  case 42:  {
-   $54 = $3;
-   $55 = ((($54)) + 1|0);
-   $3 = $55;
-   $56 = HEAP8[$55>>0]|0;
-   $57 = $56 << 24 >> 24;
-   $58 = ($57|0)==(42);
-   if ($58) {
-    $59 = $3;
-    $60 = ((($59)) + 1|0);
-    $3 = $60;
-   }
-   break;
-  }
-  case 33:  {
-   $61 = $3;
-   $62 = ((($61)) + 1|0);
-   $3 = $62;
-   $63 = HEAP8[$62>>0]|0;
-   $64 = $63 << 24 >> 24;
-   $65 = ($64|0)==(61);
-   if ($65) {
-    $66 = $3;
-    $67 = ((($66)) + 1|0);
-    $3 = $67;
-   }
-   break;
-  }
-  case 45: case 43:  {
-   $68 = $3;
-   $69 = ((($68)) + 1|0);
-   $3 = $69;
-   $70 = HEAP8[$69>>0]|0;
-   $71 = $70 << 24 >> 24;
-   $72 = ($71|0)==(64);
-   if ($72) {
-    $73 = $3;
-    $74 = ((($73)) + 1|0);
-    $3 = $74;
-   }
-   break;
-  }
-  case 124:  {
-   $75 = $3;
-   $76 = ((($75)) + 1|0);
-   $3 = $76;
-   $77 = HEAP8[$76>>0]|0;
-   $78 = $77 << 24 >> 24;
-   $79 = ($78|0)==(124);
-   if ($79) {
-    $80 = $3;
-    $81 = ((($80)) + 1|0);
-    $3 = $81;
-   }
-   break;
-  }
-  case 38:  {
-   $82 = $3;
-   $83 = ((($82)) + 1|0);
-   $3 = $83;
-   $84 = HEAP8[$83>>0]|0;
-   $85 = $84 << 24 >> 24;
-   $86 = ($85|0)==(38);
-   if ($86) {
-    $87 = $3;
-    $88 = ((($87)) + 1|0);
-    $3 = $88;
-   }
-   break;
-  }
-  case 96: case 126: case 37: case 47: case 94:  {
-   $89 = $3;
-   $90 = ((($89)) + 1|0);
-   $3 = $90;
-   break;
-  }
-  case 91:  {
-   $91 = $3;
-   $92 = ((($91)) + 1|0);
-   $3 = $92;
-   $93 = HEAP8[$92>>0]|0;
-   $94 = $93 << 24 >> 24;
-   $95 = ($94|0)!=(93);
-   if ($95) {
-    $1 = 0;
-    $155 = $1;
-    STACKTOP = sp;return ($155|0);
-   } else {
-    $96 = $3;
-    $97 = ((($96)) + 1|0);
-    $3 = $97;
-    $98 = HEAP8[$97>>0]|0;
-    $99 = $98 << 24 >> 24;
-    $100 = ($99|0)==(61);
-    if (!($100)) {
-     break L5;
-    }
-    $101 = $3;
-    $102 = ((($101)) + 1|0);
-    $3 = $102;
-    break L5;
-   }
-   break;
-  }
-  default: {
-   $103 = $3;
-   $104 = HEAP8[$103>>0]|0;
-   $105 = $104 << 24 >> 24;
-   $106 = (($105) - 65)|0;
-   $107 = ($106>>>0)<(26);
-   $108 = $107 ^ 1;
-   $109 = $108&1;
-   $110 = $109&255;
-   $4 = $110;
-   label = 36;
-  }
-  }
- } while(0);
- L45: do {
-  if ((label|0) == 36) {
-   $111 = $3;
-   $112 = HEAP8[$111>>0]|0;
-   $113 = $112 << 24 >> 24;
-   $114 = ($113|0)!=(95);
-   if ($114) {
-    $115 = $3;
-    $116 = HEAP8[$115>>0]|0;
-    $117 = $116 << 24 >> 24;
-    $118 = $117 | 32;
-    $119 = (($118) - 97)|0;
-    $120 = ($119>>>0)<(26);
-    if (!($120)) {
-     $1 = 0;
-     $155 = $1;
-     STACKTOP = sp;return ($155|0);
-    }
-   }
-   while(1) {
-    $121 = $3;
-    $122 = HEAP8[$121>>0]|0;
-    $123 = $122 << 24 >> 24;
-    $124 = ($123|0)!=(-1);
-    if (!($124)) {
-     break;
-    }
-    $125 = $3;
-    $126 = HEAP8[$125>>0]|0;
-    $127 = $126 << 24 >> 24;
-    $128 = $127 | 32;
-    $129 = (($128) - 97)|0;
-    $130 = ($129>>>0)<(26);
-    if (!($130)) {
-     $131 = $3;
-     $132 = HEAP8[$131>>0]|0;
-     $133 = $132 << 24 >> 24;
-     $134 = (($133) - 48)|0;
-     $135 = ($134>>>0)<(10);
-     if (!($135)) {
-      $136 = $3;
-      $137 = HEAP8[$136>>0]|0;
-      $138 = $137 << 24 >> 24;
-      $139 = ($138|0)==(95);
-      if (!($139)) {
-       break;
-      }
-     }
-    }
-    $140 = $3;
-    $141 = ((($140)) + 1|0);
-    $3 = $141;
-   }
-   $142 = $4;
-   $143 = ($142<<24>>24)!=(0);
-   if ($143) {
-    $144 = $3;
-    $145 = HEAP8[$144>>0]|0;
-    $146 = $145 << 24 >> 24;
-    switch ($146|0) {
-    case 61: case 63: case 33:  {
-     break;
-    }
-    default: {
-     break L45;
-    }
-    }
-    $147 = $3;
-    $148 = ((($147)) + 1|0);
-    $3 = $148;
-   }
-  }
- } while(0);
- $149 = $3;
- $150 = HEAP8[$149>>0]|0;
- $151 = $150 << 24 >> 24;
- $152 = ($151|0)!=(0);
- $153 = $152 ? 0 : 1;
- $154 = $153&255;
- $1 = $154;
- $155 = $1;
- STACKTOP = sp;return ($155|0);
-}
-function _is_special_global_name($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $2;
- $4 = HEAP8[$3>>0]|0;
- $5 = $4 << 24 >> 24;
- L1: do {
-  switch ($5|0) {
-  case 48: case 43: case 39: case 96: case 38: case 34: case 62: case 60: case 58: case 61: case 46: case 44: case 59: case 92: case 47: case 64: case 33: case 63: case 36: case 42: case 126:  {
-   $6 = $2;
-   $7 = ((($6)) + 1|0);
-   $2 = $7;
-   break;
-  }
-  case 45:  {
-   $8 = $2;
-   $9 = ((($8)) + 1|0);
-   $2 = $9;
-   $10 = $2;
-   $11 = HEAP8[$10>>0]|0;
-   $12 = $11 << 24 >> 24;
-   $13 = ($12|0)!=(-1);
-   if ($13) {
-    $14 = $2;
-    $15 = HEAP8[$14>>0]|0;
-    $16 = $15 << 24 >> 24;
-    $17 = $16 | 32;
-    $18 = (($17) - 97)|0;
-    $19 = ($18>>>0)<(26);
-    if (!($19)) {
-     $20 = $2;
-     $21 = HEAP8[$20>>0]|0;
-     $22 = $21 << 24 >> 24;
-     $23 = (($22) - 48)|0;
-     $24 = ($23>>>0)<(10);
-     if (!($24)) {
-      $25 = $2;
-      $26 = HEAP8[$25>>0]|0;
-      $27 = $26 << 24 >> 24;
-      $28 = ($27|0)==(95);
-      if (!($28)) {
-       break L1;
-      }
-     }
-    }
-    $29 = $2;
-    $30 = ((($29)) + 1|0);
-    $2 = $30;
-   }
-   break;
-  }
-  default: {
-   $31 = $2;
-   $32 = HEAP8[$31>>0]|0;
-   $33 = $32 << 24 >> 24;
-   $34 = (($33) - 48)|0;
-   $35 = ($34>>>0)<(10);
-   if ($35) {
-    while(1) {
-     $36 = $2;
-     $37 = ((($36)) + 1|0);
-     $2 = $37;
-     $38 = $2;
-     $39 = HEAP8[$38>>0]|0;
-     $40 = $39 << 24 >> 24;
-     $41 = (($40) - 48)|0;
-     $42 = ($41>>>0)<(10);
-     if (!($42)) {
-      break L1;
-     }
-    }
-   }
-   $1 = 0;
-   $49 = $1;
-   STACKTOP = sp;return ($49|0);
-  }
-  }
- } while(0);
- $43 = $2;
- $44 = HEAP8[$43>>0]|0;
- $45 = ($44<<24>>24)!=(0);
- $46 = $45 ^ 1;
- $47 = $46&1;
- $48 = $47&255;
- $1 = $48;
- $49 = $1;
- STACKTOP = sp;return ($49|0);
-}
-function _mrb_init_symbol($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = $1;
- $5 = ((($4)) + 32|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (_mrb_define_class($3,56484,$6)|0);
- $2 = $7;
- $8 = $1;
- $9 = ((($8)) + 80|0);
- HEAP32[$9>>2] = $7;
- $10 = $1;
- $11 = $2;
- _mrb_define_method($10,$11,69591,119,262144);
- $12 = $1;
- $13 = $2;
- _mrb_define_method($12,$13,56491,120,0);
- $14 = $1;
- $15 = $2;
- _mrb_define_method($14,$15,69276,120,0);
- $16 = $1;
- $17 = $2;
- _mrb_define_method($16,$17,56499,121,0);
- $18 = $1;
- $19 = $2;
- _mrb_define_method($18,$19,69281,122,0);
- $20 = $1;
- $21 = $2;
- _mrb_define_method($20,$21,69156,123,262144);
- STACKTOP = sp;return;
-}
-function _sym_equal($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $7 = (_mrb_obj_equal($6,$$byval_copy,$$byval_copy1)|0);
- _mrb_bool_value_369($0,$7);
- STACKTOP = sp;return;
-}
-function _mrb_sym_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $6 = sp;
- $3 = $1;
- $7 = HEAP32[$2>>2]|0;
- $4 = $7;
- $8 = $3;
- $9 = $4;
- $10 = (_mrb_sym2name_len($8,$9,$6)|0);
- $5 = $10;
- $11 = $3;
- $12 = $5;
- $13 = HEAP32[$6>>2]|0;
- _mrb_str_new_static($0,$11,$12,$13);
- STACKTOP = sp;return;
-}
-function _sym_to_sym($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _sym_inspect($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy = sp + 48|0;
- $4 = sp + 32|0;
- $6 = sp + 24|0;
- $9 = sp + 8|0;
- $10 = sp;
- $3 = $1;
- $11 = HEAP32[$2>>2]|0;
- $7 = $11;
- $12 = $3;
- $13 = $7;
- $14 = (_mrb_sym2name_len($12,$13,$6)|0);
- $5 = $14;
- $15 = $3;
- $16 = HEAP32[$6>>2]|0;
- $17 = (($16) + 1)|0;
- _mrb_str_new($9,$15,0,$17);
- ;HEAP32[$4>>2]=HEAP32[$9>>2]|0;HEAP32[$4+4>>2]=HEAP32[$9+4>>2]|0;
- $18 = HEAP32[$4>>2]|0;
- $19 = HEAP32[$18>>2]|0;
- $20 = $19 >>> 11;
- $21 = $20 & 8;
- $22 = ($21|0)!=(0);
- $23 = HEAP32[$4>>2]|0;
- $24 = ((($23)) + 12|0);
- if ($22) {
-  $27 = $24;
- } else {
-  $25 = ((($24)) + 8|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $26;
- }
- $8 = $27;
- $28 = HEAP32[$4>>2]|0;
- $29 = HEAP32[$28>>2]|0;
- $30 = $29 >>> 11;
- $31 = $30 & 8;
- $32 = ($31|0)!=(0);
- $33 = HEAP32[$4>>2]|0;
- $34 = ((($33)) + 12|0);
- if ($32) {
-  $37 = $34;
- } else {
-  $35 = ((($34)) + 8|0);
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $36;
- }
- HEAP8[$37>>0] = 58;
- $38 = $8;
- $39 = ((($38)) + 1|0);
- $40 = $5;
- $41 = HEAP32[$6>>2]|0;
- _memcpy(($39|0),($40|0),($41|0))|0;
- $42 = $5;
- $43 = (_symname_p($42)|0);
- $44 = ($43<<24>>24)!=(0);
- if ($44) {
-  $45 = $5;
-  $46 = (_strlen($45)|0);
-  $47 = HEAP32[$6>>2]|0;
-  $48 = ($46|0)!=($47|0);
-  if (!($48)) {
-   ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- $49 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_dump($10,$49,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$10>>2]|0;HEAP32[$4+4>>2]=HEAP32[$10+4>>2]|0;
- $50 = HEAP32[$4>>2]|0;
- $51 = HEAP32[$50>>2]|0;
- $52 = $51 >>> 11;
- $53 = $52 & 8;
- $54 = ($53|0)!=(0);
- $55 = HEAP32[$4>>2]|0;
- $56 = ((($55)) + 12|0);
- if ($54) {
-  $59 = $56;
- } else {
-  $57 = ((($56)) + 8|0);
-  $58 = HEAP32[$57>>2]|0;
-  $59 = $58;
- }
- $8 = $59;
- $60 = $8;
- HEAP8[$60>>0] = 58;
- $61 = $8;
- $62 = ((($61)) + 1|0);
- HEAP8[$62>>0] = 34;
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _sym_cmp($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $vararg_buffer = sp;
- $4 = sp + 40|0;
- $11 = sp + 8|0;
- $12 = sp + 4|0;
- $3 = $1;
- $13 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($13,69199,$vararg_buffer)|0);
- $14 = ((($4)) + 4|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = ($15|0)!=(4);
- if ($16) {
-  _mrb_nil_value_355($0);
-  STACKTOP = sp;return;
- }
- $17 = HEAP32[$2>>2]|0;
- $5 = $17;
- $18 = HEAP32[$4>>2]|0;
- $6 = $18;
- $19 = $5;
- $20 = $6;
- $21 = ($19|0)==($20|0);
- if ($21) {
-  _mrb_fixnum_value_368($0,0);
-  STACKTOP = sp;return;
- }
- $22 = $3;
- $23 = $5;
- $24 = (_mrb_sym2name_len($22,$23,$11)|0);
- $7 = $24;
- $25 = $3;
- $26 = $6;
- $27 = (_mrb_sym2name_len($25,$26,$12)|0);
- $8 = $27;
- $28 = HEAP32[$11>>2]|0;
- $29 = HEAP32[$12>>2]|0;
- $30 = ($28|0)>($29|0);
- $31 = HEAP32[$12>>2]|0;
- $32 = HEAP32[$11>>2]|0;
- $33 = $30 ? $31 : $32;
- $10 = $33;
- $34 = $7;
- $35 = $8;
- $36 = $10;
- $37 = (_memcmp($34,$35,$36)|0);
- $9 = $37;
- $38 = $9;
- $39 = ($38|0)==(0);
- if (!($39)) {
-  $46 = $9;
-  $47 = ($46|0)>(0);
-  if ($47) {
-   _mrb_fixnum_value_368($0,1);
-   STACKTOP = sp;return;
-  } else {
-   _mrb_fixnum_value_368($0,-1);
-   STACKTOP = sp;return;
-  }
- }
- $40 = HEAP32[$11>>2]|0;
- $41 = HEAP32[$12>>2]|0;
- $42 = ($40|0)==($41|0);
- if ($42) {
-  _mrb_fixnum_value_368($0,0);
-  STACKTOP = sp;return;
- }
- $43 = HEAP32[$11>>2]|0;
- $44 = HEAP32[$12>>2]|0;
- $45 = ($43|0)>($44|0);
- if ($45) {
-  _mrb_fixnum_value_368($0,1);
-  STACKTOP = sp;return;
- } else {
-  _mrb_fixnum_value_368($0,-1);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_fixnum_value_368($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_bool_value_369($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- $7 = $6 ? 2 : 0;
- $8 = ((($3)) + 4|0);
- HEAP32[$8>>2] = $7;
- HEAP32[$3>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_gc_mark_gv($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = $1;
- $4 = ((($3)) + 24|0);
- $5 = HEAP32[$4>>2]|0;
- _mark_tbl($2,$5);
- STACKTOP = sp;return;
-}
-function _mark_tbl($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $2;
- $7 = $3;
- (_iv_foreach($6,$7,124,0)|0);
- STACKTOP = sp;return;
-}
-function _iv_mark_i($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $3;
- $7 = ((($2)) + 4|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8>>>0)<(8);
- if ($9) {
-  STACKTOP = sp;return 0;
- }
- $10 = $4;
- $11 = HEAP32[$2>>2]|0;
- _mrb_gc_mark($10,$11);
- STACKTOP = sp;return 0;
-}
-function _iv_foreach($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $13 = $6;
- $14 = HEAP32[$13>>2]|0;
- $9 = $14;
- L1: while(1) {
-  $15 = $9;
-  $16 = ($15|0)!=(0|0);
-  if (!($16)) {
-   label = 15;
-   break;
-  }
-  $10 = 0;
-  while(1) {
-   $17 = $10;
-   $18 = ($17>>>0)<(4);
-   $19 = $9;
-   if (!($18)) {
-    break;
-   }
-   $20 = $10;
-   $21 = (($19) + ($20<<2)|0);
-   $22 = HEAP32[$21>>2]|0;
-   $12 = $22;
-   $23 = $9;
-   $24 = ((($23)) + 48|0);
-   $25 = HEAP32[$24>>2]|0;
-   $26 = ($25|0)!=(0|0);
-   if (!($26)) {
-    $27 = $10;
-    $28 = $6;
-    $29 = ((($28)) + 8|0);
-    $30 = HEAP32[$29>>2]|0;
-    $31 = ($27>>>0)>=($30>>>0);
-    if ($31) {
-     label = 7;
-     break L1;
-    }
-   }
-   $32 = $12;
-   $33 = ($32|0)!=(0);
-   if ($33) {
-    $34 = $7;
-    $35 = $5;
-    $36 = $12;
-    $37 = $9;
-    $38 = ((($37)) + 16|0);
-    $39 = $10;
-    $40 = (($38) + ($39<<3)|0);
-    $41 = $8;
-    ;HEAP32[$$byval_copy>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$40+4>>2]|0;
-    $42 = (FUNCTION_TABLE_iiiii[$34 & 255]($35,$36,$$byval_copy,$41)|0);
-    $11 = $42;
-    $43 = $11;
-    $44 = ($43|0)>(0);
-    if ($44) {
-     label = 10;
-     break L1;
-    }
-    $45 = $11;
-    $46 = ($45|0)<(0);
-    if ($46) {
-     $47 = $6;
-     $48 = ((($47)) + 4|0);
-     $49 = HEAP32[$48>>2]|0;
-     $50 = (($49) + -1)|0;
-     HEAP32[$48>>2] = $50;
-     $51 = $9;
-     $52 = $10;
-     $53 = (($51) + ($52<<2)|0);
-     HEAP32[$53>>2] = 0;
-    }
-   }
-   $54 = $10;
-   $55 = (($54) + 1)|0;
-   $10 = $55;
-  }
-  $56 = ((($19)) + 48|0);
-  $57 = HEAP32[$56>>2]|0;
-  $9 = $57;
- }
- if ((label|0) == 7) {
-  $4 = 0;
-  $58 = $4;
-  STACKTOP = sp;return ($58|0);
- }
- else if ((label|0) == 10) {
-  $4 = 0;
-  $58 = $4;
-  STACKTOP = sp;return ($58|0);
- }
- else if ((label|0) == 15) {
-  $4 = 1;
-  $58 = $4;
-  STACKTOP = sp;return ($58|0);
- }
- return (0)|0;
-}
-function _mrb_gc_free_gv($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 24|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $1;
- $7 = $1;
- $8 = ((($7)) + 24|0);
- $9 = HEAP32[$8>>2]|0;
- _iv_free($6,$9);
- STACKTOP = sp;return;
-}
-function _iv_free($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $6 = $3;
- $7 = HEAP32[$6>>2]|0;
- $4 = $7;
- while(1) {
-  $8 = $4;
-  $9 = ($8|0)!=(0|0);
-  if (!($9)) {
-   break;
-  }
-  $10 = $4;
-  $5 = $10;
-  $11 = $4;
-  $12 = ((($11)) + 48|0);
-  $13 = HEAP32[$12>>2]|0;
-  $4 = $13;
-  $14 = $2;
-  $15 = $5;
-  _mrb_free($14,$15);
- }
- $16 = $2;
- $17 = $3;
- _mrb_free($16,$17);
- STACKTOP = sp;return;
-}
-function _mrb_gc_mark_iv($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = ((($5)) + 12|0);
- $7 = HEAP32[$6>>2]|0;
- _mark_tbl($4,$7);
- STACKTOP = sp;return;
-}
-function _mrb_gc_mark_iv_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = ((($5)) + 12|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = (_iv_size($4,$7)|0);
- STACKTOP = sp;return ($8|0);
-}
-function _iv_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $6 = 0;
- $7 = $4;
- $8 = ($7|0)!=(0|0);
- if (!($8)) {
-  $2 = 0;
-  $34 = $2;
-  STACKTOP = sp;return ($34|0);
- }
- $9 = $4;
- $10 = ((($9)) + 4|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11>>>0)>(0);
- $13 = $4;
- if ($12) {
-  $14 = ((($13)) + 4|0);
-  $15 = HEAP32[$14>>2]|0;
-  $2 = $15;
-  $34 = $2;
-  STACKTOP = sp;return ($34|0);
- }
- $16 = HEAP32[$13>>2]|0;
- $5 = $16;
- while(1) {
-  $17 = $5;
-  $18 = ($17|0)!=(0|0);
-  if (!($18)) {
-   label = 10;
-   break;
-  }
-  $19 = $5;
-  $20 = ((($19)) + 48|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = ($21|0)==(0|0);
-  if ($22) {
-   label = 8;
-   break;
-  }
-  $29 = $5;
-  $30 = ((($29)) + 48|0);
-  $31 = HEAP32[$30>>2]|0;
-  $5 = $31;
-  $32 = $6;
-  $33 = (($32) + 4)|0;
-  $6 = $33;
- }
- if ((label|0) == 8) {
-  $23 = $4;
-  $24 = ((($23)) + 8|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $6;
-  $27 = (($26) + ($25))|0;
-  $6 = $27;
-  $28 = $6;
-  $2 = $28;
-  $34 = $2;
-  STACKTOP = sp;return ($34|0);
- }
- else if ((label|0) == 10) {
-  $2 = 0;
-  $34 = $2;
-  STACKTOP = sp;return ($34|0);
- }
- return (0)|0;
-}
-function _mrb_gc_free_iv($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 12|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ($6|0)!=(0|0);
- if (!($7)) {
-  STACKTOP = sp;return;
- }
- $8 = $2;
- $9 = $3;
- $10 = ((($9)) + 12|0);
- $11 = HEAP32[$10>>2]|0;
- _iv_free($8,$11);
- STACKTOP = sp;return;
-}
-function _mrb_vm_special_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $2;
- _mrb_fixnum_value_380($0,0);
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_value_380($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_vm_special_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- STACKTOP = sp;return;
-}
-function _mrb_obj_iv_get($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $7 = sp;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $8 = $5;
- $9 = ((($8)) + 12|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)!=(0|0);
- if ($11) {
-  $12 = $4;
-  $13 = $5;
-  $14 = ((($13)) + 12|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = $6;
-  $17 = (_iv_get($12,$15,$16,$7)|0);
-  $18 = $17&255;
-  $19 = ($18|0)!=(0);
-  if ($19) {
-   ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- _mrb_nil_value_381($0);
- STACKTOP = sp;return;
-}
-function _iv_get($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $12 = $6;
- $13 = HEAP32[$12>>2]|0;
- $9 = $13;
- L1: while(1) {
-  $14 = $9;
-  $15 = ($14|0)!=(0|0);
-  if (!($15)) {
-   label = 14;
-   break;
-  }
-  $10 = 0;
-  while(1) {
-   $16 = $10;
-   $17 = ($16>>>0)<(4);
-   $18 = $9;
-   if (!($17)) {
-    break;
-   }
-   $19 = $10;
-   $20 = (($18) + ($19<<2)|0);
-   $21 = HEAP32[$20>>2]|0;
-   $11 = $21;
-   $22 = $9;
-   $23 = ((($22)) + 48|0);
-   $24 = HEAP32[$23>>2]|0;
-   $25 = ($24|0)!=(0|0);
-   if (!($25)) {
-    $26 = $10;
-    $27 = $6;
-    $28 = ((($27)) + 8|0);
-    $29 = HEAP32[$28>>2]|0;
-    $30 = ($26>>>0)>=($29>>>0);
-    if ($30) {
-     label = 7;
-     break L1;
-    }
-   }
-   $31 = $11;
-   $32 = $7;
-   $33 = ($31|0)==($32|0);
-   if ($33) {
-    label = 9;
-    break L1;
-   }
-   $41 = $10;
-   $42 = (($41) + 1)|0;
-   $10 = $42;
-  }
-  $43 = ((($18)) + 48|0);
-  $44 = HEAP32[$43>>2]|0;
-  $9 = $44;
- }
- if ((label|0) == 7) {
-  $4 = 0;
-  $45 = $4;
-  STACKTOP = sp;return ($45|0);
- }
- else if ((label|0) == 9) {
-  $34 = $8;
-  $35 = ($34|0)!=(0|0);
-  if ($35) {
-   $36 = $8;
-   $37 = $9;
-   $38 = ((($37)) + 16|0);
-   $39 = $10;
-   $40 = (($38) + ($39<<3)|0);
-   ;HEAP32[$36>>2]=HEAP32[$40>>2]|0;HEAP32[$36+4>>2]=HEAP32[$40+4>>2]|0;
-  }
-  $4 = 1;
-  $45 = $4;
-  STACKTOP = sp;return ($45|0);
- }
- else if ((label|0) == 14) {
-  $4 = 0;
-  $45 = $4;
-  STACKTOP = sp;return ($45|0);
- }
- return (0)|0;
-}
-function _mrb_nil_value_381($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_iv_get($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $4 = $1;
- $5 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $6 = (_obj_iv_p($$byval_copy)|0);
- $7 = ($6<<24>>24)!=(0);
- if ($7) {
-  $8 = $4;
-  $9 = HEAP32[$2>>2]|0;
-  $10 = $5;
-  _mrb_obj_iv_get($0,$8,$9,$10);
-  STACKTOP = sp;return;
- } else {
-  _mrb_nil_value_381($0);
-  STACKTOP = sp;return;
- }
-}
-function _obj_iv_p($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = ((($0)) + 4|0);
- $3 = HEAP32[$2>>2]|0;
- switch ($3|0) {
- case 18: case 21: case 15: case 12: case 10: case 9: case 8:  {
-  $1 = 1;
-  break;
- }
- default: {
-  $1 = 0;
- }
- }
- $4 = $1;
- STACKTOP = sp;return ($4|0);
-}
-function _mrb_obj_iv_set($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $8 = $5;
- $9 = ((($8)) + 12|0);
- $10 = HEAP32[$9>>2]|0;
- $7 = $10;
- $11 = $7;
- $12 = ($11|0)!=(0|0);
- if (!($12)) {
-  $13 = $4;
-  $14 = (_iv_new($13)|0);
-  $15 = $5;
-  $16 = ((($15)) + 12|0);
-  HEAP32[$16>>2] = $14;
-  $7 = $14;
- }
- $17 = $4;
- $18 = $5;
- _mrb_write_barrier($17,$18);
- $19 = $4;
- $20 = $7;
- $21 = $6;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _iv_put($19,$20,$21,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _iv_new($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = (_mrb_malloc($3,12)|0);
- $2 = $4;
- $5 = $2;
- $6 = ((($5)) + 4|0);
- HEAP32[$6>>2] = 0;
- $7 = $2;
- HEAP32[$7>>2] = 0;
- $8 = $2;
- $9 = ((($8)) + 8|0);
- HEAP32[$9>>2] = 0;
- $10 = $2;
- STACKTOP = sp;return ($10|0);
-}
-function _iv_put($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
- var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $13 = $5;
- $14 = HEAP32[$13>>2]|0;
- $7 = $14;
- $8 = 0;
- $9 = 0;
- $10 = 0;
- L1: while(1) {
-  $15 = $7;
-  $16 = ($15|0)!=(0|0);
-  if (!($16)) {
-   label = 14;
-   break;
-  }
-  $11 = 0;
-  while(1) {
-   $17 = $11;
-   $18 = ($17>>>0)<(4);
-   $19 = $7;
-   if (!($18)) {
-    break;
-   }
-   $20 = $11;
-   $21 = (($19) + ($20<<2)|0);
-   $22 = HEAP32[$21>>2]|0;
-   $12 = $22;
-   $23 = $7;
-   $24 = ((($23)) + 48|0);
-   $25 = HEAP32[$24>>2]|0;
-   $26 = ($25|0)!=(0|0);
-   if (!($26)) {
-    $27 = $11;
-    $28 = $5;
-    $29 = ((($28)) + 8|0);
-    $30 = HEAP32[$29>>2]|0;
-    $31 = ($27>>>0)>=($30>>>0);
-    if ($31) {
-     label = 7;
-     break L1;
-    }
-   }
-   $48 = $9;
-   $49 = ($48|0)==(0|0);
-   $50 = $12;
-   $51 = ($50|0)==(0);
-   $or$cond = $49 & $51;
-   if ($or$cond) {
-    $52 = $7;
-    $9 = $52;
-    $53 = $11;
-    $10 = $53;
-   } else {
-    $54 = $12;
-    $55 = $6;
-    $56 = ($54|0)==($55|0);
-    if ($56) {
-     label = 11;
-     break L1;
-    }
-   }
-   $61 = $11;
-   $62 = (($61) + 1)|0;
-   $11 = $62;
-  }
-  $8 = $19;
-  $63 = $7;
-  $64 = ((($63)) + 48|0);
-  $65 = HEAP32[$64>>2]|0;
-  $7 = $65;
- }
- if ((label|0) == 7) {
-  $32 = $6;
-  $33 = $7;
-  $34 = $11;
-  $35 = (($33) + ($34<<2)|0);
-  HEAP32[$35>>2] = $32;
-  $36 = $7;
-  $37 = ((($36)) + 16|0);
-  $38 = $11;
-  $39 = (($37) + ($38<<3)|0);
-  ;HEAP32[$39>>2]=HEAP32[$3>>2]|0;HEAP32[$39+4>>2]=HEAP32[$3+4>>2]|0;
-  $40 = $11;
-  $41 = (($40) + 1)|0;
-  $42 = $5;
-  $43 = ((($42)) + 8|0);
-  HEAP32[$43>>2] = $41;
-  $44 = $5;
-  $45 = ((($44)) + 4|0);
-  $46 = HEAP32[$45>>2]|0;
-  $47 = (($46) + 1)|0;
-  HEAP32[$45>>2] = $47;
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 11) {
-  $57 = $7;
-  $58 = ((($57)) + 16|0);
-  $59 = $11;
-  $60 = (($58) + ($59<<3)|0);
-  ;HEAP32[$60>>2]=HEAP32[$3>>2]|0;HEAP32[$60+4>>2]=HEAP32[$3+4>>2]|0;
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 14) {
-  $66 = $5;
-  $67 = ((($66)) + 4|0);
-  $68 = HEAP32[$67>>2]|0;
-  $69 = (($68) + 1)|0;
-  HEAP32[$67>>2] = $69;
-  $70 = $9;
-  $71 = ($70|0)!=(0|0);
-  if ($71) {
-   $72 = $6;
-   $73 = $9;
-   $74 = $10;
-   $75 = (($73) + ($74<<2)|0);
-   HEAP32[$75>>2] = $72;
-   $76 = $9;
-   $77 = ((($76)) + 16|0);
-   $78 = $10;
-   $79 = (($77) + ($78<<3)|0);
-   ;HEAP32[$79>>2]=HEAP32[$3>>2]|0;HEAP32[$79+4>>2]=HEAP32[$3+4>>2]|0;
-   STACKTOP = sp;return;
-  }
-  $80 = $4;
-  $81 = (_mrb_malloc($80,52)|0);
-  $7 = $81;
-  $82 = $7;
-  $83 = ($82|0)!=(0|0);
-  if (!($83)) {
-   STACKTOP = sp;return;
-  }
-  $84 = $7;
-  $85 = ((($84)) + 48|0);
-  HEAP32[$85>>2] = 0;
-  $86 = $6;
-  $87 = $7;
-  HEAP32[$87>>2] = $86;
-  $88 = $7;
-  $89 = ((($88)) + 16|0);
-  ;HEAP32[$89>>2]=HEAP32[$3>>2]|0;HEAP32[$89+4>>2]=HEAP32[$3+4>>2]|0;
-  $90 = $5;
-  $91 = ((($90)) + 8|0);
-  HEAP32[$91>>2] = 1;
-  $92 = $8;
-  $93 = ($92|0)!=(0|0);
-  $94 = $7;
-  if ($93) {
-   $95 = $8;
-   $96 = ((($95)) + 48|0);
-   HEAP32[$96>>2] = $94;
-   STACKTOP = sp;return;
-  } else {
-   $97 = $5;
-   HEAP32[$97>>2] = $94;
-   STACKTOP = sp;return;
-  }
- }
-}
-function _mrb_obj_iv_ifnone($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $8 = $5;
- $9 = ((($8)) + 12|0);
- $10 = HEAP32[$9>>2]|0;
- $7 = $10;
- $11 = $7;
- $12 = ($11|0)!=(0|0);
- $13 = $4;
- if ($12) {
-  $17 = $7;
-  $18 = $6;
-  $19 = (_iv_get($13,$17,$18,$3)|0);
-  $20 = ($19<<24>>24)!=(0);
-  if ($20) {
-   STACKTOP = sp;return;
-  }
- } else {
-  $14 = (_iv_new($13)|0);
-  $15 = $5;
-  $16 = ((($15)) + 12|0);
-  HEAP32[$16>>2] = $14;
-  $7 = $14;
- }
- $21 = $4;
- $22 = $5;
- _mrb_write_barrier($21,$22);
- $23 = $4;
- $24 = $7;
- $25 = $6;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _iv_put($23,$24,$25,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_iv_set($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $4 = $0;
- $5 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $6 = (_obj_iv_p($$byval_copy)|0);
- $7 = ($6<<24>>24)!=(0);
- $8 = $4;
- if ($7) {
-  $9 = HEAP32[$1>>2]|0;
-  $10 = $5;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
-  _mrb_obj_iv_set($8,$9,$10,$$byval_copy1);
-  STACKTOP = sp;return;
- } else {
-  $11 = $4;
-  $12 = (_mrb_class_get($11,69160)|0);
-  _mrb_raise($8,$12,56506);
-  // unreachable;
- }
-}
-function _mrb_obj_iv_defined($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $8 = $5;
- $9 = ((($8)) + 12|0);
- $10 = HEAP32[$9>>2]|0;
- $7 = $10;
- $11 = $7;
- $12 = ($11|0)!=(0|0);
- if ($12) {
-  $13 = $4;
-  $14 = $7;
-  $15 = $6;
-  $16 = (_iv_get($13,$14,$15,0)|0);
-  $3 = $16;
-  $17 = $3;
-  STACKTOP = sp;return ($17|0);
- } else {
-  $3 = 0;
-  $17 = $3;
-  STACKTOP = sp;return ($17|0);
- }
- return (0)|0;
-}
-function _mrb_iv_defined($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 8|0;
- $4 = $0;
- $5 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $6 = (_obj_iv_p($$byval_copy)|0);
- $7 = ($6<<24>>24)!=(0);
- if ($7) {
-  $8 = $4;
-  $9 = HEAP32[$1>>2]|0;
-  $10 = $5;
-  $11 = (_mrb_obj_iv_defined($8,$9,$10)|0);
-  $3 = $11;
-  $12 = $3;
-  STACKTOP = sp;return ($12|0);
- } else {
-  $3 = 0;
-  $12 = $3;
-  STACKTOP = sp;return ($12|0);
- }
- return (0)|0;
-}
-function _mrb_iv_p($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $7 = sp;
- $3 = $0;
- $4 = $1;
- $8 = $3;
- $9 = $4;
- $10 = (_mrb_sym2name_len($8,$9,$7)|0);
- $5 = $10;
- $11 = HEAP32[$7>>2]|0;
- $12 = ($11|0)<(2);
- if ($12) {
-  $2 = 0;
-  $54 = $2;
-  STACKTOP = sp;return ($54|0);
- }
- $13 = $5;
- $14 = HEAP8[$13>>0]|0;
- $15 = $14 << 24 >> 24;
- $16 = ($15|0)!=(64);
- if ($16) {
-  $2 = 0;
-  $54 = $2;
-  STACKTOP = sp;return ($54|0);
- }
- $17 = $5;
- $18 = ((($17)) + 1|0);
- $19 = HEAP8[$18>>0]|0;
- $20 = $19 << 24 >> 24;
- $21 = ($20|0)==(64);
- if ($21) {
-  $2 = 0;
-  $54 = $2;
-  STACKTOP = sp;return ($54|0);
- }
- $6 = 1;
- while(1) {
-  $22 = $6;
-  $23 = HEAP32[$7>>2]|0;
-  $24 = ($22|0)<($23|0);
-  if (!($24)) {
-   label = 15;
-   break;
-  }
-  $25 = $5;
-  $26 = $6;
-  $27 = (($25) + ($26)|0);
-  $28 = HEAP8[$27>>0]|0;
-  $29 = $28 << 24 >> 24;
-  $30 = $29 | 32;
-  $31 = (($30) - 97)|0;
-  $32 = ($31>>>0)<(26);
-  if (!($32)) {
-   $33 = $5;
-   $34 = $6;
-   $35 = (($33) + ($34)|0);
-   $36 = HEAP8[$35>>0]|0;
-   $37 = $36 << 24 >> 24;
-   $38 = (($37) - 48)|0;
-   $39 = ($38>>>0)<(10);
-   if (!($39)) {
-    $40 = $5;
-    $41 = $6;
-    $42 = (($40) + ($41)|0);
-    $43 = HEAP8[$42>>0]|0;
-    $44 = $43 << 24 >> 24;
-    $45 = ($44|0)==(95);
-    if (!($45)) {
-     $46 = $5;
-     $47 = $6;
-     $48 = (($46) + ($47)|0);
-     $49 = HEAP8[$48>>0]|0;
-     $50 = $49 << 24 >> 24;
-     $51 = ($50>>>0)<=(127);
-     if ($51) {
-      label = 13;
-      break;
-     }
-    }
-   }
-  }
-  $52 = $6;
-  $53 = (($52) + 1)|0;
-  $6 = $53;
- }
- if ((label|0) == 13) {
-  $2 = 0;
-  $54 = $2;
-  STACKTOP = sp;return ($54|0);
- }
- else if ((label|0) == 15) {
-  $2 = 1;
-  $54 = $2;
-  STACKTOP = sp;return ($54|0);
- }
- return (0)|0;
-}
-function _mrb_iv_check($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = $3;
- $7 = (_mrb_iv_p($5,$6)|0);
- $8 = ($7<<24>>24)!=(0);
- if ($8) {
-  STACKTOP = sp;return;
- } else {
-  $9 = $2;
-  $10 = $3;
-  $11 = $2;
-  $12 = $3;
-  _mrb_sym2str($4,$11,$12);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$4>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$4+7>>0]|0;
-  _mrb_name_error($9,$10,56535,$vararg_buffer);
-  // unreachable;
- }
-}
-function _mrb_iv_copy($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $6 = HEAP32[$1>>2]|0;
- $4 = $6;
- $7 = HEAP32[$2>>2]|0;
- $5 = $7;
- $8 = $4;
- $9 = ((($8)) + 12|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)!=(0|0);
- if ($11) {
-  $12 = $3;
-  $13 = $4;
-  $14 = ((($13)) + 12|0);
-  $15 = HEAP32[$14>>2]|0;
-  _iv_free($12,$15);
-  $16 = $4;
-  $17 = ((($16)) + 12|0);
-  HEAP32[$17>>2] = 0;
- }
- $18 = $5;
- $19 = ((($18)) + 12|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = ($20|0)!=(0|0);
- if (!($21)) {
-  STACKTOP = sp;return;
- }
- $22 = $3;
- $23 = $4;
- _mrb_write_barrier($22,$23);
- $24 = $3;
- $25 = $5;
- $26 = ((($25)) + 12|0);
- $27 = HEAP32[$26>>2]|0;
- $28 = (_iv_copy($24,$27)|0);
- $29 = $4;
- $30 = ((($29)) + 12|0);
- HEAP32[$30>>2] = $28;
- STACKTOP = sp;return;
-}
-function _iv_copy($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 40|0;
- $9 = sp;
- $3 = $0;
- $4 = $1;
- $10 = $4;
- $11 = HEAP32[$10>>2]|0;
- $5 = $11;
- $12 = $3;
- $13 = (_iv_new($12)|0);
- $6 = $13;
- L1: while(1) {
-  $14 = $5;
-  $15 = ($14|0)!=(0|0);
-  if (!($15)) {
-   label = 10;
-   break;
-  }
-  $7 = 0;
-  while(1) {
-   $16 = $7;
-   $17 = ($16>>>0)<(4);
-   $18 = $5;
-   if (!($17)) {
-    break;
-   }
-   $19 = $7;
-   $20 = (($18) + ($19<<2)|0);
-   $21 = HEAP32[$20>>2]|0;
-   $8 = $21;
-   $22 = $5;
-   $23 = ((($22)) + 16|0);
-   $24 = $7;
-   $25 = (($23) + ($24<<3)|0);
-   ;HEAP32[$9>>2]=HEAP32[$25>>2]|0;HEAP32[$9+4>>2]=HEAP32[$25+4>>2]|0;
-   $26 = $5;
-   $27 = ((($26)) + 48|0);
-   $28 = HEAP32[$27>>2]|0;
-   $29 = ($28|0)==(0|0);
-   if ($29) {
-    $30 = $7;
-    $31 = $4;
-    $32 = ((($31)) + 8|0);
-    $33 = HEAP32[$32>>2]|0;
-    $34 = ($30>>>0)>=($33>>>0);
-    if ($34) {
-     label = 7;
-     break L1;
-    }
-   }
-   $36 = $3;
-   $37 = $6;
-   $38 = $8;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$9+4>>2]|0;
-   _iv_put($36,$37,$38,$$byval_copy);
-   $39 = $7;
-   $40 = (($39) + 1)|0;
-   $7 = $40;
-  }
-  $41 = ((($18)) + 48|0);
-  $42 = HEAP32[$41>>2]|0;
-  $5 = $42;
- }
- if ((label|0) == 7) {
-  $35 = $6;
-  $2 = $35;
-  $44 = $2;
-  STACKTOP = sp;return ($44|0);
- }
- else if ((label|0) == 10) {
-  $43 = $6;
-  $2 = $43;
-  $44 = $2;
-  STACKTOP = sp;return ($44|0);
- }
- return (0)|0;
-}
-function _mrb_obj_iv_inspect($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
- var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
- $$byval_copy7 = sp + 144|0;
- $$byval_copy6 = sp + 136|0;
- $$byval_copy5 = sp + 128|0;
- $$byval_copy4 = sp + 120|0;
- $$byval_copy3 = sp + 112|0;
- $$byval_copy2 = sp + 104|0;
- $$byval_copy1 = sp + 96|0;
- $$byval_copy = sp + 88|0;
- $8 = sp + 56|0;
- $9 = sp + 48|0;
- $10 = sp + 40|0;
- $11 = sp + 32|0;
- $12 = sp + 24|0;
- $13 = sp + 16|0;
- $14 = sp + 8|0;
- $15 = sp;
- $3 = $1;
- $4 = $2;
- $16 = $4;
- $17 = ((($16)) + 12|0);
- $18 = HEAP32[$17>>2]|0;
- $5 = $18;
- $19 = $3;
- $20 = $5;
- $21 = (_iv_size($19,$20)|0);
- $6 = $21;
- $22 = $6;
- $23 = ($22>>>0)>(0);
- $24 = $3;
- $25 = $4;
- if ($23) {
-  _mrb_obj_value_389($8,$25);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
-  $26 = (_mrb_obj_classname($24,$$byval_copy)|0);
-  $7 = $26;
-  $27 = $3;
-  _mrb_str_buf_new($9,$27,30);
-  $28 = $3;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
-  _mrb_str_cat($10,$28,$$byval_copy1,56584,2);
-  $29 = $3;
-  $30 = $7;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$9+4>>2]|0;
-  _mrb_str_cat_cstr($11,$29,$$byval_copy2,$30);
-  $31 = $3;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$9+4>>2]|0;
-  _mrb_str_cat($12,$31,$$byval_copy3,68074,1);
-  $32 = $3;
-  $33 = $3;
-  $34 = $4;
-  _mrb_ptr_to_str($13,$33,$34);
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$9+4>>2]|0;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$13+4>>2]|0;
-  _mrb_str_concat($32,$$byval_copy4,$$byval_copy5);
-  $35 = $3;
-  $36 = $5;
-  (_iv_foreach($35,$36,125,$9)|0);
-  $37 = $3;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$9+4>>2]|0;
-  _mrb_str_cat($14,$37,$$byval_copy6,65540,1);
-  ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  _mrb_obj_value_389($15,$25);
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$15+4>>2]|0;
-  _mrb_any_to_s($0,$24,$$byval_copy7);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_obj_value_389($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _inspect_i($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
- var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
- var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0);
- $$byval_copy7 = sp + 160|0;
- $$byval_copy6 = sp + 152|0;
- $$byval_copy5 = sp + 144|0;
- $$byval_copy4 = sp + 136|0;
- $$byval_copy3 = sp + 128|0;
- $$byval_copy2 = sp + 120|0;
- $$byval_copy1 = sp + 112|0;
- $$byval_copy = sp + 104|0;
- $7 = sp + 80|0;
- $9 = sp + 72|0;
- $10 = sp + 64|0;
- $12 = sp + 48|0;
- $13 = sp + 40|0;
- $14 = sp + 32|0;
- $15 = sp + 24|0;
- $16 = sp + 16|0;
- $17 = sp + 8|0;
- $18 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $3;
- $19 = $6;
- ;HEAP32[$7>>2]=HEAP32[$19>>2]|0;HEAP32[$7+4>>2]=HEAP32[$19+4>>2]|0;
- $20 = HEAP32[$7>>2]|0;
- $21 = HEAP32[$20>>2]|0;
- $22 = $21 >>> 11;
- $23 = $22 & 8;
- $24 = ($23|0)!=(0);
- $25 = HEAP32[$7>>2]|0;
- $26 = ((($25)) + 12|0);
- if ($24) {
-  $29 = $26;
- } else {
-  $27 = ((($26)) + 8|0);
-  $28 = HEAP32[$27>>2]|0;
-  $29 = $28;
- }
- $11 = $29;
- $30 = $11;
- $31 = HEAP8[$30>>0]|0;
- $32 = $31 << 24 >> 24;
- $33 = ($32|0)==(45);
- if ($33) {
-  $34 = $11;
-  HEAP8[$34>>0] = 35;
-  $35 = $4;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
-  _mrb_str_cat($12,$35,$$byval_copy,67795,1);
- } else {
-  $36 = $4;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
-  _mrb_str_cat($13,$36,$$byval_copy1,57540,2);
- }
- $37 = $4;
- $38 = $5;
- $39 = (_mrb_sym2name_len($37,$38,$9)|0);
- $8 = $39;
- $40 = $4;
- $41 = $8;
- $42 = HEAP32[$9>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_str_cat($14,$40,$$byval_copy2,$41,$42);
- $43 = $4;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_str_cat($15,$43,$$byval_copy3,66243,1);
- $44 = ((($2)) + 4|0);
- $45 = HEAP32[$44>>2]|0;
- $46 = ($45|0)==(8);
- $47 = $4;
- if ($46) {
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_any_to_s($16,$47,$$byval_copy4);
-  ;HEAP32[$10>>2]=HEAP32[$16>>2]|0;HEAP32[$10+4>>2]=HEAP32[$16+4>>2]|0;
-  $48 = $4;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$7+4>>2]|0;
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$10+4>>2]|0;
-  _mrb_str_cat_str($18,$48,$$byval_copy6,$$byval_copy7);
-  STACKTOP = sp;return 0;
- } else {
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_inspect($17,$47,$$byval_copy5);
-  ;HEAP32[$10>>2]=HEAP32[$17>>2]|0;HEAP32[$10+4>>2]=HEAP32[$17+4>>2]|0;
-  $48 = $4;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$7+4>>2]|0;
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$10+4>>2]|0;
-  _mrb_str_cat_str($18,$48,$$byval_copy6,$$byval_copy7);
-  STACKTOP = sp;return 0;
- }
- return (0)|0;
-}
-function _mrb_iv_remove($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $7 = sp;
- $4 = $1;
- $5 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $8 = (_obj_iv_p($$byval_copy)|0);
- $9 = ($8<<24>>24)!=(0);
- if ($9) {
-  $10 = HEAP32[$2>>2]|0;
-  $11 = ((($10)) + 12|0);
-  $12 = HEAP32[$11>>2]|0;
-  $6 = $12;
-  $13 = $6;
-  $14 = ($13|0)!=(0|0);
-  if ($14) {
-   $15 = $4;
-   $16 = $6;
-   $17 = $5;
-   $18 = (_iv_del($15,$16,$17,$7)|0);
-   $19 = $18&255;
-   $20 = ($19|0)!=(0);
-   if ($20) {
-    ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
-    STACKTOP = sp;return;
-   }
-  }
- }
- _mrb_undef_value_396($0);
- STACKTOP = sp;return;
-}
-function _iv_del($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $12 = $6;
- $13 = HEAP32[$12>>2]|0;
- $9 = $13;
- L1: while(1) {
-  $14 = $9;
-  $15 = ($14|0)!=(0|0);
-  if (!($15)) {
-   label = 14;
-   break;
-  }
-  $10 = 0;
-  while(1) {
-   $16 = $10;
-   $17 = ($16>>>0)<(4);
-   $18 = $9;
-   if (!($17)) {
-    break;
-   }
-   $19 = $10;
-   $20 = (($18) + ($19<<2)|0);
-   $21 = HEAP32[$20>>2]|0;
-   $11 = $21;
-   $22 = $9;
-   $23 = ((($22)) + 48|0);
-   $24 = HEAP32[$23>>2]|0;
-   $25 = ($24|0)!=(0|0);
-   if (!($25)) {
-    $26 = $10;
-    $27 = $6;
-    $28 = ((($27)) + 8|0);
-    $29 = HEAP32[$28>>2]|0;
-    $30 = ($26>>>0)>=($29>>>0);
-    if ($30) {
-     label = 7;
-     break L1;
-    }
-   }
-   $31 = $11;
-   $32 = $7;
-   $33 = ($31|0)==($32|0);
-   if ($33) {
-    label = 9;
-    break L1;
-   }
-   $48 = $10;
-   $49 = (($48) + 1)|0;
-   $10 = $49;
-  }
-  $50 = ((($18)) + 48|0);
-  $51 = HEAP32[$50>>2]|0;
-  $9 = $51;
- }
- if ((label|0) == 7) {
-  $4 = 0;
-  $52 = $4;
-  STACKTOP = sp;return ($52|0);
- }
- else if ((label|0) == 9) {
-  $34 = $6;
-  $35 = ((($34)) + 4|0);
-  $36 = HEAP32[$35>>2]|0;
-  $37 = (($36) + -1)|0;
-  HEAP32[$35>>2] = $37;
-  $38 = $9;
-  $39 = $10;
-  $40 = (($38) + ($39<<2)|0);
-  HEAP32[$40>>2] = 0;
-  $41 = $8;
-  $42 = ($41|0)!=(0|0);
-  if ($42) {
-   $43 = $8;
-   $44 = $9;
-   $45 = ((($44)) + 16|0);
-   $46 = $10;
-   $47 = (($45) + ($46<<3)|0);
-   ;HEAP32[$43>>2]=HEAP32[$47>>2]|0;HEAP32[$43+4>>2]=HEAP32[$47+4>>2]|0;
-  }
-  $4 = 1;
-  $52 = $4;
-  STACKTOP = sp;return ($52|0);
- }
- else if ((label|0) == 14) {
-  $4 = 0;
-  $52 = $4;
-  STACKTOP = sp;return ($52|0);
- }
- return (0)|0;
-}
-function _mrb_undef_value_396($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 5;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_vm_iv_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $3;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_iv_get($0,$5,$$byval_copy,$11);
- STACKTOP = sp;return;
-}
-function _mrb_vm_iv_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $3 = $0;
- $4 = $1;
- $5 = $3;
- $6 = $3;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_iv_set($5,$$byval_copy,$11,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _mrb_obj_instance_variables($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $4 = sp + 8|0;
- $5 = sp;
- $3 = $1;
- $6 = $3;
- _mrb_ary_new($5,$6);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $7 = (_obj_iv_p($$byval_copy)|0);
- $8 = $7&255;
- $9 = ($8|0)!=(0);
- if ($9) {
-  $10 = HEAP32[$2>>2]|0;
-  $11 = ((($10)) + 12|0);
-  $12 = HEAP32[$11>>2]|0;
-  $13 = ($12|0)!=(0|0);
-  if ($13) {
-   $14 = $3;
-   $15 = HEAP32[$2>>2]|0;
-   $16 = ((($15)) + 12|0);
-   $17 = HEAP32[$16>>2]|0;
-   (_iv_foreach($14,$17,126,$4)|0);
-  }
- }
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _iv_i($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $7 = sp + 16|0;
- $9 = sp + 8|0;
- $10 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $3;
- $11 = $6;
- ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
- $12 = $4;
- $13 = $5;
- $14 = (_mrb_sym2name_len($12,$13,$9)|0);
- $8 = $14;
- $15 = HEAP32[$9>>2]|0;
- $16 = ($15|0)>(1);
- if (!($16)) {
-  STACKTOP = sp;return 0;
- }
- $17 = $8;
- $18 = HEAP8[$17>>0]|0;
- $19 = $18 << 24 >> 24;
- $20 = ($19|0)==(64);
- if (!($20)) {
-  STACKTOP = sp;return 0;
- }
- $21 = $8;
- $22 = ((($21)) + 1|0);
- $23 = HEAP8[$22>>0]|0;
- $24 = $23 << 24 >> 24;
- $25 = ($24|0)!=(64);
- if (!($25)) {
-  STACKTOP = sp;return 0;
- }
- $26 = $4;
- $27 = $5;
- _mrb_symbol_value_397($10,$27);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_ary_push($26,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return 0;
-}
-function _mrb_symbol_value_397($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 4;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_class_variables($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = sp + 16|0;
- $6 = sp;
- $3 = $1;
- $7 = $3;
- _mrb_ary_new($6,$7);
- ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0;
- $8 = HEAP32[$2>>2]|0;
- $5 = $8;
- while(1) {
-  $9 = $5;
-  $10 = ($9|0)!=(0|0);
-  if (!($10)) {
-   break;
-  }
-  $11 = $5;
-  $12 = ((($11)) + 12|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = ($13|0)!=(0|0);
-  if ($14) {
-   $15 = $3;
-   $16 = $5;
-   $17 = ((($16)) + 12|0);
-   $18 = HEAP32[$17>>2]|0;
-   (_iv_foreach($15,$18,127,$4)|0);
-  }
-  $19 = $5;
-  $20 = ((($19)) + 20|0);
-  $21 = HEAP32[$20>>2]|0;
-  $5 = $21;
- }
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _cv_i($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $7 = sp + 16|0;
- $9 = sp + 8|0;
- $10 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $3;
- $11 = $6;
- ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
- $12 = $4;
- $13 = $5;
- $14 = (_mrb_sym2name_len($12,$13,$9)|0);
- $8 = $14;
- $15 = HEAP32[$9>>2]|0;
- $16 = ($15|0)>(2);
- if (!($16)) {
-  STACKTOP = sp;return 0;
- }
- $17 = $8;
- $18 = HEAP8[$17>>0]|0;
- $19 = $18 << 24 >> 24;
- $20 = ($19|0)==(64);
- if (!($20)) {
-  STACKTOP = sp;return 0;
- }
- $21 = $8;
- $22 = ((($21)) + 1|0);
- $23 = HEAP8[$22>>0]|0;
- $24 = $23 << 24 >> 24;
- $25 = ($24|0)==(64);
- if (!($25)) {
-  STACKTOP = sp;return 0;
- }
- $26 = $4;
- $27 = $5;
- _mrb_symbol_value_397($10,$27);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_ary_push($26,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return 0;
-}
-function _mrb_mod_cv_get($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$old = 0, $$old1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $vararg_buffer = sp;
- $8 = sp + 48|0;
- $9 = sp + 40|0;
- $10 = sp + 32|0;
- $11 = sp + 24|0;
- $12 = sp + 16|0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $13 = $5;
- $7 = $13;
- while(1) {
-  $14 = $5;
-  $15 = ($14|0)!=(0|0);
-  if (!($15)) {
-   break;
-  }
-  $16 = $5;
-  $17 = ((($16)) + 12|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = ($18|0)!=(0|0);
-  if ($19) {
-   $20 = $4;
-   $21 = $5;
-   $22 = ((($21)) + 12|0);
-   $23 = HEAP32[$22>>2]|0;
-   $24 = $6;
-   $25 = (_iv_get($20,$23,$24,$8)|0);
-   $26 = $25&255;
-   $27 = ($26|0)!=(0);
-   if ($27) {
-    label = 5;
-    break;
-   }
-  }
-  $28 = $5;
-  $29 = ((($28)) + 20|0);
-  $30 = HEAP32[$29>>2]|0;
-  $5 = $30;
- }
- if ((label|0) == 5) {
-  ;HEAP32[$0>>2]=HEAP32[$8>>2]|0;HEAP32[$0+4>>2]=HEAP32[$8+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $31 = $7;
- $32 = ($31|0)!=(0|0);
- L11: do {
-  if ($32) {
-   $33 = $7;
-   $34 = HEAP32[$33>>2]|0;
-   $35 = $34 & 255;
-   $36 = ($35|0)==(12);
-   if ($36) {
-    $37 = $4;
-    $38 = $7;
-    $39 = $4;
-    $40 = (_mrb_intern_static($39,68237,12)|0);
-    _mrb_obj_iv_get($10,$37,$38,$40);
-    ;HEAP32[$9>>2]=HEAP32[$10>>2]|0;HEAP32[$9+4>>2]=HEAP32[$10+4>>2]|0;
-    $41 = HEAP32[$9>>2]|0;
-    $5 = $41;
-    $42 = $5;
-    $43 = HEAP32[$42>>2]|0;
-    $44 = $43 & 255;
-    $45 = ($44|0)==(9);
-    $46 = $5;
-    $47 = ($46|0)!=(0|0);
-    $or$cond = $45 & $47;
-    if ($or$cond) {
-     while(1) {
-      $48 = $5;
-      $49 = ((($48)) + 12|0);
-      $50 = HEAP32[$49>>2]|0;
-      $51 = ($50|0)!=(0|0);
-      if ($51) {
-       $52 = $4;
-       $53 = $5;
-       $54 = ((($53)) + 12|0);
-       $55 = HEAP32[$54>>2]|0;
-       $56 = $6;
-       $57 = (_iv_get($52,$55,$56,$8)|0);
-       $58 = $57&255;
-       $59 = ($58|0)!=(0);
-       if ($59) {
-        break;
-       }
-      }
-      $60 = $5;
-      $61 = ((($60)) + 20|0);
-      $62 = HEAP32[$61>>2]|0;
-      $5 = $62;
-      $$old = $5;
-      $$old1 = ($$old|0)!=(0|0);
-      if (!($$old1)) {
-       break L11;
-      }
-     }
-     ;HEAP32[$0>>2]=HEAP32[$8>>2]|0;HEAP32[$0+4>>2]=HEAP32[$8+4>>2]|0;
-     STACKTOP = sp;return;
-    }
-   }
-  }
- } while(0);
- $63 = $4;
- $64 = $6;
- $65 = $4;
- $66 = $6;
- _mrb_sym2str($11,$65,$66);
- $67 = $7;
- _mrb_obj_value_389($12,$67);
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$11+7>>0]|0;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- ;HEAP8[$vararg_ptr2>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$12+7>>0]|0;
- _mrb_name_error($63,$64,56587,$vararg_buffer);
- // unreachable;
-}
-function _mrb_cv_get($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $5 = $3;
- $6 = $4;
- $7 = HEAP32[$2>>2]|0;
- $8 = $5;
- _mrb_mod_cv_get($0,$6,$7,$8);
- STACKTOP = sp;return;
-}
-function _mrb_mod_cv_set($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $9 = $5;
- $7 = $9;
- while(1) {
-  $10 = $5;
-  $11 = ($10|0)!=(0|0);
-  if (!($11)) {
-   break;
-  }
-  $12 = $5;
-  $13 = ((($12)) + 12|0);
-  $14 = HEAP32[$13>>2]|0;
-  $15 = ($14|0)!=(0|0);
-  if ($15) {
-   $16 = $5;
-   $17 = ((($16)) + 12|0);
-   $18 = HEAP32[$17>>2]|0;
-   $8 = $18;
-   $19 = $4;
-   $20 = $8;
-   $21 = $6;
-   $22 = (_iv_get($19,$20,$21,0)|0);
-   $23 = ($22<<24>>24)!=(0);
-   if ($23) {
-    label = 5;
-    break;
-   }
-  }
-  $29 = $5;
-  $30 = ((($29)) + 20|0);
-  $31 = HEAP32[$30>>2]|0;
-  $5 = $31;
- }
- if ((label|0) == 5) {
-  $24 = $4;
-  $25 = $5;
-  _mrb_write_barrier($24,$25);
-  $26 = $4;
-  $27 = $8;
-  $28 = $6;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
-  _iv_put($26,$27,$28,$$byval_copy);
-  STACKTOP = sp;return;
- }
- $32 = $7;
- $33 = ((($32)) + 12|0);
- $34 = HEAP32[$33>>2]|0;
- $35 = ($34|0)!=(0|0);
- if (!($35)) {
-  $36 = $4;
-  $37 = (_iv_new($36)|0);
-  $38 = $7;
-  $39 = ((($38)) + 12|0);
-  HEAP32[$39>>2] = $37;
- }
- $40 = $4;
- $41 = $7;
- _mrb_write_barrier($40,$41);
- $42 = $4;
- $43 = $7;
- $44 = ((($43)) + 12|0);
- $45 = HEAP32[$44>>2]|0;
- $46 = $6;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
- _iv_put($42,$45,$46,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _mrb_cv_set($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $4 = $0;
- $5 = $2;
- $6 = $4;
- $7 = HEAP32[$1>>2]|0;
- $8 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_mod_cv_set($6,$7,$8,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_mod_cv_defined($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- while(1) {
-  $8 = $5;
-  $9 = ($8|0)!=(0|0);
-  if (!($9)) {
-   label = 7;
-   break;
-  }
-  $10 = $5;
-  $11 = ((($10)) + 12|0);
-  $12 = HEAP32[$11>>2]|0;
-  $13 = ($12|0)!=(0|0);
-  if ($13) {
-   $14 = $5;
-   $15 = ((($14)) + 12|0);
-   $16 = HEAP32[$15>>2]|0;
-   $7 = $16;
-   $17 = $4;
-   $18 = $7;
-   $19 = $6;
-   $20 = (_iv_get($17,$18,$19,0)|0);
-   $21 = ($20<<24>>24)!=(0);
-   if ($21) {
-    label = 5;
-    break;
-   }
-  }
-  $22 = $5;
-  $23 = ((($22)) + 20|0);
-  $24 = HEAP32[$23>>2]|0;
-  $5 = $24;
- }
- if ((label|0) == 5) {
-  $3 = 1;
-  $25 = $3;
-  STACKTOP = sp;return ($25|0);
- }
- else if ((label|0) == 7) {
-  $3 = 0;
-  $25 = $3;
-  STACKTOP = sp;return ($25|0);
- }
- return (0)|0;
-}
-function _mrb_cv_defined($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $2;
- $5 = $3;
- $6 = HEAP32[$1>>2]|0;
- $7 = $4;
- $8 = (_mrb_mod_cv_defined($5,$6,$7)|0);
- STACKTOP = sp;return ($8|0);
-}
-function _mrb_vm_cv_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $2;
- $6 = $3;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ((($10)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ((($12)) + 16|0);
- $14 = HEAP32[$13>>2]|0;
- $5 = $14;
- $15 = $5;
- $16 = ($15|0)!=(0|0);
- if ($16) {
-  $24 = $3;
-  $25 = $5;
-  $26 = $4;
-  _mrb_mod_cv_get($0,$24,$25,$26);
-  STACKTOP = sp;return;
- }
- $17 = $3;
- $18 = ((($17)) + 12|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = ((($19)) + 16|0);
- $21 = HEAP32[$20>>2]|0;
- $22 = ((($21)) + 44|0);
- $23 = HEAP32[$22>>2]|0;
- $5 = $23;
- $24 = $3;
- $25 = $5;
- $26 = $4;
- _mrb_mod_cv_get($0,$24,$25,$26);
- STACKTOP = sp;return;
-}
-function _mrb_vm_cv_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $3 = $0;
- $4 = $1;
- $6 = $3;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ((($10)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ((($12)) + 16|0);
- $14 = HEAP32[$13>>2]|0;
- $5 = $14;
- $15 = $5;
- $16 = ($15|0)!=(0|0);
- if (!($16)) {
-  $17 = $3;
-  $18 = ((($17)) + 12|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = ((($19)) + 16|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = ((($21)) + 44|0);
-  $23 = HEAP32[$22>>2]|0;
-  $5 = $23;
- }
- $24 = $3;
- $25 = $5;
- $26 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_mod_cv_set($24,$25,$26,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_const_get($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $4 = $1;
- $5 = $3;
- $6 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mod_const_check($6,$$byval_copy);
- $7 = $4;
- $8 = HEAP32[$2>>2]|0;
- $9 = $5;
- _const_get($0,$7,$8,$9);
- STACKTOP = sp;return;
-}
-function _mod_const_check($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = ((($1)) + 4|0);
- $4 = HEAP32[$3>>2]|0;
- switch ($4|0) {
- case 12: case 10: case 9:  {
-  STACKTOP = sp;return;
-  break;
- }
- default: {
-  $5 = $2;
-  $6 = $2;
-  $7 = (_mrb_class_get($6,69204)|0);
-  _mrb_raise($5,$7,56625);
-  // unreachable;
- }
- }
-}
-function _const_get($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy = sp + 56|0;
- $8 = sp + 32|0;
- $11 = sp + 16|0;
- $12 = sp + 8|0;
- $13 = sp;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $14 = $5;
- $7 = $14;
- $10 = 0;
- L1: while(1) {
-  while(1) {
-   $15 = $7;
-   $16 = ($15|0)!=(0|0);
-   if (!($16)) {
-    break;
-   }
-   $17 = $7;
-   $18 = ((($17)) + 12|0);
-   $19 = HEAP32[$18>>2]|0;
-   $20 = ($19|0)!=(0|0);
-   if ($20) {
-    $21 = $7;
-    $22 = ((($21)) + 12|0);
-    $23 = HEAP32[$22>>2]|0;
-    $9 = $23;
-    $24 = $4;
-    $25 = $9;
-    $26 = $6;
-    $27 = (_iv_get($24,$25,$26,$8)|0);
-    $28 = ($27<<24>>24)!=(0);
-    if ($28) {
-     label = 6;
-     break L1;
-    }
-   }
-   $29 = $7;
-   $30 = ((($29)) + 20|0);
-   $31 = HEAP32[$30>>2]|0;
-   $7 = $31;
-  }
-  $32 = $10;
-  $33 = ($32<<24>>24)==(0);
-  $34 = $5;
-  $35 = ($34|0)!=(0|0);
-  $or$cond = $33 & $35;
-  if (!($or$cond)) {
-   label = 11;
-   break;
-  }
-  $36 = $5;
-  $37 = HEAP32[$36>>2]|0;
-  $38 = $37 & 255;
-  $39 = ($38|0)==(10);
-  if (!($39)) {
-   label = 11;
-   break;
-  }
-  $40 = $4;
-  $41 = ((($40)) + 32|0);
-  $42 = HEAP32[$41>>2]|0;
-  $7 = $42;
-  $10 = 1;
- }
- if ((label|0) == 6) {
-  ;HEAP32[$0>>2]=HEAP32[$8>>2]|0;HEAP32[$0+4>>2]=HEAP32[$8+4>>2]|0;
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 11) {
-  $43 = $6;
-  _mrb_symbol_value_397($12,$43);
-  ;HEAP32[$11>>2]=HEAP32[$12>>2]|0;HEAP32[$11+4>>2]=HEAP32[$12+4>>2]|0;
-  $44 = $4;
-  $45 = $5;
-  _mrb_obj_value_389($13,$45);
-  $46 = $4;
-  $47 = (_mrb_intern_static($46,66034,13)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$13+4>>2]|0;
-  _mrb_funcall_argv($0,$44,$$byval_copy,$47,1,$11);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_vm_const_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $7 = sp + 16|0;
- $8 = sp + 8|0;
- $9 = sp;
- $3 = $1;
- $4 = $2;
- $10 = $3;
- $11 = ((($10)) + 12|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ((($12)) + 16|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ((($14)) + 4|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = ((($16)) + 16|0);
- $18 = HEAP32[$17>>2]|0;
- $5 = $18;
- $19 = $5;
- $20 = ($19|0)!=(0|0);
- if (!($20)) {
-  $21 = $3;
-  $22 = ((($21)) + 12|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = ((($23)) + 16|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = ((($25)) + 44|0);
-  $27 = HEAP32[$26>>2]|0;
-  $5 = $27;
- }
- $28 = $5;
- $29 = ($28|0)!=(0|0);
- L4: do {
-  if ($29) {
-   $30 = $5;
-   $31 = ((($30)) + 12|0);
-   $32 = HEAP32[$31>>2]|0;
-   $33 = ($32|0)!=(0|0);
-   if ($33) {
-    $34 = $3;
-    $35 = $5;
-    $36 = ((($35)) + 12|0);
-    $37 = HEAP32[$36>>2]|0;
-    $38 = $4;
-    $39 = (_iv_get($34,$37,$38,$7)|0);
-    $40 = $39&255;
-    $41 = ($40|0)!=(0);
-    if ($41) {
-     ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
-     STACKTOP = sp;return;
-    }
-   }
-   $42 = $5;
-   $43 = HEAP32[$42>>2]|0;
-   $44 = $43 & 255;
-   $45 = ($44|0)==(12);
-   if ($45) {
-    $46 = $3;
-    $47 = $5;
-    $48 = $3;
-    $49 = (_mrb_intern_static($48,68237,12)|0);
-    _mrb_obj_iv_get($9,$46,$47,$49);
-    ;HEAP32[$8>>2]=HEAP32[$9>>2]|0;HEAP32[$8+4>>2]=HEAP32[$9+4>>2]|0;
-    $50 = HEAP32[$8>>2]|0;
-    $6 = $50;
-    $51 = $6;
-    $52 = HEAP32[$51>>2]|0;
-    $53 = $52 & 255;
-    $54 = ($53|0)==(9);
-    if ($54) {
-     $55 = $6;
-     $5 = $55;
-    }
-   }
-   $56 = $5;
-   $6 = $56;
-   while(1) {
-    $57 = $3;
-    $58 = $6;
-    $59 = (_mrb_class_outer_module($57,$58)|0);
-    $6 = $59;
-    $60 = $6;
-    $61 = ($60|0)!=(0|0);
-    if (!($61)) {
-     break L4;
-    }
-    $62 = $6;
-    $63 = ((($62)) + 12|0);
-    $64 = HEAP32[$63>>2]|0;
-    $65 = ($64|0)!=(0|0);
-    if (!($65)) {
-     continue;
-    }
-    $66 = $3;
-    $67 = $6;
-    $68 = ((($67)) + 12|0);
-    $69 = HEAP32[$68>>2]|0;
-    $70 = $4;
-    $71 = (_iv_get($66,$69,$70,$7)|0);
-    $72 = $71&255;
-    $73 = ($72|0)!=(0);
-    if ($73) {
-     break;
-    }
-   }
-   ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- } while(0);
- $74 = $3;
- $75 = $5;
- $76 = $4;
- _const_get($0,$74,$75,$76);
- STACKTOP = sp;return;
-}
-function _mrb_const_set($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy2 = sp + 24|0;
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $4 = $0;
- $5 = $2;
- $6 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mod_const_check($6,$$byval_copy);
- $7 = $4;
- $8 = $5;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_iv_set($7,$$byval_copy1,$8,$$byval_copy2);
- STACKTOP = sp;return;
-}
-function _mrb_vm_const_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $3 = $0;
- $4 = $1;
- $6 = $3;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ((($10)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ((($12)) + 16|0);
- $14 = HEAP32[$13>>2]|0;
- $5 = $14;
- $15 = $5;
- $16 = ($15|0)!=(0|0);
- if (!($16)) {
-  $17 = $3;
-  $18 = ((($17)) + 12|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = ((($19)) + 16|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = ((($21)) + 44|0);
-  $23 = HEAP32[$22>>2]|0;
-  $5 = $23;
- }
- $24 = $3;
- $25 = $5;
- $26 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_obj_iv_set($24,$25,$26,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_define_const($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $4;
- $8 = $5;
- $9 = $4;
- $10 = $6;
- $11 = (_mrb_intern_cstr($9,$10)|0);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_obj_iv_set($7,$8,$11,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_define_global_const($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $0;
- $4 = $1;
- $5 = $3;
- $6 = $3;
- $7 = ((($6)) + 32|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_define_const($5,$8,$9,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_mod_constants($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$old = 0, $$old1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer = sp;
- $4 = sp + 24|0;
- $5 = sp + 36|0;
- $7 = sp + 8|0;
- $3 = $1;
- HEAP8[$5>>0] = 1;
- $8 = HEAP32[$2>>2]|0;
- $6 = $8;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- (_mrb_get_args($9,68724,$vararg_buffer)|0);
- $10 = $3;
- _mrb_ary_new($7,$10);
- ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
- $$old = $6;
- $$old1 = ($$old|0)!=(0|0);
- L1: do {
-  if ($$old1) {
-   while(1) {
-    $11 = $6;
-    $12 = ((($11)) + 12|0);
-    $13 = HEAP32[$12>>2]|0;
-    $14 = ($13|0)!=(0|0);
-    if ($14) {
-     $15 = $3;
-     $16 = $6;
-     $17 = ((($16)) + 12|0);
-     $18 = HEAP32[$17>>2]|0;
-     (_iv_foreach($15,$18,128,$4)|0);
-    }
-    $19 = HEAP8[$5>>0]|0;
-    $20 = ($19<<24>>24)!=(0);
-    if (!($20)) {
-     break L1;
-    }
-    $21 = $6;
-    $22 = ((($21)) + 20|0);
-    $23 = HEAP32[$22>>2]|0;
-    $6 = $23;
-    $24 = $6;
-    $25 = $3;
-    $26 = ((($25)) + 32|0);
-    $27 = HEAP32[$26>>2]|0;
-    $28 = ($24|0)!=($27|0);
-    $29 = $6;
-    $30 = ($29|0)!=(0|0);
-    $or$cond = $28 & $30;
-    if (!($or$cond)) {
-     break;
-    }
-   }
-  }
- } while(0);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _const_i($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $7 = sp + 16|0;
- $9 = sp + 8|0;
- $10 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $3;
- $11 = $6;
- ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
- $12 = $4;
- $13 = $5;
- $14 = (_mrb_sym2name_len($12,$13,$9)|0);
- $8 = $14;
- $15 = HEAP32[$9>>2]|0;
- $16 = ($15|0)>=(1);
- if (!($16)) {
-  STACKTOP = sp;return 0;
- }
- $17 = $8;
- $18 = HEAP8[$17>>0]|0;
- $19 = $18 << 24 >> 24;
- $20 = (($19) - 65)|0;
- $21 = ($20>>>0)<(26);
- if (!($21)) {
-  STACKTOP = sp;return 0;
- }
- $22 = $4;
- $23 = $5;
- _mrb_symbol_value_397($10,$23);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_ary_push($22,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return 0;
-}
-function _mrb_gv_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $5 = sp;
- $3 = $1;
- $4 = $2;
- $6 = $3;
- $7 = ((($6)) + 24|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)!=(0|0);
- if (!($9)) {
-  _mrb_nil_value_381($0);
-  STACKTOP = sp;return;
- }
- $10 = $3;
- $11 = $3;
- $12 = ((($11)) + 24|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $4;
- $15 = (_iv_get($10,$13,$14,$5)|0);
- $16 = ($15<<24>>24)!=(0);
- if ($16) {
-  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  _mrb_nil_value_381($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_gv_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $3 = $0;
- $4 = $1;
- $6 = $3;
- $7 = ((($6)) + 24|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)!=(0|0);
- $10 = $3;
- if ($9) {
-  $14 = ((($10)) + 24|0);
-  $15 = HEAP32[$14>>2]|0;
-  $5 = $15;
- } else {
-  $11 = (_iv_new($10)|0);
-  $12 = $3;
-  $13 = ((($12)) + 24|0);
-  HEAP32[$13>>2] = $11;
-  $5 = $11;
- }
- $16 = $3;
- $17 = $5;
- $18 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _iv_put($16,$17,$18,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_f_global_variables($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $5 = sp + 16|0;
- $7 = sp + 48|0;
- $8 = sp;
- $3 = $1;
- $9 = $3;
- $10 = ((($9)) + 24|0);
- $11 = HEAP32[$10>>2]|0;
- $4 = $11;
- $12 = $3;
- _mrb_ary_new($5,$12);
- $13 = $4;
- $14 = ($13|0)!=(0|0);
- if ($14) {
-  $15 = $3;
-  $16 = $4;
-  (_iv_foreach($15,$16,129,$5)|0);
- }
- HEAP8[$7>>0] = 36;
- $17 = ((($7)) + 2|0);
- HEAP8[$17>>0] = 0;
- $6 = 1;
- while(1) {
-  $18 = $6;
-  $19 = ($18>>>0)<=(9);
-  if (!($19)) {
-   break;
-  }
-  $20 = $6;
-  $21 = (($20) + 48)|0;
-  $22 = $21&255;
-  $23 = ((($7)) + 1|0);
-  HEAP8[$23>>0] = $22;
-  $24 = $3;
-  $25 = $3;
-  $26 = (_mrb_intern($25,$7,2)|0);
-  _mrb_symbol_value_397($8,$26);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
-  _mrb_ary_push($24,$$byval_copy,$$byval_copy1);
-  $27 = $6;
-  $28 = (($27) + 1)|0;
-  $6 = $28;
- }
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _gv_i($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $7 = sp + 8|0;
- $8 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $3;
- $9 = $6;
- ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
- $10 = $4;
- $11 = $5;
- _mrb_symbol_value_397($8,$11);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
- _mrb_ary_push($10,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return 0;
-}
-function _mrb_const_defined($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $0;
- $4 = $2;
- $5 = $3;
- $6 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $7 = (_mrb_const_defined_0($5,$$byval_copy,$6,1,1)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _mrb_const_defined_0($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $6 = $0;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $13 = HEAP32[$1>>2]|0;
- $10 = $13;
- $12 = 0;
- $14 = $10;
- $11 = $14;
- L1: while(1) {
-  while(1) {
-   $15 = $11;
-   $16 = ($15|0)!=(0|0);
-   if (!($16)) {
-    break;
-   }
-   $17 = $11;
-   $18 = ((($17)) + 12|0);
-   $19 = HEAP32[$18>>2]|0;
-   $20 = ($19|0)!=(0|0);
-   if ($20) {
-    $21 = $6;
-    $22 = $11;
-    $23 = ((($22)) + 12|0);
-    $24 = HEAP32[$23>>2]|0;
-    $25 = $7;
-    $26 = (_iv_get($21,$24,$25,0)|0);
-    $27 = $26&255;
-    $28 = ($27|0)!=(0);
-    if ($28) {
-     label = 6;
-     break L1;
-    }
-   }
-   $29 = $9;
-   $30 = ($29<<24>>24)!=(0);
-   if (!($30)) {
-    $31 = $10;
-    $32 = $6;
-    $33 = ((($32)) + 32|0);
-    $34 = HEAP32[$33>>2]|0;
-    $35 = ($31|0)!=($34|0);
-    if ($35) {
-     break;
-    }
-   }
-   $36 = $11;
-   $37 = ((($36)) + 20|0);
-   $38 = HEAP32[$37>>2]|0;
-   $11 = $38;
-  }
-  $39 = $8;
-  $40 = ($39<<24>>24)!=(0);
-  $41 = $12;
-  $42 = ($41<<24>>24)!=(0);
-  $or$cond = $40 | $42;
-  if ($or$cond) {
-   label = 13;
-   break;
-  }
-  $43 = $10;
-  $44 = HEAP32[$43>>2]|0;
-  $45 = $44 & 255;
-  $46 = ($45|0)==(10);
-  if (!($46)) {
-   label = 13;
-   break;
-  }
-  $12 = 1;
-  $47 = $6;
-  $48 = ((($47)) + 32|0);
-  $49 = HEAP32[$48>>2]|0;
-  $11 = $49;
- }
- if ((label|0) == 6) {
-  $5 = 1;
-  $50 = $5;
-  STACKTOP = sp;return ($50|0);
- }
- else if ((label|0) == 13) {
-  $5 = 0;
-  $50 = $5;
-  STACKTOP = sp;return ($50|0);
- }
- return (0)|0;
-}
-function _mrb_const_defined_at($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $0;
- $4 = $2;
- $5 = $3;
- $6 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $7 = (_mrb_const_defined_0($5,$$byval_copy,$6,1,0)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _mrb_attr_get($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $4 = $1;
- $5 = $3;
- $6 = $4;
- $7 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_iv_get($0,$6,$$byval_copy,$7);
- STACKTOP = sp;return;
-}
-function _mrb_class_sym($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $7 = sp + 16|0;
- $8 = sp + 8|0;
- $9 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $10 = $4;
- $11 = $5;
- $12 = $4;
- $13 = (_mrb_intern_static($12,64870,11)|0);
- _mrb_obj_iv_get($8,$10,$11,$13);
- ;HEAP32[$7>>2]=HEAP32[$8>>2]|0;HEAP32[$7+4>>2]=HEAP32[$8+4>>2]|0;
- $14 = ((($7)) + 4|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = ($15|0)==(0);
- if ($16) {
-  $17 = HEAP32[$7>>2]|0;
-  $18 = ($17|0)!=(0);
-  if (!($18)) {
-   $19 = $6;
-   $20 = ($19|0)!=(0|0);
-   if ($20) {
-    $21 = $5;
-    HEAP32[$9>>2] = $21;
-    $22 = ((($9)) + 4|0);
-    HEAP32[$22>>2] = 0;
-    $23 = $4;
-    $24 = $6;
-    $25 = ((($24)) + 12|0);
-    $26 = HEAP32[$25>>2]|0;
-    (_iv_foreach($23,$26,130,$9)|0);
-    $27 = ((($9)) + 4|0);
-    $28 = HEAP32[$27>>2]|0;
-    $3 = $28;
-    $30 = $3;
-    STACKTOP = sp;return ($30|0);
-   } else {
-    $3 = 0;
-    $30 = $3;
-    STACKTOP = sp;return ($30|0);
-   }
-  }
- }
- $29 = HEAP32[$7>>2]|0;
- $3 = $29;
- $30 = $3;
- STACKTOP = sp;return ($30|0);
-}
-function _csym_i($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $3;
- $10 = $7;
- $8 = $10;
- $11 = $8;
- $12 = HEAP32[$11>>2]|0;
- $9 = $12;
- $13 = ((($2)) + 4|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = $9;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 & 255;
- $18 = ($14|0)==($17|0);
- if ($18) {
-  $19 = HEAP32[$2>>2]|0;
-  $20 = $9;
-  $21 = ($19|0)==($20|0);
-  if ($21) {
-   $22 = $6;
-   $23 = $8;
-   $24 = ((($23)) + 4|0);
-   HEAP32[$24>>2] = $22;
-   $4 = 1;
-   $25 = $4;
-   STACKTOP = sp;return ($25|0);
-  }
- }
- $4 = 0;
- $25 = $4;
- STACKTOP = sp;return ($25|0);
-}
-function _mrb_funcall($0,$1,$2,$3,$4,$varargs) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $varargs = $varargs|0;
- var $$byval_copy = 0, $$field$field = 0.0, $$field3 = 0, $$index2 = 0, $$index6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
- var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0;
- var $expanded10 = 0, $expanded11 = 0, $expanded7 = 0, $expanded9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
- $$byval_copy = sp + 112|0;
- $8 = sp + 32|0;
- $9 = sp + 16|0;
- $12 = sp;
- $5 = $1;
- $6 = $3;
- $7 = $4;
- $13 = $5;
- $14 = $6;
- $15 = (_mrb_intern_cstr($13,$14)|0);
- $11 = $15;
- $16 = $7;
- $17 = ($16|0)>(8);
- if ($17) {
-  $18 = $5;
-  $19 = $5;
-  $20 = (_mrb_class_get($19,69160)|0);
-  _mrb_raise($18,$20,56663);
-  // unreachable;
- }
- HEAP32[$9>>2] = $varargs;
- $10 = 0;
- while(1) {
-  $21 = $10;
-  $22 = $7;
-  $23 = ($21|0)<($22|0);
-  if (!($23)) {
-   break;
-  }
-  $24 = $10;
-  $25 = (($8) + ($24<<3)|0);
-  $arglist_current = HEAP32[$9>>2]|0;
-  $26 = $arglist_current;
-  $27 = ((0) + 4|0);
-  $expanded7 = $27;
-  $expanded = (($expanded7) - 1)|0;
-  $28 = (($26) + ($expanded))|0;
-  $29 = ((0) + 4|0);
-  $expanded11 = $29;
-  $expanded10 = (($expanded11) - 1)|0;
-  $expanded9 = $expanded10 ^ -1;
-  $30 = $28 & $expanded9;
-  $31 = $30;
-  $$field$field = +HEAPF32[$31>>2];
-  $$index2 = ((($31)) + 4|0);
-  $$field3 = HEAP32[$$index2>>2]|0;
-  $arglist_next = ((($31)) + 8|0);
-  HEAP32[$9>>2] = $arglist_next;
-  HEAPF32[$12>>2] = $$field$field;
-  $$index6 = ((($12)) + 4|0);
-  HEAP32[$$index6>>2] = $$field3;
-  ;HEAP32[$25>>2]=HEAP32[$12>>2]|0;HEAP32[$25+4>>2]=HEAP32[$12+4>>2]|0;
-  $32 = $10;
-  $33 = (($32) + 1)|0;
-  $10 = $33;
- }
- $34 = $5;
- $35 = $11;
- $36 = $7;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_funcall_argv($0,$34,$$byval_copy,$35,$36,$8);
- STACKTOP = sp;return;
-}
-function _mrb_funcall_argv($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $10 = sp;
- $6 = $1;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $11 = $6;
- $12 = $7;
- $13 = $8;
- $14 = $9;
- _mrb_nil_value_419($10);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_funcall_with_block($0,$11,$$byval_copy,$12,$13,$14,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_419($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_funcall_with_block($0,$1,$2,$3,$4,$5,$6) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- $6 = $6|0;
- var $$0 = 0, $$088 = 0, $$089 = 0, $$090 = 0, $$091 = 0, $$091$phi = 0, $$092 = 0, $$092$phi = 0, $$094 = 0, $$094$phi = 0, $$097 = 0, $$097$phi = 0, $$1 = 0, $$193 = 0, $$195 = 0, $$198 = 0, $$2 = 0, $$296 = 0, $$299 = 0, $$byval_copy = 0;
- var $$byval_copy100 = 0, $$byval_copy101 = 0, $$byval_copy102 = 0, $$byval_copy103 = 0, $$byval_copy104 = 0, $$reg2mem86$0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
- var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
- var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
- var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
- var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
- var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0;
- var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
- var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
- var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
- var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
- var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond113 = 0, $cond114 = 0, $cond115 = 0, $cond116 = 0, $cond117 = 0, $cond118 = 0;
- var $cond119 = 0, $cond120 = 0, $cond121 = 0, $cond122 = 0, $cond123 = 0, $cond124 = 0, $cond125 = 0, $cond126 = 0, $cond127 = 0, $cond128 = 0, $cond129 = 0, $cond130 = 0, $cond131 = 0, $cond132 = 0, $cond133 = 0, $cond134 = 0, $vararg_buffer = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 288|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(288|0);
- $$byval_copy104 = sp + 272|0;
- $$byval_copy103 = sp + 264|0;
- $$byval_copy102 = sp + 256|0;
- $$byval_copy101 = sp + 248|0;
- $$byval_copy100 = sp + 240|0;
- $$byval_copy = sp + 232|0;
- $vararg_buffer = sp;
- _setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
- $7 = sp + 224|0;
- $8 = sp + 64|0;
- $9 = sp + 56|0;
- $10 = sp + 48|0;
- $11 = sp + 40|0;
- $12 = sp + 32|0;
- $13 = sp + 24|0;
- $14 = sp + 16|0;
- $15 = sp + 8|0;
- $16 = HEAP32[$1>>2]|0;
- $17 = ($16|0)!=(0|0);
- do {
-  if ($17) {
-   $67 = ((($1)) + 12|0);
-   $68 = HEAP32[$67>>2]|0;
-   $69 = ((($68)) + 4|0);
-   $70 = HEAP32[$69>>2]|0;
-   $71 = ($70|0)!=(0|0);
-   if (!($71)) {
-    __THREW__ = 0;
-    invoke_vi(134,($1|0));
-    $72 = __THREW__; __THREW__ = 0;
-    if ((($72|0) != 0) & ((threwValue|0) != 0)) { $73 = _testSetjmp(HEAP32[$72>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($73|0) == 0) { _longjmp($72|0, threwValue|0); } tempRet0 = (threwValue); } else { $73 = -1; };
-    $74 = tempRet0;
-    $cond117 = ($73|0)==(1);
-    if ($cond117) {
-     $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $74;
-     break;
-    }
-   }
-   $75 = ((($1)) + 12|0);
-   $76 = HEAP32[$75>>2]|0;
-   $77 = ((($76)) + 16|0);
-   $78 = HEAP32[$77>>2]|0;
-   $79 = ((($78)) + 12|0);
-   $80 = HEAP32[$79>>2]|0;
-   $81 = ($4|0)<(0);
-   if ($81) {
-    __THREW__ = 0;
-    $82 = (invoke_iii(135,($1|0),(69160|0))|0);
-    $83 = __THREW__; __THREW__ = 0;
-    if ((($83|0) != 0) & ((threwValue|0) != 0)) { $84 = _testSetjmp(HEAP32[$83>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($84|0) == 0) { _longjmp($83|0, threwValue|0); } tempRet0 = (threwValue); } else { $84 = -1; };
-    $85 = tempRet0;
-    $cond133 = ($84|0)==(1);
-    if ($cond133) {
-     $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $85;
-     break;
-    }
-    __THREW__ = 0;
-    invoke_vii(136,($12|0),($4|0));
-    $86 = __THREW__; __THREW__ = 0;
-    if ((($86|0) != 0) & ((threwValue|0) != 0)) { $87 = _testSetjmp(HEAP32[$86>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($87|0) == 0) { _longjmp($86|0, threwValue|0); } tempRet0 = (threwValue); } else { $87 = -1; };
-    $88 = tempRet0;
-    $cond134 = ($87|0)==(1);
-    if ($cond134) {
-     $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $88;
-     break;
-    }
-    __THREW__ = 0;
-    ;HEAP8[$vararg_buffer>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$12+7>>0]|0;
-    invoke_viiii(137,($1|0),($82|0),(56693|0),($vararg_buffer|0));
-    $89 = __THREW__; __THREW__ = 0;
-    if ((($89|0) != 0) & ((threwValue|0) != 0)) { $90 = _testSetjmp(HEAP32[$89>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($90|0) == 0) { _longjmp($89|0, threwValue|0); } tempRet0 = (threwValue); } else { $90 = -1; };
-    $91 = tempRet0;
-    $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $91;
-    break;
-   }
-   __THREW__ = 0;
-   ;HEAP32[$$byval_copy101>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy101+4>>2]=HEAP32[$2+4>>2]|0;
-   $92 = (invoke_iii(138,($1|0),($$byval_copy101|0))|0);
-   $93 = __THREW__; __THREW__ = 0;
-   if ((($93|0) != 0) & ((threwValue|0) != 0)) { $94 = _testSetjmp(HEAP32[$93>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($94|0) == 0) { _longjmp($93|0, threwValue|0); } tempRet0 = (threwValue); } else { $94 = -1; };
-   $95 = tempRet0;
-   $cond118 = ($94|0)==(1);
-   if ($cond118) {
-    $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $95;
-   } else {
-    HEAP32[$11>>2] = $92;
-    __THREW__ = 0;
-    $96 = (invoke_iiii(139,($1|0),($11|0),($3|0))|0);
-    $97 = __THREW__; __THREW__ = 0;
-    if ((($97|0) != 0) & ((threwValue|0) != 0)) { $98 = _testSetjmp(HEAP32[$97>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($98|0) == 0) { _longjmp($97|0, threwValue|0); } tempRet0 = (threwValue); } else { $98 = -1; };
-    $99 = tempRet0;
-    $cond119 = ($98|0)==(1);
-    if ($cond119) {
-     $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $99;
-    } else {
-     $100 = ($96|0)!=(0|0);
-     if ($100) {
-      $$088 = $80;$$089 = 0;$$090 = $96;$$195 = $4;$$198 = $3;
-     } else {
-      __THREW__ = 0;
-      $101 = (invoke_iiii(140,($1|0),(65621|0),14)|0);
-      $102 = __THREW__; __THREW__ = 0;
-      if ((($102|0) != 0) & ((threwValue|0) != 0)) { $103 = _testSetjmp(HEAP32[$102>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($103|0) == 0) { _longjmp($102|0, threwValue|0); } tempRet0 = (threwValue); } else { $103 = -1; };
-      $104 = tempRet0;
-      $cond120 = ($103|0)==(1);
-      if ($cond120) {
-       $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $104;
-       break;
-      }
-      __THREW__ = 0;
-      $105 = (invoke_iiii(139,($1|0),($11|0),($101|0))|0);
-      $106 = __THREW__; __THREW__ = 0;
-      if ((($106|0) != 0) & ((threwValue|0) != 0)) { $107 = _testSetjmp(HEAP32[$106>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($107|0) == 0) { _longjmp($106|0, threwValue|0); } tempRet0 = (threwValue); } else { $107 = -1; };
-      $108 = tempRet0;
-      $cond121 = ($107|0)==(1);
-      if ($cond121) {
-       $$091 = 0;$$092 = $5;$$094 = $4;$$097 = $101;$$reg2mem86$0 = $108;
-       break;
-      }
-      $109 = (($80) + 1)|0;
-      $110 = (($4) + 1)|0;
-      $$088 = $109;$$089 = $3;$$090 = $105;$$195 = $110;$$198 = $101;
-     }
-     __THREW__ = 0;
-     $111 = (invoke_ii(141,($1|0))|0);
-     $112 = __THREW__; __THREW__ = 0;
-     if ((($112|0) != 0) & ((threwValue|0) != 0)) { $113 = _testSetjmp(HEAP32[$112>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($113|0) == 0) { _longjmp($112|0, threwValue|0); } tempRet0 = (threwValue); } else { $113 = -1; };
-     $114 = tempRet0;
-     $cond122 = ($113|0)==(1);
-     if ($cond122) {
-      $$091 = 0;$$092 = $5;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $114;
-     } else {
-      HEAP32[$111>>2] = $$198;
-      $115 = ((($111)) + 4|0);
-      HEAP32[$115>>2] = $$090;
-      $116 = ((($1)) + 12|0);
-      $117 = HEAP32[$116>>2]|0;
-      $118 = ((($117)) + 4|0);
-      $119 = HEAP32[$118>>2]|0;
-      $120 = ((($111)) + 8|0);
-      HEAP32[$120>>2] = $119;
-      $121 = ((($111)) + 36|0);
-      HEAP32[$121>>2] = $$195;
-      $122 = HEAP32[$11>>2]|0;
-      $123 = ((($111)) + 44|0);
-      HEAP32[$123>>2] = $122;
-      $124 = ((($1)) + 12|0);
-      $125 = HEAP32[$124>>2]|0;
-      $126 = ((($125)) + 4|0);
-      $127 = HEAP32[$126>>2]|0;
-      $128 = (($127) + ($$088<<3)|0);
-      $129 = ((($1)) + 12|0);
-      $130 = HEAP32[$129>>2]|0;
-      $131 = ((($130)) + 4|0);
-      HEAP32[$131>>2] = $128;
-      $132 = ((($1)) + 12|0);
-      $133 = HEAP32[$132>>2]|0;
-      $134 = ((($133)) + 8|0);
-      $135 = HEAP32[$134>>2]|0;
-      $136 = ($135>>>0)<=($5>>>0);
-      if ($136) {
-       $137 = ((($1)) + 12|0);
-       $138 = HEAP32[$137>>2]|0;
-       $139 = ((($138)) + 12|0);
-       $140 = HEAP32[$139>>2]|0;
-       $141 = ($5>>>0)<($140>>>0);
-       if ($141) {
-        $142 = ((($1)) + 12|0);
-        $143 = HEAP32[$142>>2]|0;
-        $144 = ((($143)) + 8|0);
-        $145 = HEAP32[$144>>2]|0;
-        $146 = $5;
-        $147 = $145;
-        $148 = (($146) - ($147))|0;
-        $149 = (($148|0) / 8)&-1;
-        $$0 = $149;
-       } else {
-        $$0 = -1;
-       }
-      } else {
-       $$0 = -1;
-      }
-      $150 = HEAP32[$$090>>2]|0;
-      $151 = $150 >>> 11;
-      $152 = $151 & 128;
-      $153 = ($152|0)!=(0);
-      if ($153) {
-       $154 = (($$195) + 2)|0;
-       $155 = ((($111)) + 12|0);
-       HEAP32[$155>>2] = $154;
-       $156 = ((($111)) + 12|0);
-       $157 = HEAP32[$156>>2]|0;
-       __THREW__ = 0;
-       invoke_viii(142,($1|0),($157|0),0);
-       $158 = __THREW__; __THREW__ = 0;
-       if ((($158|0) != 0) & ((threwValue|0) != 0)) { $159 = _testSetjmp(HEAP32[$158>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($159|0) == 0) { _longjmp($158|0, threwValue|0); } tempRet0 = (threwValue); } else { $159 = -1; };
-       $160 = tempRet0;
-       $cond132 = ($159|0)==(1);
-       if ($cond132) {
-        $$091 = 0;$$092 = $5;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $160;
-        break;
-       }
-      } else {
-       $161 = ((($$090)) + 12|0);
-       $162 = HEAP32[$161>>2]|0;
-       $163 = ((($162)) + 2|0);
-       $164 = HEAP16[$163>>1]|0;
-       $165 = $164&65535;
-       $166 = (($165) + ($$088))|0;
-       $167 = ((($111)) + 12|0);
-       HEAP32[$167>>2] = $166;
-       $168 = ((($111)) + 12|0);
-       $169 = HEAP32[$168>>2]|0;
-       $170 = (($$195) + 2)|0;
-       __THREW__ = 0;
-       invoke_viii(142,($1|0),($169|0),($170|0));
-       $171 = __THREW__; __THREW__ = 0;
-       if ((($171|0) != 0) & ((threwValue|0) != 0)) { $172 = _testSetjmp(HEAP32[$171>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($172|0) == 0) { _longjmp($171|0, threwValue|0); } tempRet0 = (threwValue); } else { $172 = -1; };
-       $173 = tempRet0;
-       $cond123 = ($172|0)==(1);
-       if ($cond123) {
-        $$091 = 0;$$092 = $5;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $173;
-        break;
-       }
-      }
-      $174 = ($$0|0)>=(0);
-      if ($174) {
-       $175 = ((($1)) + 12|0);
-       $176 = HEAP32[$175>>2]|0;
-       $177 = ((($176)) + 8|0);
-       $178 = HEAP32[$177>>2]|0;
-       $179 = (($178) + ($$0<<3)|0);
-       $$193 = $179;
-      } else {
-       $$193 = $5;
-      }
-      $180 = ((($1)) + 12|0);
-      $181 = HEAP32[$180>>2]|0;
-      $182 = ((($181)) + 4|0);
-      $183 = HEAP32[$182>>2]|0;
-      ;HEAP32[$183>>2]=HEAP32[$2>>2]|0;HEAP32[$183+4>>2]=HEAP32[$2+4>>2]|0;
-      $184 = ($$089|0)!=(0);
-      if ($184) {
-       $185 = ((($1)) + 12|0);
-       $186 = HEAP32[$185>>2]|0;
-       $187 = ((($186)) + 4|0);
-       $188 = HEAP32[$187>>2]|0;
-       $189 = ((($188)) + 8|0);
-       __THREW__ = 0;
-       invoke_vii(143,($13|0),($$089|0));
-       $190 = __THREW__; __THREW__ = 0;
-       if ((($190|0) != 0) & ((threwValue|0) != 0)) { $191 = _testSetjmp(HEAP32[$190>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($191|0) == 0) { _longjmp($190|0, threwValue|0); } tempRet0 = (threwValue); } else { $191 = -1; };
-       $192 = tempRet0;
-       $cond130 = ($191|0)==(1);
-       if ($cond130) {
-        $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $192;
-        break;
-       }
-       ;HEAP32[$189>>2]=HEAP32[$13>>2]|0;HEAP32[$189+4>>2]=HEAP32[$13+4>>2]|0;
-       $193 = ($$195|0)>(1);
-       if ($193) {
-        $194 = ((($1)) + 12|0);
-        $195 = HEAP32[$194>>2]|0;
-        $196 = ((($195)) + 4|0);
-        $197 = HEAP32[$196>>2]|0;
-        $198 = ((($197)) + 16|0);
-        $199 = (($$195) - 1)|0;
-        __THREW__ = 0;
-        invoke_viii(144,($198|0),($$193|0),($199|0));
-        $200 = __THREW__; __THREW__ = 0;
-        if ((($200|0) != 0) & ((threwValue|0) != 0)) { $201 = _testSetjmp(HEAP32[$200>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($201|0) == 0) { _longjmp($200|0, threwValue|0); } tempRet0 = (threwValue); } else { $201 = -1; };
-        $202 = tempRet0;
-        $cond131 = ($201|0)==(1);
-        if ($cond131) {
-         $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $202;
-         break;
-        }
-       }
-      } else {
-       $203 = ($$195|0)>(0);
-       if ($203) {
-        $204 = ((($1)) + 12|0);
-        $205 = HEAP32[$204>>2]|0;
-        $206 = ((($205)) + 4|0);
-        $207 = HEAP32[$206>>2]|0;
-        $208 = ((($207)) + 8|0);
-        __THREW__ = 0;
-        invoke_viii(144,($208|0),($$193|0),($$195|0));
-        $209 = __THREW__; __THREW__ = 0;
-        if ((($209|0) != 0) & ((threwValue|0) != 0)) { $210 = _testSetjmp(HEAP32[$209>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($210|0) == 0) { _longjmp($209|0, threwValue|0); } tempRet0 = (threwValue); } else { $210 = -1; };
-        $211 = tempRet0;
-        $cond129 = ($210|0)==(1);
-        if ($cond129) {
-         $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $211;
-         break;
-        }
-       }
-      }
-      $212 = ((($1)) + 12|0);
-      $213 = HEAP32[$212>>2]|0;
-      $214 = ((($213)) + 4|0);
-      $215 = HEAP32[$214>>2]|0;
-      $216 = (($$195) + 1)|0;
-      $217 = (($215) + ($216<<3)|0);
-      ;HEAP32[$217>>2]=HEAP32[$6>>2]|0;HEAP32[$217+4>>2]=HEAP32[$6+4>>2]|0;
-      $218 = HEAP32[$$090>>2]|0;
-      $219 = $218 >>> 11;
-      $220 = $219 & 128;
-      $221 = ($220|0)!=(0);
-      if (!($221)) {
-       $247 = ((($111)) + 40|0);
-       HEAP32[$247>>2] = -1;
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy103>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy103+4>>2]=HEAP32[$2+4>>2]|0;
-       invoke_viiii(147,($15|0),($1|0),($$090|0),($$byval_copy103|0));
-       $248 = __THREW__; __THREW__ = 0;
-       if ((($248|0) != 0) & ((threwValue|0) != 0)) { $249 = _testSetjmp(HEAP32[$248>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($249|0) == 0) { _longjmp($248|0, threwValue|0); } tempRet0 = (threwValue); } else { $249 = -1; };
-       $250 = tempRet0;
-       $cond124 = ($249|0)==(1);
-       if ($cond124) {
-        $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $250;
-        break;
-       }
-       ;HEAP32[$7>>2]=HEAP32[$15>>2]|0;HEAP32[$7+4>>2]=HEAP32[$15+4>>2]|0;
-       $$1 = 0;$$2 = $$193;$$296 = $$195;$$299 = $$198;
-       label = 52;
-       break;
-      }
-      __THREW__ = 0;
-      $222 = (invoke_ii(145,($1|0))|0);
-      $223 = __THREW__; __THREW__ = 0;
-      if ((($223|0) != 0) & ((threwValue|0) != 0)) { $224 = _testSetjmp(HEAP32[$223>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($224|0) == 0) { _longjmp($223|0, threwValue|0); } tempRet0 = (threwValue); } else { $224 = -1; };
-      $225 = tempRet0;
-      $cond125 = ($224|0)==(1);
-      if ($cond125) {
-       $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $225;
-      } else {
-       $226 = ((($111)) + 40|0);
-       HEAP32[$226>>2] = -2;
-       $227 = ((($$090)) + 12|0);
-       $228 = HEAP32[$227>>2]|0;
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy102>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy102+4>>2]=HEAP32[$2+4>>2]|0;
-       invoke_viii($228|0,($14|0),($1|0),($$byval_copy102|0));
-       $229 = __THREW__; __THREW__ = 0;
-       if ((($229|0) != 0) & ((threwValue|0) != 0)) { $230 = _testSetjmp(HEAP32[$229>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($230|0) == 0) { _longjmp($229|0, threwValue|0); } tempRet0 = (threwValue); } else { $230 = -1; };
-       $231 = tempRet0;
-       $cond126 = ($230|0)==(1);
-       if ($cond126) {
-        $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $231;
-       } else {
-        ;HEAP32[$7>>2]=HEAP32[$14>>2]|0;HEAP32[$7+4>>2]=HEAP32[$14+4>>2]|0;
-        $232 = ((($1)) + 12|0);
-        $233 = HEAP32[$232>>2]|0;
-        $234 = ((($233)) + 16|0);
-        $235 = HEAP32[$234>>2]|0;
-        $236 = ((($235)) + 8|0);
-        $237 = HEAP32[$236>>2]|0;
-        $238 = ((($1)) + 12|0);
-        $239 = HEAP32[$238>>2]|0;
-        $240 = ((($239)) + 4|0);
-        HEAP32[$240>>2] = $237;
-        __THREW__ = 0;
-        invoke_vi(132,($1|0));
-        $241 = __THREW__; __THREW__ = 0;
-        if ((($241|0) != 0) & ((threwValue|0) != 0)) { $242 = _testSetjmp(HEAP32[$241>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($242|0) == 0) { _longjmp($241|0, threwValue|0); } tempRet0 = (threwValue); } else { $242 = -1; };
-        $243 = tempRet0;
-        $cond127 = ($242|0)==(1);
-        if ($cond127) {
-         $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $243;
-        } else {
-         __THREW__ = 0;
-         invoke_vii(146,($1|0),($222|0));
-         $244 = __THREW__; __THREW__ = 0;
-         if ((($244|0) != 0) & ((threwValue|0) != 0)) { $245 = _testSetjmp(HEAP32[$244>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($245|0) == 0) { _longjmp($244|0, threwValue|0); } tempRet0 = (threwValue); } else { $245 = -1; };
-         $246 = tempRet0;
-         $cond128 = ($245|0)==(1);
-         if ($cond128) {
-          $$091 = 0;$$092 = $$193;$$094 = $$195;$$097 = $$198;$$reg2mem86$0 = $246;
-         } else {
-          $$1 = 0;$$2 = $$193;$$296 = $$195;$$299 = $$198;
-          label = 52;
-         }
-        }
-       }
-      }
-     }
-    }
-   }
-  } else {
-   $18 = ((($1)) + 12|0);
-   $19 = HEAP32[$18>>2]|0;
-   $20 = ((($19)) + 16|0);
-   $21 = HEAP32[$20>>2]|0;
-   $22 = ((($1)) + 12|0);
-   $23 = HEAP32[$22>>2]|0;
-   $24 = ((($23)) + 20|0);
-   $25 = HEAP32[$24>>2]|0;
-   $26 = $21;
-   $27 = $25;
-   $28 = (($26) - ($27))|0;
-   $29 = (($28|0) / 48)&-1;
-   _setjmpTable = _saveSetjmp($8,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
-   __THREW__ = 0;
-   $30 = __THREW__; __THREW__ = 0;
-   if ((($30|0) != 0) & ((threwValue|0) != 0)) { $31 = _testSetjmp(HEAP32[$30>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($31|0) == 0) { _longjmp($30|0, threwValue|0); } tempRet0 = (threwValue); } else { $31 = -1; };
-   $32 = tempRet0;
-   $cond = ($31|0)==(1);
-   if ($cond) {
-    $$091 = $29;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = $32;
-   } else {
-    $$091 = $29;$$092 = $5;$$094 = $4;$$097 = $3;$$reg2mem86$0 = 0;
-   }
-  }
- } while(0);
- L52: while(1) {
-  if ((label|0) == 52) {
-   label = 0;
-   __THREW__ = 0;
-   ;HEAP32[$$byval_copy104>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy104+4>>2]=HEAP32[$7+4>>2]|0;
-   invoke_vii(148,($1|0),($$byval_copy104|0));
-   $251 = __THREW__; __THREW__ = 0;
-   if ((($251|0) != 0) & ((threwValue|0) != 0)) { $252 = _testSetjmp(HEAP32[$251>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($252|0) == 0) { _longjmp($251|0, threwValue|0); } tempRet0 = (threwValue); } else { $252 = -1; };
-   $253 = tempRet0;
-   $cond114 = ($252|0)==(1);
-   if ($cond114) {
-    $$091 = $$1;$$092 = $$2;$$094 = $$296;$$097 = $$299;$$reg2mem86$0 = $253;
-   } else {
-    break;
-   }
-  }
-  $33 = ($$reg2mem86$0|0)==(0);
-  if ($33) {
-   HEAP32[$1>>2] = $8;
-   __THREW__ = 0;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-   ;HEAP32[$$byval_copy100>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy100+4>>2]=HEAP32[$6+4>>2]|0;
-   invoke_viiiiiii(131,($9|0),($1|0),($$byval_copy|0),($$097|0),($$094|0),($$092|0),($$byval_copy100|0));
-   $34 = __THREW__; __THREW__ = 0;
-   if ((($34|0) != 0) & ((threwValue|0) != 0)) { $35 = _testSetjmp(HEAP32[$34>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($35|0) == 0) { _longjmp($34|0, threwValue|0); } tempRet0 = (threwValue); } else { $35 = -1; };
-   $36 = tempRet0;
-   $cond116 = ($35|0)==(1);
-   if ($cond116) {
-    $$097$phi = $$097;$$094$phi = $$094;$$092$phi = $$092;$$091$phi = $$091;$$reg2mem86$0 = $36;$$097 = $$097$phi;$$094 = $$094$phi;$$092 = $$092$phi;$$091 = $$091$phi;
-    continue;
-   }
-   ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
-   HEAP32[$1>>2] = 0;
-   $$1 = $$091;$$2 = $$092;$$296 = $$094;$$299 = $$097;
-   label = 52;
-   continue;
-  }
-  while(1) {
-   $37 = ((($1)) + 12|0);
-   $38 = HEAP32[$37>>2]|0;
-   $39 = ((($38)) + 16|0);
-   $40 = HEAP32[$39>>2]|0;
-   $41 = ((($1)) + 12|0);
-   $42 = HEAP32[$41>>2]|0;
-   $43 = ((($42)) + 20|0);
-   $44 = HEAP32[$43>>2]|0;
-   $45 = $40;
-   $46 = $44;
-   $47 = (($45) - ($46))|0;
-   $48 = (($47|0) / 48)&-1;
-   $49 = ($$091|0)<($48|0);
-   if (!($49)) {
-    break;
-   }
-   $50 = ((($1)) + 12|0);
-   $51 = HEAP32[$50>>2]|0;
-   $52 = ((($51)) + 16|0);
-   $53 = HEAP32[$52>>2]|0;
-   $54 = ((($53)) + 8|0);
-   $55 = HEAP32[$54>>2]|0;
-   $56 = ((($1)) + 12|0);
-   $57 = HEAP32[$56>>2]|0;
-   $58 = ((($57)) + 4|0);
-   HEAP32[$58>>2] = $55;
-   __THREW__ = 0;
-   invoke_vi(132,($1|0));
-   $59 = __THREW__; __THREW__ = 0;
-   if ((($59|0) != 0) & ((threwValue|0) != 0)) { $60 = _testSetjmp(HEAP32[$59>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($60|0) == 0) { _longjmp($59|0, threwValue|0); } tempRet0 = (threwValue); } else { $60 = -1; };
-   $61 = tempRet0;
-   $cond115 = ($60|0)==(1);
-   if ($cond115) {
-    $$097$phi = $$097;$$094$phi = $$094;$$092$phi = $$092;$$091$phi = $$091;$$reg2mem86$0 = $61;$$097 = $$097$phi;$$094 = $$094$phi;$$092 = $$092$phi;$$091 = $$091$phi;
-    continue L52;
-   }
-  }
-  HEAP32[$1>>2] = 0;
-  $62 = ((($1)) + 20|0);
-  $63 = HEAP32[$62>>2]|0;
-  __THREW__ = 0;
-  invoke_vii(133,($10|0),($63|0));
-  $64 = __THREW__; __THREW__ = 0;
-  if ((($64|0) != 0) & ((threwValue|0) != 0)) { $65 = _testSetjmp(HEAP32[$64>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($65|0) == 0) { _longjmp($64|0, threwValue|0); } tempRet0 = (threwValue); } else { $65 = -1; };
-  $66 = tempRet0;
-  $cond113 = ($65|0)==(1);
-  if ($cond113) {
-   $$097$phi = $$097;$$094$phi = $$094;$$092$phi = $$092;$$091$phi = $$091;$$reg2mem86$0 = $66;$$097 = $$097$phi;$$094 = $$094$phi;$$092 = $$092$phi;$$091 = $$091$phi;
-   continue;
-  }
-  ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
-  $$1 = $$091;$$2 = $$092;$$296 = $$094;$$299 = $$097;
-  label = 52;
- }
- ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
- _free(_setjmpTable|0);
- STACKTOP = sp;return;
-}
-function _cipop($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $1 = $0;
- $6 = $1;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $2 = $8;
- $9 = $2;
- $10 = ((($9)) + 16|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ((($11)) + 24|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ($13|0)!=(0|0);
- if (!($14)) {
-  $41 = $2;
-  $42 = ((($41)) + 16|0);
-  $43 = HEAP32[$42>>2]|0;
-  $44 = ((($43)) + -48|0);
-  HEAP32[$42>>2] = $44;
-  STACKTOP = sp;return;
- }
- $15 = $2;
- $16 = ((($15)) + 16|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ((($17)) + 24|0);
- $19 = HEAP32[$18>>2]|0;
- $3 = $19;
- $20 = $3;
- $21 = HEAP32[$20>>2]|0;
- $22 = $21 >>> 11;
- $4 = $22;
- $23 = $1;
- $24 = $4;
- $25 = $24<<3;
- $26 = (_mrb_malloc($23,$25)|0);
- $5 = $26;
- $27 = $3;
- $28 = ((($27)) + 20|0);
- HEAP32[$28>>2] = -1;
- $29 = $4;
- $30 = ($29>>>0)>(0);
- if ($30) {
-  $31 = $5;
-  $32 = $3;
-  $33 = ((($32)) + 12|0);
-  $34 = HEAP32[$33>>2]|0;
-  $35 = $4;
-  _stack_copy($31,$34,$35);
- }
- $36 = $5;
- $37 = $3;
- $38 = ((($37)) + 12|0);
- HEAP32[$38>>2] = $36;
- $39 = $1;
- $40 = $3;
- _mrb_write_barrier($39,$40);
- $41 = $2;
- $42 = ((($41)) + 16|0);
- $43 = HEAP32[$42>>2]|0;
- $44 = ((($43)) + -48|0);
- HEAP32[$42>>2] = $44;
- STACKTOP = sp;return;
-}
-function _mrb_obj_value_420($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _stack_init($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = ((($3)) + 12|0);
- $5 = HEAP32[$4>>2]|0;
- $2 = $5;
- $6 = $1;
- $7 = (_mrb_calloc($6,128,8)|0);
- $8 = $2;
- $9 = ((($8)) + 8|0);
- HEAP32[$9>>2] = $7;
- $10 = $2;
- $11 = ((($10)) + 8|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ((($12)) + 1024|0);
- $14 = $2;
- $15 = ((($14)) + 12|0);
- HEAP32[$15>>2] = $13;
- $16 = $2;
- $17 = ((($16)) + 8|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = $2;
- $20 = ((($19)) + 4|0);
- HEAP32[$20>>2] = $18;
- $21 = $1;
- $22 = (_mrb_calloc($21,32,48)|0);
- $23 = $2;
- $24 = ((($23)) + 20|0);
- HEAP32[$24>>2] = $22;
- $25 = $2;
- $26 = ((($25)) + 20|0);
- $27 = HEAP32[$26>>2]|0;
- $28 = ((($27)) + 1536|0);
- $29 = $2;
- $30 = ((($29)) + 24|0);
- HEAP32[$30>>2] = $28;
- $31 = $2;
- $32 = ((($31)) + 20|0);
- $33 = HEAP32[$32>>2]|0;
- $34 = $2;
- $35 = ((($34)) + 16|0);
- HEAP32[$35>>2] = $33;
- $36 = $1;
- $37 = ((($36)) + 32|0);
- $38 = HEAP32[$37>>2]|0;
- $39 = $2;
- $40 = ((($39)) + 16|0);
- $41 = HEAP32[$40>>2]|0;
- $42 = ((($41)) + 44|0);
- HEAP32[$42>>2] = $38;
- $43 = $2;
- $44 = ((($43)) + 4|0);
- $45 = HEAP32[$44>>2]|0;
- $46 = $2;
- $47 = ((($46)) + 16|0);
- $48 = HEAP32[$47>>2]|0;
- $49 = ((($48)) + 8|0);
- HEAP32[$49>>2] = $45;
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_value_421($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_class_423($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = ((($1)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- L1: do {
-  switch ($5|0) {
-  case 0:  {
-   $6 = HEAP32[$1>>2]|0;
-   $7 = ($6|0)!=(0);
-   $8 = $3;
-   if ($7) {
-    $9 = ((($8)) + 72|0);
-    $10 = HEAP32[$9>>2]|0;
-    $2 = $10;
-    break L1;
-   } else {
-    $11 = ((($8)) + 76|0);
-    $12 = HEAP32[$11>>2]|0;
-    $2 = $12;
-    break L1;
-   }
-   break;
-  }
-  case 2:  {
-   $13 = $3;
-   $14 = ((($13)) + 68|0);
-   $15 = HEAP32[$14>>2]|0;
-   $2 = $15;
-   break;
-  }
-  case 4:  {
-   $16 = $3;
-   $17 = ((($16)) + 80|0);
-   $18 = HEAP32[$17>>2]|0;
-   $2 = $18;
-   break;
-  }
-  case 3:  {
-   $19 = $3;
-   $20 = ((($19)) + 64|0);
-   $21 = HEAP32[$20>>2]|0;
-   $2 = $21;
-   break;
-  }
-  case 6:  {
-   $22 = $3;
-   $23 = ((($22)) + 60|0);
-   $24 = HEAP32[$23>>2]|0;
-   $2 = $24;
-   break;
-  }
-  case 7:  {
-   $25 = $3;
-   $26 = ((($25)) + 32|0);
-   $27 = HEAP32[$26>>2]|0;
-   $2 = $27;
-   break;
-  }
-  case 20:  {
-   $2 = 0;
-   break;
-  }
-  default: {
-   $28 = HEAP32[$1>>2]|0;
-   $29 = ((($28)) + 4|0);
-   $30 = HEAP32[$29>>2]|0;
-   $2 = $30;
-  }
-  }
- } while(0);
- $31 = $2;
- STACKTOP = sp;return ($31|0);
-}
-function _cipush($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $1 = $0;
- $7 = $1;
- $8 = ((($7)) + 12|0);
- $9 = HEAP32[$8>>2]|0;
- $2 = $9;
- $10 = $2;
- $11 = ((($10)) + 16|0);
- $12 = HEAP32[$11>>2]|0;
- $3 = $12;
- $13 = $3;
- $14 = ((($13)) + 20|0);
- $15 = HEAP32[$14>>2]|0;
- $4 = $15;
- $16 = $3;
- $17 = ((($16)) + 16|0);
- $18 = HEAP32[$17>>2]|0;
- $5 = $18;
- $19 = $3;
- $20 = ((($19)) + 48|0);
- $21 = $2;
- $22 = ((($21)) + 24|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = ($20|0)==($23|0);
- if ($24) {
-  $25 = $3;
-  $26 = $2;
-  $27 = ((($26)) + 20|0);
-  $28 = HEAP32[$27>>2]|0;
-  $29 = $25;
-  $30 = $28;
-  $31 = (($29) - ($30))|0;
-  $32 = (($31|0) / 48)&-1;
-  $6 = $32;
-  $33 = $1;
-  $34 = $2;
-  $35 = ((($34)) + 20|0);
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $6;
-  $38 = ($37*48)|0;
-  $39 = $38<<1;
-  $40 = (_mrb_realloc($33,$36,$39)|0);
-  $41 = $2;
-  $42 = ((($41)) + 20|0);
-  HEAP32[$42>>2] = $40;
-  $43 = $2;
-  $44 = ((($43)) + 20|0);
-  $45 = HEAP32[$44>>2]|0;
-  $46 = $6;
-  $47 = (($45) + (($46*48)|0)|0);
-  $48 = $2;
-  $49 = ((($48)) + 16|0);
-  HEAP32[$49>>2] = $47;
-  $50 = $2;
-  $51 = ((($50)) + 20|0);
-  $52 = HEAP32[$51>>2]|0;
-  $53 = $6;
-  $54 = $53<<1;
-  $55 = (($52) + (($54*48)|0)|0);
-  $56 = $2;
-  $57 = ((($56)) + 24|0);
-  HEAP32[$57>>2] = $55;
- }
- $58 = $2;
- $59 = ((($58)) + 16|0);
- $60 = HEAP32[$59>>2]|0;
- $61 = ((($60)) + 48|0);
- HEAP32[$59>>2] = $61;
- $3 = $61;
- $62 = $4;
- $63 = $3;
- $64 = ((($63)) + 20|0);
- HEAP32[$64>>2] = $62;
- $65 = $5;
- $66 = $3;
- $67 = ((($66)) + 16|0);
- HEAP32[$67>>2] = $65;
- $68 = $3;
- $69 = ((($68)) + 24|0);
- HEAP32[$69>>2] = 0;
- $70 = $3;
- $71 = ((($70)) + 28|0);
- HEAP32[$71>>2] = 0;
- $72 = $3;
- $73 = ((($72)) + 32|0);
- HEAP32[$73>>2] = 0;
- $74 = $3;
- $75 = ((($74)) + 4|0);
- HEAP32[$75>>2] = 0;
- $76 = $3;
- STACKTOP = sp;return ($76|0);
-}
-function _stack_extend($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = $4;
- $12 = (($10) + ($11<<3)|0);
- $13 = $3;
- $14 = ((($13)) + 12|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = ((($15)) + 12|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($12>>>0)>=($17>>>0);
- if (!($18)) {
-  $22 = $3;
-  $23 = $4;
-  $24 = $5;
-  _init_new_stack_space($22,$23,$24);
-  STACKTOP = sp;return;
- }
- $19 = $3;
- $20 = $4;
- $21 = $5;
- _stack_extend_alloc($19,$20,$21);
- $22 = $3;
- $23 = $4;
- $24 = $5;
- _init_new_stack_space($22,$23,$24);
- STACKTOP = sp;return;
-}
-function _mrb_symbol_value_425($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 4;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _stack_copy($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- while(1) {
-  $6 = $5;
-  $7 = (($6) + -1)|0;
-  $5 = $7;
-  $8 = ($6>>>0)>(0);
-  if (!($8)) {
-   break;
-  }
-  $9 = $3;
-  $10 = ((($9)) + 8|0);
-  $3 = $10;
-  $11 = $4;
-  $12 = ((($11)) + 8|0);
-  $4 = $12;
-  ;HEAP32[$9>>2]=HEAP32[$11>>2]|0;HEAP32[$9+4>>2]=HEAP32[$11+4>>2]|0;
- }
- STACKTOP = sp;return;
-}
-function _mrb_run($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $4 = $1;
- $5 = $2;
- $6 = $4;
- $7 = $5;
- $8 = $4;
- $9 = ((($8)) + 12|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ((($10)) + 16|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ((($12)) + 36|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = (($14) + 2)|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_context_run($0,$6,$7,$$byval_copy,$15);
- STACKTOP = sp;return;
-}
-function _mrb_context_run($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$0 = 0, $$01004 = 0, $$01005 = 0, $$01006 = 0, $$01007 = 0, $$01008 = 0, $$01009 = 0, $$01010 = 0, $$01011 = 0, $$01012 = 0, $$01013 = 0, $$01014 = 0, $$01015 = 0, $$01016 = 0, $$01017 = 0, $$01018 = 0, $$01019 = 0, $$01021 = 0, $$01021$phi = 0, $$01023 = 0;
- var $$01025 = 0, $$01026 = 0, $$01027 = 0, $$01029 = 0, $$01031 = 0, $$01032 = 0, $$01033 = 0, $$01034 = 0, $$01035 = 0, $$01036 = 0, $$01037 = 0, $$01038 = 0, $$01039 = 0, $$01040 = 0, $$01041 = 0, $$01042 = 0, $$01043 = 0, $$01046 = 0, $$01048 = 0, $$01050 = 0;
- var $$01053 = 0, $$01059 = 0, $$01065 = 0, $$01072 = 0, $$01079 = 0, $$01086 = 0, $$1 = 0, $$11020 = 0, $$11020$phi = 0, $$11022 = 0, $$11024 = 0, $$11028 = 0, $$11030 = 0, $$11044 = 0, $$11044$phi = 0, $$11047 = 0, $$11047$phi = 0, $$11049 = 0, $$11049$phi = 0, $$11051 = 0;
- var $$11054 = 0, $$11054$phi = 0, $$11060 = 0, $$11060$phi = 0, $$11066 = 0, $$11066$phi = 0, $$11073 = 0, $$11073$phi = 0, $$11080 = 0, $$11080$phi = 0, $$11087 = 0, $$11087$phi = 0, $$2 = 0, $$21045 = 0, $$21045$phi = 0, $$21052 = 0, $$21055 = 0, $$21055$phi = 0, $$21061 = 0, $$21067 = 0;
- var $$21074 = 0, $$21081 = 0, $$21088 = 0, $$3 = 0, $$31056 = 0, $$31062 = 0, $$31062$phi = 0, $$31068 = 0, $$31068$phi = 0, $$31075 = 0, $$31075$phi = 0, $$31082 = 0, $$31089 = 0, $$4 = 0, $$41057 = 0, $$41063 = 0, $$41069 = 0, $$41076 = 0, $$41083 = 0, $$41090 = 0;
- var $$5 = 0, $$5$phi = 0, $$51058 = 0, $$51058$phi = 0, $$51064 = 0, $$51070 = 0, $$51077 = 0, $$51084 = 0, $$51084$phi = 0, $$51091 = 0, $$51091$phi = 0, $$6 = 0, $$6$phi = 0, $$61071 = 0, $$61071$phi = 0, $$61078 = 0, $$61085 = 0, $$61092 = 0, $$7 = 0, $$71093 = 0;
- var $$8 = 0, $$8$phi = 0, $$81094 = 0, $$81094$phi = 0, $$byval_copy = 0, $$byval_copy1097 = 0, $$byval_copy1098 = 0, $$byval_copy1099 = 0, $$byval_copy1100 = 0, $$byval_copy1101 = 0, $$byval_copy1102 = 0, $$byval_copy1103 = 0, $$byval_copy1104 = 0, $$byval_copy1105 = 0, $$byval_copy1106 = 0, $$byval_copy1107 = 0, $$byval_copy1108 = 0, $$byval_copy1109 = 0, $$byval_copy1110 = 0, $$byval_copy1111 = 0;
- var $$byval_copy1112 = 0, $$byval_copy1113 = 0, $$byval_copy1114 = 0, $$byval_copy1115 = 0, $$byval_copy1116 = 0, $$byval_copy1117 = 0, $$byval_copy1118 = 0, $$byval_copy1119 = 0, $$byval_copy1120 = 0, $$byval_copy1121 = 0, $$byval_copy1122 = 0, $$byval_copy1123 = 0, $$byval_copy1124 = 0, $$byval_copy1125 = 0, $$byval_copy1126 = 0, $$byval_copy1127 = 0, $$byval_copy1128 = 0, $$byval_copy1129 = 0, $$byval_copy1130 = 0, $$byval_copy1131 = 0;
- var $$byval_copy1132 = 0, $$byval_copy1133 = 0, $$byval_copy1134 = 0, $$byval_copy1135 = 0, $$byval_copy1136 = 0, $$byval_copy1137 = 0, $$byval_copy1138 = 0, $$byval_copy1139 = 0, $$byval_copy1140 = 0, $$byval_copy1141 = 0, $$byval_copy1142 = 0, $$byval_copy1143 = 0, $$byval_copy1144 = 0, $$byval_copy1145 = 0, $$byval_copy1146 = 0, $$byval_copy1147 = 0, $$byval_copy1148 = 0, $$byval_copy1149 = 0, $$byval_copy1150 = 0, $$byval_copy1151 = 0;
- var $$byval_copy1152 = 0, $$byval_copy1153 = 0, $$byval_copy1154 = 0, $$byval_copy1155 = 0, $$byval_copy1156 = 0, $$reg2mem1000$0 = 0, $$reg2mem1002$0 = 0, $$reg2mem992$0 = 0, $$reg2mem994$0 = 0, $$reg2mem996$0 = 0, $$reg2mem998$0 = 0, $$sink$reg2mem$0 = 0, $$sink10 = 0, $$sink11$reg2mem$0 = 0, $$sink17 = 0, $$sink19 = 0, $$sink2$reg2mem$0 = 0, $$sink24$reg2mem$0 = 0, $$sink25$reg2mem$0 = 0.0, $$sink28$reg2mem$0 = 0;
- var $$sink3$reg2mem$0 = 0, $$sink31$reg2mem$0 = 0, $$sink34$reg2mem$0 = 0, $$sink37$reg2mem$0 = 0, $$sink40$reg2mem$0 = 0, $$sink43$reg2mem$0 = 0, $$sink5$reg2mem$0 = 0, $$sink8 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0;
- var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0;
- var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0;
- var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0;
- var $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0;
- var $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0;
- var $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0;
- var $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0;
- var $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0;
- var $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0;
- var $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0;
- var $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0;
- var $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0;
- var $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0;
- var $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0;
- var $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0;
- var $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0;
- var $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0;
- var $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0;
- var $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0;
- var $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0;
- var $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0;
- var $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0;
- var $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0;
- var $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0;
- var $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0;
- var $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0;
- var $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0;
- var $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0;
- var $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0;
- var $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0;
- var $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0;
- var $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0;
- var $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0;
- var $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0;
- var $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0;
- var $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0;
- var $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0;
- var $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0;
- var $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0;
- var $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0;
- var $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0;
- var $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0;
- var $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0;
- var $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0;
- var $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0;
- var $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0;
- var $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0;
- var $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0;
- var $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0;
- var $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0;
- var $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0;
- var $1929 = 0, $193 = 0, $1930 = 0.0, $1931 = 0.0, $1932 = 0.0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0.0, $1942 = 0, $1943 = 0, $1944 = 0.0, $1945 = 0.0, $1946 = 0;
- var $1947 = 0, $1948 = 0.0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0.0, $1953 = 0.0, $1954 = 0, $1955 = 0, $1956 = 0.0, $1957 = 0, $1958 = 0, $1959 = 0.0, $196 = 0, $1960 = 0.0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0;
- var $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0;
- var $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0;
- var $2000 = 0, $2001 = 0.0, $2002 = 0.0, $2003 = 0.0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0.0, $2012 = 0, $2013 = 0, $2014 = 0.0, $2015 = 0.0, $2016 = 0, $2017 = 0, $2018 = 0.0;
- var $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0.0, $2023 = 0.0, $2024 = 0, $2025 = 0, $2026 = 0.0, $2027 = 0, $2028 = 0, $2029 = 0.0, $203 = 0, $2030 = 0.0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0;
- var $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0;
- var $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0.0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0.0, $2071 = 0, $2072 = 0;
- var $2073 = 0.0, $2074 = 0.0, $2075 = 0, $2076 = 0, $2077 = 0.0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0.0, $2082 = 0.0, $2083 = 0, $2084 = 0, $2085 = 0.0, $2086 = 0, $2087 = 0, $2088 = 0.0, $2089 = 0.0, $209 = 0, $2090 = 0;
- var $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0;
- var $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0.0, $2117 = 0.0, $2118 = 0.0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0.0, $2125 = 0, $2126 = 0;
- var $2127 = 0.0, $2128 = 0.0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0.0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0.0, $2136 = 0.0, $2137 = 0, $2138 = 0, $2139 = 0.0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0.0, $2143 = 0.0, $2144 = 0;
- var $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0;
- var $2163 = 0.0, $2164 = 0.0, $2165 = 0.0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0.0, $2172 = 0, $2173 = 0.0, $2174 = 0.0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0;
- var $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0;
- var $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0.0, $2208 = 0.0, $2209 = 0.0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0.0, $2214 = 0.0, $2215 = 0.0, $2216 = 0;
- var $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0;
- var $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0;
- var $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0.0, $2267 = 0, $2268 = 0, $2269 = 0.0, $227 = 0, $2270 = 0;
- var $2271 = 0, $2272 = 0, $2273 = 0.0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0.0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0.0, $2282 = 0, $2283 = 0, $2284 = 0.0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0;
- var $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0;
- var $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0.0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0.0, $2323 = 0, $2324 = 0;
- var $2325 = 0, $2326 = 0.0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0.0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0.0, $2335 = 0, $2336 = 0, $2337 = 0.0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0;
- var $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0;
- var $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0.0, $2373 = 0, $2374 = 0, $2375 = 0.0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0.0;
- var $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0.0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0.0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0.0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0;
- var $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0;
- var $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0.0, $2426 = 0, $2427 = 0, $2428 = 0.0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0.0;
- var $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0.0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0.0, $2441 = 0, $2442 = 0, $2443 = 0.0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0;
- var $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0;
- var $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0.0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0.0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0.0, $2486 = 0, $2487 = 0;
- var $2488 = 0, $2489 = 0.0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0.0, $2494 = 0, $2495 = 0, $2496 = 0.0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0;
- var $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0;
- var $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0;
- var $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0;
- var $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0;
- var $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0;
- var $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0;
- var $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0;
- var $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0;
- var $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0;
- var $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0;
- var $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0;
- var $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0;
- var $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0;
- var $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0;
- var $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0;
- var $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0;
- var $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0;
- var $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0;
- var $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0;
- var $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0;
- var $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0;
- var $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0;
- var $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0;
- var $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0;
- var $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0;
- var $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0;
- var $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0;
- var $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0;
- var $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0;
- var $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0;
- var $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0;
- var $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0;
- var $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0;
- var $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0;
- var $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0;
- var $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0;
- var $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0;
- var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0;
- var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0;
- var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0;
- var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0;
- var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0;
- var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0;
- var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0;
- var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0;
- var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0;
- var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0;
- var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0;
- var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0;
- var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0;
- var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0;
- var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0;
- var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0;
- var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0;
- var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0;
- var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0;
- var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0;
- var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0;
- var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0;
- var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0;
- var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0;
- var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0;
- var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0;
- var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0;
- var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0;
- var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0;
- var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0;
- var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0;
- var $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0;
- var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond = 0, $cond1240 = 0, $cond1241 = 0, $cond1242 = 0;
- var $cond1243 = 0, $cond1244 = 0, $cond1245 = 0, $cond1246 = 0, $cond1247 = 0, $cond1248 = 0, $cond1249 = 0, $cond1250 = 0, $cond1251 = 0, $cond1252 = 0, $cond1253 = 0, $cond1254 = 0, $cond1255 = 0, $cond1256 = 0, $cond1257 = 0, $cond1258 = 0, $cond1259 = 0, $cond1260 = 0, $cond1261 = 0, $cond1262 = 0;
- var $cond1263 = 0, $cond1264 = 0, $cond1265 = 0, $cond1266 = 0, $cond1267 = 0, $cond1268 = 0, $cond1269 = 0, $cond1270 = 0, $cond1271 = 0, $cond1272 = 0, $cond1273 = 0, $cond1274 = 0, $cond1275 = 0, $cond1276 = 0, $cond1277 = 0, $cond1278 = 0, $cond1279 = 0, $cond1280 = 0, $cond1281 = 0, $cond1282 = 0;
- var $cond1283 = 0, $cond1284 = 0, $cond1285 = 0, $cond1286 = 0, $cond1287 = 0, $cond1288 = 0, $cond1289 = 0, $cond1290 = 0, $cond1291 = 0, $cond1292 = 0, $cond1293 = 0, $cond1294 = 0, $cond1295 = 0, $cond1296 = 0, $cond1297 = 0, $cond1298 = 0, $cond1299 = 0, $cond1300 = 0, $cond1301 = 0, $cond1302 = 0;
- var $cond1303 = 0, $cond1304 = 0, $cond1305 = 0, $cond1306 = 0, $cond1307 = 0, $cond1308 = 0, $cond1309 = 0, $cond1310 = 0, $cond1311 = 0, $cond1312 = 0, $cond1313 = 0, $cond1314 = 0, $cond1315 = 0, $cond1316 = 0, $cond1317 = 0, $cond1318 = 0, $cond1319 = 0, $cond1320 = 0, $cond1321 = 0, $cond1322 = 0;
- var $cond1323 = 0, $cond1324 = 0, $cond1325 = 0, $cond1326 = 0, $cond1327 = 0, $cond1328 = 0, $cond1329 = 0, $cond1330 = 0, $cond1331 = 0, $cond1332 = 0, $cond1333 = 0, $cond1334 = 0, $cond1335 = 0, $cond1336 = 0, $cond1337 = 0, $cond1338 = 0, $cond1339 = 0, $cond1340 = 0, $cond1341 = 0, $cond1342 = 0;
- var $cond1343 = 0, $cond1344 = 0, $cond1345 = 0, $cond1346 = 0, $cond1347 = 0, $cond1348 = 0, $cond1349 = 0, $cond1350 = 0, $cond1351 = 0, $cond1352 = 0, $cond1353 = 0, $cond1354 = 0, $cond1355 = 0, $cond1356 = 0, $cond1357 = 0, $cond1358 = 0, $cond1359 = 0, $cond1360 = 0, $cond1361 = 0, $cond1362 = 0;
- var $cond1363 = 0, $cond1364 = 0, $cond1365 = 0, $cond1366 = 0, $cond1367 = 0, $cond1368 = 0, $cond1369 = 0, $cond1370 = 0, $cond1371 = 0, $cond1372 = 0, $cond1373 = 0, $cond1374 = 0, $cond1375 = 0, $cond1376 = 0, $cond1377 = 0, $cond1378 = 0, $cond1379 = 0, $cond1380 = 0, $cond1381 = 0, $cond1382 = 0;
- var $cond1383 = 0, $cond1384 = 0, $cond1385 = 0, $cond1386 = 0, $cond1387 = 0, $cond1388 = 0, $cond1389 = 0, $cond1390 = 0, $cond1391 = 0, $cond1392 = 0, $cond1393 = 0, $cond1394 = 0, $cond1395 = 0, $cond1396 = 0, $cond1397 = 0, $cond1398 = 0, $cond1399 = 0, $cond1400 = 0, $cond1401 = 0, $indirectbr_cast = 0;
- var $or$cond = 0, $or$cond16 = 0, $vararg_buffer = 0, $vararg_ptr1095 = 0, $vararg_ptr1096 = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 1328|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1328|0);
- $$byval_copy1156 = sp + 1312|0;
- $$byval_copy1155 = sp + 1304|0;
- $$byval_copy1154 = sp + 1296|0;
- $$byval_copy1153 = sp + 1288|0;
- $$byval_copy1152 = sp + 1280|0;
- $$byval_copy1151 = sp + 1272|0;
- $$byval_copy1150 = sp + 1264|0;
- $$byval_copy1149 = sp + 1256|0;
- $$byval_copy1148 = sp + 1248|0;
- $$byval_copy1147 = sp + 1240|0;
- $$byval_copy1146 = sp + 1232|0;
- $$byval_copy1145 = sp + 1224|0;
- $$byval_copy1144 = sp + 1216|0;
- $$byval_copy1143 = sp + 1208|0;
- $$byval_copy1142 = sp + 1200|0;
- $$byval_copy1141 = sp + 1192|0;
- $$byval_copy1140 = sp + 1184|0;
- $$byval_copy1139 = sp + 1176|0;
- $$byval_copy1138 = sp + 1168|0;
- $$byval_copy1137 = sp + 1160|0;
- $$byval_copy1136 = sp + 1152|0;
- $$byval_copy1135 = sp + 1144|0;
- $$byval_copy1134 = sp + 1136|0;
- $$byval_copy1133 = sp + 1128|0;
- $$byval_copy1132 = sp + 1120|0;
- $$byval_copy1131 = sp + 1112|0;
- $$byval_copy1130 = sp + 1104|0;
- $$byval_copy1129 = sp + 1096|0;
- $$byval_copy1128 = sp + 1088|0;
- $$byval_copy1127 = sp + 1080|0;
- $$byval_copy1126 = sp + 1072|0;
- $$byval_copy1125 = sp + 1064|0;
- $$byval_copy1124 = sp + 1056|0;
- $$byval_copy1123 = sp + 1048|0;
- $$byval_copy1122 = sp + 1040|0;
- $$byval_copy1121 = sp + 1032|0;
- $$byval_copy1120 = sp + 1024|0;
- $$byval_copy1119 = sp + 1016|0;
- $$byval_copy1118 = sp + 1008|0;
- $$byval_copy1117 = sp + 1000|0;
- $$byval_copy1116 = sp + 992|0;
- $$byval_copy1115 = sp + 984|0;
- $$byval_copy1114 = sp + 976|0;
- $$byval_copy1113 = sp + 968|0;
- $$byval_copy1112 = sp + 960|0;
- $$byval_copy1111 = sp + 952|0;
- $$byval_copy1110 = sp + 944|0;
- $$byval_copy1109 = sp + 936|0;
- $$byval_copy1108 = sp + 928|0;
- $$byval_copy1107 = sp + 920|0;
- $$byval_copy1106 = sp + 912|0;
- $$byval_copy1105 = sp + 904|0;
- $$byval_copy1104 = sp + 896|0;
- $$byval_copy1103 = sp + 888|0;
- $$byval_copy1102 = sp + 880|0;
- $$byval_copy1101 = sp + 872|0;
- $$byval_copy1100 = sp + 864|0;
- $$byval_copy1099 = sp + 856|0;
- $$byval_copy1098 = sp + 848|0;
- $$byval_copy1097 = sp + 840|0;
- $$byval_copy = sp + 832|0;
- $vararg_buffer = sp;
- _setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
- $5 = sp + 672|0;
- $6 = sp + 664|0;
- $7 = sp + 656|0;
- $8 = sp + 648|0;
- $9 = sp + 640|0;
- $10 = sp + 632|0;
- $11 = sp + 624|0;
- $12 = sp + 616|0;
- $13 = sp + 608|0;
- $14 = sp + 600|0;
- $15 = sp + 592|0;
- $16 = sp + 584|0;
- $17 = sp + 576|0;
- $18 = sp + 568|0;
- $19 = sp + 560|0;
- $20 = sp + 552|0;
- $21 = sp + 544|0;
- $22 = sp + 536|0;
- $23 = sp + 528|0;
- $24 = sp + 520|0;
- $25 = sp + 512|0;
- $26 = sp + 504|0;
- $27 = sp + 496|0;
- $28 = sp + 488|0;
- $29 = sp + 480|0;
- $30 = sp + 472|0;
- $31 = sp + 464|0;
- $32 = sp + 456|0;
- $33 = sp + 448|0;
- $34 = sp + 440|0;
- $35 = sp + 432|0;
- $36 = sp + 424|0;
- $37 = sp + 416|0;
- $38 = sp + 408|0;
- $39 = sp + 400|0;
- $40 = sp + 392|0;
- $41 = sp + 384|0;
- $42 = sp + 376|0;
- $43 = sp + 368|0;
- $44 = sp + 360|0;
- $45 = sp + 352|0;
- $46 = sp + 344|0;
- $47 = sp + 336|0;
- $48 = sp + 328|0;
- $49 = sp + 320|0;
- $50 = sp + 312|0;
- $51 = sp + 304|0;
- $52 = sp + 296|0;
- $53 = sp + 288|0;
- $54 = sp + 280|0;
- $55 = sp + 272|0;
- $56 = sp + 264|0;
- $57 = sp + 260|0;
- $58 = sp + 256|0;
- $59 = sp + 248|0;
- $60 = sp + 240|0;
- $61 = sp + 232|0;
- $62 = sp + 224|0;
- $63 = sp + 216|0;
- $64 = sp + 208|0;
- $65 = sp + 200|0;
- $66 = sp + 192|0;
- $67 = sp + 184|0;
- $68 = sp + 176|0;
- $69 = sp + 168|0;
- $70 = sp + 160|0;
- $71 = sp + 152|0;
- $72 = sp + 144|0;
- $73 = sp + 136|0;
- $74 = sp + 128|0;
- $75 = sp + 120|0;
- $76 = sp + 112|0;
- $77 = sp + 104|0;
- $78 = sp + 96|0;
- $79 = sp + 88|0;
- $80 = sp + 80|0;
- $81 = sp + 72|0;
- $82 = sp + 64|0;
- $83 = sp + 56|0;
- $84 = sp + 48|0;
- $85 = sp + 40|0;
- $86 = sp + 32|0;
- $87 = sp + 24|0;
- $88 = sp + 16|0;
- $89 = ((($2)) + 12|0);
- $90 = HEAP32[$89>>2]|0;
- $91 = ((($90)) + 8|0);
- $92 = HEAP32[$91>>2]|0;
- $93 = ((($90)) + 12|0);
- $94 = HEAP32[$93>>2]|0;
- $95 = ((($90)) + 16|0);
- $96 = HEAP32[$95>>2]|0;
- __THREW__ = 0;
- $97 = (invoke_ii(145,($1|0))|0);
- $98 = __THREW__; __THREW__ = 0;
- if ((($98|0) != 0) & ((threwValue|0) != 0)) { $99 = _testSetjmp(HEAP32[$98>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($99|0) == 0) { _longjmp($98|0, threwValue|0); } tempRet0 = (threwValue); } else { $99 = -1; };
- $100 = tempRet0;
- $cond = ($99|0)==(1);
- if ($cond) {
-  $$11044 = 0;$$11047 = 0;$$11049 = 0;$$11054 = 0;$$11060 = $96;$$11066 = $94;$$11073 = $92;$$11080 = $90;$$11087 = $2;$$reg2mem1002$0 = $100;
- } else {
-  $101 = HEAP32[$1>>2]|0;
-  $$01043 = 0;$$01046 = $101;$$01048 = $97;$$01053 = 0;$$01059 = $96;$$01065 = $94;$$01072 = $92;$$01079 = $90;$$01086 = $2;
-  label = 3;
- }
- L3: while(1) {
-  if ((label|0) == 3) {
-   label = 0;
-   _setjmpTable = _saveSetjmp($5,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
-   __THREW__ = 0;
-   $102 = __THREW__; __THREW__ = 0;
-   if ((($102|0) != 0) & ((threwValue|0) != 0)) { $103 = _testSetjmp(HEAP32[$102>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($103|0) == 0) { _longjmp($102|0, threwValue|0); } tempRet0 = (threwValue); } else { $103 = -1; };
-   $104 = tempRet0;
-   $cond1240 = ($103|0)==(1);
-   if ($cond1240) {
-    $$11044 = $$01043;$$11047 = $$01046;$$11049 = $$01048;$$11054 = $$01053;$$11060 = $$01059;$$11066 = $$01065;$$11073 = $$01072;$$11080 = $$01079;$$11087 = $$01086;$$reg2mem1002$0 = $104;
-    continue;
-   }
-   $$11044 = $$01043;$$11047 = $$01046;$$11049 = $$01048;$$11054 = $$01053;$$11060 = $$01059;$$11066 = $$01065;$$11073 = $$01072;$$11080 = $$01079;$$11087 = $$01086;$$reg2mem1002$0 = 0;
-  }
-  $105 = ($$reg2mem1002$0|0)==(0);
-  if (!($105)) {
-   $$01043 = 1;$$01046 = $$11047;$$01048 = $$11049;$$01053 = $$11054;$$01059 = $$11060;$$01065 = $$11066;$$01072 = $$11073;$$01079 = $$11080;$$01086 = $$11087;
-   label = 3;
-   continue;
-  }
-  $106 = ($$11044<<24>>24)!=(0);
-  if ($106) {
-   $$21045 = 0;$$21055 = $$11054;$$31062 = $$11060;$$31068 = $$11066;$$31075 = $$11073;$$51084 = $$11080;$$51091 = $$11087;
-   label = 272;
-  } else {
-   HEAP32[$1>>2] = $5;
-   $107 = ((($1)) + 12|0);
-   $108 = HEAP32[$107>>2]|0;
-   $109 = ((($108)) + 4|0);
-   $110 = HEAP32[$109>>2]|0;
-   $111 = ($110|0)!=(0|0);
-   if (!($111)) {
-    __THREW__ = 0;
-    invoke_vi(134,($1|0));
-    $112 = __THREW__; __THREW__ = 0;
-    if ((($112|0) != 0) & ((threwValue|0) != 0)) { $113 = _testSetjmp(HEAP32[$112>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($113|0) == 0) { _longjmp($112|0, threwValue|0); } tempRet0 = (threwValue); } else { $113 = -1; };
-    $114 = tempRet0;
-    $cond1241 = ($113|0)==(1);
-    if ($cond1241) {
-     $$11087$phi = $$11087;$$11080$phi = $$11080;$$11073$phi = $$11073;$$11066$phi = $$11066;$$11060$phi = $$11060;$$11054$phi = $$11054;$$11049$phi = $$11049;$$11047$phi = $$11047;$$11044$phi = $$11044;$$reg2mem1002$0 = $114;$$11087 = $$11087$phi;$$11080 = $$11080$phi;$$11073 = $$11073$phi;$$11066 = $$11066$phi;$$11060 = $$11060$phi;$$11054 = $$11054$phi;$$11049 = $$11049$phi;$$11047 = $$11047$phi;$$11044 = $$11044$phi;
-     continue;
-    }
-   }
-   $115 = ((($$11080)) + 2|0);
-   $116 = HEAP16[$115>>1]|0;
-   $117 = $116&65535;
-   __THREW__ = 0;
-   invoke_viii(142,($1|0),($117|0),($4|0));
-   $118 = __THREW__; __THREW__ = 0;
-   if ((($118|0) != 0) & ((threwValue|0) != 0)) { $119 = _testSetjmp(HEAP32[$118>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($119|0) == 0) { _longjmp($118|0, threwValue|0); } tempRet0 = (threwValue); } else { $119 = -1; };
-   $120 = tempRet0;
-   $cond1242 = ($119|0)==(1);
-   if ($cond1242) {
-    $$11087$phi = $$11087;$$11080$phi = $$11080;$$11073$phi = $$11073;$$11066$phi = $$11066;$$11060$phi = $$11060;$$11054$phi = $$11054;$$11049$phi = $$11049;$$11047$phi = $$11047;$$11044$phi = $$11044;$$reg2mem1002$0 = $120;$$11087 = $$11087$phi;$$11080 = $$11080$phi;$$11073 = $$11073$phi;$$11066 = $$11066$phi;$$11060 = $$11060$phi;$$11054 = $$11054$phi;$$11049 = $$11049$phi;$$11047 = $$11047$phi;$$11044 = $$11044$phi;
-    continue;
-   }
-   $121 = ((($1)) + 12|0);
-   $122 = HEAP32[$121>>2]|0;
-   $123 = ((($122)) + 16|0);
-   $124 = HEAP32[$123>>2]|0;
-   $125 = ((($124)) + 4|0);
-   HEAP32[$125>>2] = $$11087;
-   $126 = ((($$11080)) + 2|0);
-   $127 = HEAP16[$126>>1]|0;
-   $128 = $127&65535;
-   $129 = ((($1)) + 12|0);
-   $130 = HEAP32[$129>>2]|0;
-   $131 = ((($130)) + 16|0);
-   $132 = HEAP32[$131>>2]|0;
-   $133 = ((($132)) + 12|0);
-   HEAP32[$133>>2] = $128;
-   $134 = ((($1)) + 12|0);
-   $135 = HEAP32[$134>>2]|0;
-   $136 = ((($135)) + 4|0);
-   $137 = HEAP32[$136>>2]|0;
-   ;HEAP32[$137>>2]=HEAP32[$3>>2]|0;HEAP32[$137+4>>2]=HEAP32[$3+4>>2]|0;
-   $138 = HEAP32[$$11073>>2]|0;
-   $$21052 = $138;$$5 = $$11044;$$51058 = $137;$$6 = $$11060;$$61071 = $$11066;$$61078 = $$11073;$$8 = $$11080;$$81094 = $$11087;$$sink$reg2mem$0 = $138;
-   label = 583;
-  }
-  L19: while(1) {
-   if ((label|0) == 272) {
-    label = 0;
-    $1407 = ((($1)) + 12|0);
-    $1408 = HEAP32[$1407>>2]|0;
-    $1409 = ((($1408)) + 16|0);
-    $1410 = HEAP32[$1409>>2]|0;
-    $1411 = ((($1)) + 20|0);
-    $1412 = HEAP32[$1411>>2]|0;
-    __THREW__ = 0;
-    $1413 = (invoke_iiii(140,($1|0),(68279|0),6)|0);
-    $1414 = __THREW__; __THREW__ = 0;
-    if ((($1414|0) != 0) & ((threwValue|0) != 0)) { $1415 = _testSetjmp(HEAP32[$1414>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1415|0) == 0) { _longjmp($1414|0, threwValue|0); } tempRet0 = (threwValue); } else { $1415 = -1; };
-    $1416 = tempRet0;
-    $cond1249 = ($1415|0)==(1);
-    if ($cond1249) {
-     $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1416;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-     continue L3;
-    }
-    __THREW__ = 0;
-    invoke_viii(176,($42|0),($1|0),($$31075|0));
-    $1417 = __THREW__; __THREW__ = 0;
-    if ((($1417|0) != 0) & ((threwValue|0) != 0)) { $1418 = _testSetjmp(HEAP32[$1417>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1418|0) == 0) { _longjmp($1417|0, threwValue|0); } tempRet0 = (threwValue); } else { $1418 = -1; };
-    $1419 = tempRet0;
-    $cond1250 = ($1418|0)==(1);
-    if ($cond1250) {
-     $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1419;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-     continue L3;
-    }
-    __THREW__ = 0;
-    ;HEAP32[$$byval_copy1119>>2]=HEAP32[$42>>2]|0;HEAP32[$$byval_copy1119+4>>2]=HEAP32[$42+4>>2]|0;
-    invoke_viiii(177,($1|0),($1412|0),($1413|0),($$byval_copy1119|0));
-    $1420 = __THREW__; __THREW__ = 0;
-    if ((($1420|0) != 0) & ((threwValue|0) != 0)) { $1421 = _testSetjmp(HEAP32[$1420>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1421|0) == 0) { _longjmp($1420|0, threwValue|0); } tempRet0 = (threwValue); } else { $1421 = -1; };
-    $1422 = tempRet0;
-    $cond1251 = ($1421|0)==(1);
-    if ($cond1251) {
-     $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1422;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-     continue L3;
-    }
-    $1423 = ((($1)) + 20|0);
-    $1424 = HEAP32[$1423>>2]|0;
-    __THREW__ = 0;
-    $1425 = (invoke_iiii(140,($1|0),(67804|0),5)|0);
-    $1426 = __THREW__; __THREW__ = 0;
-    if ((($1426|0) != 0) & ((threwValue|0) != 0)) { $1427 = _testSetjmp(HEAP32[$1426>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1427|0) == 0) { _longjmp($1426|0, threwValue|0); } tempRet0 = (threwValue); } else { $1427 = -1; };
-    $1428 = tempRet0;
-    $cond1252 = ($1427|0)==(1);
-    if ($cond1252) {
-     $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1428;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-     continue L3;
-    }
-    $1429 = ((($1)) + 12|0);
-    $1430 = HEAP32[$1429>>2]|0;
-    $1431 = ((($1430)) + 20|0);
-    $1432 = HEAP32[$1431>>2]|0;
-    $1433 = $1410;
-    $1434 = $1432;
-    $1435 = (($1433) - ($1434))|0;
-    $1436 = (($1435|0) / 48)&-1;
-    __THREW__ = 0;
-    invoke_vii(136,($43|0),($1436|0));
-    $1437 = __THREW__; __THREW__ = 0;
-    if ((($1437|0) != 0) & ((threwValue|0) != 0)) { $1438 = _testSetjmp(HEAP32[$1437>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1438|0) == 0) { _longjmp($1437|0, threwValue|0); } tempRet0 = (threwValue); } else { $1438 = -1; };
-    $1439 = tempRet0;
-    $cond1253 = ($1438|0)==(1);
-    if ($cond1253) {
-     $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1439;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-     continue L3;
-    }
-    __THREW__ = 0;
-    ;HEAP32[$$byval_copy1120>>2]=HEAP32[$43>>2]|0;HEAP32[$$byval_copy1120+4>>2]=HEAP32[$43+4>>2]|0;
-    invoke_viiii(177,($1|0),($1424|0),($1425|0),($$byval_copy1120|0));
-    $1440 = __THREW__; __THREW__ = 0;
-    if ((($1440|0) != 0) & ((threwValue|0) != 0)) { $1441 = _testSetjmp(HEAP32[$1440>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1441|0) == 0) { _longjmp($1440|0, threwValue|0); } tempRet0 = (threwValue); } else { $1441 = -1; };
-    $1442 = tempRet0;
-    $cond1254 = ($1441|0)==(1);
-    if ($cond1254) {
-     $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1442;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-     continue L3;
-    }
-    $1443 = ((($1410)) + 20|0);
-    $1444 = HEAP32[$1443>>2]|0;
-    $1445 = ((($1)) + 12|0);
-    $1446 = HEAP32[$1445>>2]|0;
-    $1447 = ((($1446)) + 20|0);
-    $1448 = HEAP32[$1447>>2]|0;
-    $1449 = ($1410|0)==($1448|0);
-    L28: do {
-     if ($1449) {
-      $1450 = ((($1410)) + 16|0);
-      $1451 = HEAP32[$1450>>2]|0;
-      $1452 = ($1451|0)==(0);
-      if ($1452) {
-       $$4 = $$21045;$$41057 = $$21055;$$51064 = $$31062;$$51070 = $$31068;$$51077 = $$31075;$$7 = $$51084;$$71093 = $$51091;
-       break L19;
-      } else {
-       $$11024 = $1410;
-      }
-     } else {
-      $$01021 = $1444;$$01023 = $1410;
-      L30: while(1) {
-       $1453 = ((($$01023)) + 16|0);
-       $1454 = HEAP32[$1453>>2]|0;
-       $1455 = ((($$01023)) + -48|0);
-       $1456 = ((($1455)) + 16|0);
-       $1457 = HEAP32[$1456>>2]|0;
-       $1458 = ($1454|0)==($1457|0);
-       if (!($1458)) {
-        $$11024 = $$01023;
-        break L28;
-       }
-       __THREW__ = 0;
-       invoke_vi(132,($1|0));
-       $1459 = __THREW__; __THREW__ = 0;
-       if ((($1459|0) != 0) & ((threwValue|0) != 0)) { $1460 = _testSetjmp(HEAP32[$1459>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1460|0) == 0) { _longjmp($1459|0, threwValue|0); } tempRet0 = (threwValue); } else { $1460 = -1; };
-       $1461 = tempRet0;
-       $cond1255 = ($1460|0)==(1);
-       if ($cond1255) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1461;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $1462 = ((($1)) + 12|0);
-       $1463 = HEAP32[$1462>>2]|0;
-       $1464 = ((($1463)) + 16|0);
-       $1465 = HEAP32[$1464>>2]|0;
-       $1466 = ((($1465)) + 48|0);
-       $1467 = ((($1466)) + 8|0);
-       $1468 = HEAP32[$1467>>2]|0;
-       $1469 = ((($1)) + 12|0);
-       $1470 = HEAP32[$1469>>2]|0;
-       $1471 = ((($1470)) + 4|0);
-       HEAP32[$1471>>2] = $1468;
-       $1472 = ((($1465)) + 48|0);
-       $1473 = ((($1472)) + 40|0);
-       $1474 = HEAP32[$1473>>2]|0;
-       $1475 = ($1474|0)==(-1);
-       $1476 = ($$11047|0)!=(0|0);
-       $or$cond16 = $1475 & $1476;
-       if ($or$cond16) {
-        label = 283;
-        break L19;
-       }
-       $1480 = ((($1)) + 12|0);
-       $1481 = HEAP32[$1480>>2]|0;
-       $1482 = ((($1481)) + 20|0);
-       $1483 = HEAP32[$1482>>2]|0;
-       $1484 = ($1465|0)==($1483|0);
-       if ($1484) {
-        $$11022 = $$01021;
-        break;
-       }
-       $1507 = ((($1465)) + 16|0);
-       $1508 = HEAP32[$1507>>2]|0;
-       $1509 = ((($1465)) + -48|0);
-       $1510 = ((($1509)) + 16|0);
-       $1511 = HEAP32[$1510>>2]|0;
-       $1512 = ($1508|0)==($1511|0);
-       if ($1512) {
-        $$2 = $$01021;
-       } else {
-        $$01021$phi = $$01021;$$01023 = $1465;$$01021 = $$01021$phi;
-        continue;
-       }
-       while(1) {
-        $1513 = ((($1465)) + -48|0);
-        $1514 = ((($1513)) + 20|0);
-        $1515 = HEAP32[$1514>>2]|0;
-        $1516 = ($$2|0)>($1515|0);
-        if (!($1516)) {
-         $$01021 = $$2;$$01023 = $1465;
-         continue L30;
-        }
-        $1517 = (($$2) + -1)|0;
-        __THREW__ = 0;
-        invoke_vii(166,($1|0),($1517|0));
-        $1518 = __THREW__; __THREW__ = 0;
-        if ((($1518|0) != 0) & ((threwValue|0) != 0)) { $1519 = _testSetjmp(HEAP32[$1518>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1519|0) == 0) { _longjmp($1518|0, threwValue|0); } tempRet0 = (threwValue); } else { $1519 = -1; };
-        $1520 = tempRet0;
-        $cond1256 = ($1519|0)==(1);
-        if ($cond1256) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1520;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $$2 = $1517;
-       }
-      }
-      while(1) {
-       $1485 = ($$11022|0)>(0);
-       if (!($1485)) {
-        break;
-       }
-       $1486 = (($$11022) + -1)|0;
-       __THREW__ = 0;
-       invoke_vii(166,($1|0),($1486|0));
-       $1487 = __THREW__; __THREW__ = 0;
-       if ((($1487|0) != 0) & ((threwValue|0) != 0)) { $1488 = _testSetjmp(HEAP32[$1487>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1488|0) == 0) { _longjmp($1487|0, threwValue|0); } tempRet0 = (threwValue); } else { $1488 = -1; };
-       $1489 = tempRet0;
-       $cond1257 = ($1488|0)==(1);
-       if ($cond1257) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1489;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $$11022 = $1486;
-      }
-      $1490 = ((($1465)) + 16|0);
-      $1491 = HEAP32[$1490>>2]|0;
-      $1492 = ($1491|0)==(0);
-      if ($1492) {
-       $1493 = ((($1)) + 12|0);
-       $1494 = HEAP32[$1493>>2]|0;
-       $1495 = ((($1)) + 16|0);
-       $1496 = HEAP32[$1495>>2]|0;
-       $1497 = ($1494|0)==($1496|0);
-       $1498 = ((($1)) + 12|0);
-       $1499 = HEAP32[$1498>>2]|0;
-       if ($1497) {
-        label = 290;
-        break L19;
-       }
-       $1505 = HEAP32[$1499>>2]|0;
-       $1506 = ((($1)) + 12|0);
-       HEAP32[$1506>>2] = $1505;
-       HEAP32[$1499>>2] = 0;
-       $$51091$phi = $$51091;$$51084$phi = $$51084;$$31075$phi = $$31075;$$31068$phi = $$31068;$$31062$phi = $$31062;$$21055$phi = $$21055;$$21045$phi = $$21045;$$51091 = $$51091$phi;$$51084 = $$51084$phi;$$31075 = $$31075$phi;$$31068 = $$31068$phi;$$31062 = $$31062$phi;$$21055 = $$21055$phi;$$21045 = $$21045$phi;
-       label = 272;
-       continue L19;
-      } else {
-       $$11024 = $1465;
-      }
-     }
-    } while(0);
-    $1521 = ((($$11024)) + 16|0);
-    $1522 = HEAP32[$1521>>2]|0;
-    $1523 = ($1522|0)==(0);
-    if ($1523) {
-     $$4 = $$21045;$$41057 = $$21055;$$51064 = $$31062;$$51070 = $$31068;$$51077 = $$31075;$$7 = $$51084;$$71093 = $$51091;
-     break;
-    }
-    $1524 = ((($$11024)) + 4|0);
-    $1525 = HEAP32[$1524>>2]|0;
-    $1526 = ((($1525)) + 12|0);
-    $1527 = HEAP32[$1526>>2]|0;
-    $1528 = ((($1527)) + 12|0);
-    $1529 = HEAP32[$1528>>2]|0;
-    $1530 = ((($1527)) + 16|0);
-    $1531 = HEAP32[$1530>>2]|0;
-    $1532 = ((($$11024)) + 48|0);
-    $1533 = ((($1532)) + 8|0);
-    $1534 = HEAP32[$1533>>2]|0;
-    $1535 = ((($1)) + 12|0);
-    $1536 = HEAP32[$1535>>2]|0;
-    $1537 = ((($1536)) + 4|0);
-    HEAP32[$1537>>2] = $1534;
-    $1538 = ((($1)) + 12|0);
-    $1539 = HEAP32[$1538>>2]|0;
-    $1540 = ((($1539)) + 28|0);
-    $1541 = HEAP32[$1540>>2]|0;
-    $1542 = ((($$11024)) + 16|0);
-    $1543 = HEAP32[$1542>>2]|0;
-    $1544 = (($1543) + -1)|0;
-    HEAP32[$1542>>2] = $1544;
-    $1545 = (($1541) + ($1544<<2)|0);
-    $1546 = HEAP32[$1545>>2]|0;
-    $$3 = $$21045;$$31056 = $1534;$$41063 = $1531;$$41069 = $1529;$$41076 = $1546;$$61085 = $1527;$$61092 = $1525;
-   }
-   else if ((label|0) == 583) {
-    label = 0;
-    $3070 = $$sink$reg2mem$0 & 127;
-    $3071 = (200 + ($3070<<2)|0);
-    $3072 = HEAP32[$3071>>2]|0;
-    $indirectbr_cast = $3072;
-    L50: do {
-     switch ($indirectbr_cast|0) {
-     case 75:  {
-      $$4 = $$5;$$41057 = $$51058;$$51064 = $$6;$$51070 = $$61071;$$51077 = $$61078;$$7 = $$8;$$71093 = $$81094;
-      break L19;
-      break;
-     }
-     case 1:  {
-      $139 = ((($$61078)) + 4|0);
-      $140 = HEAP32[$139>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $140;$$61078 = $139;$$sink$reg2mem$0 = $140;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 2:  {
-      $141 = $$21052 >>> 23;
-      $142 = $141 & 511;
-      $143 = (($$51058) + ($142<<3)|0);
-      $144 = $$21052 >>> 14;
-      $145 = $144 & 511;
-      $146 = (($$51058) + ($145<<3)|0);
-      ;HEAP32[$143>>2]=HEAP32[$146>>2]|0;HEAP32[$143+4>>2]=HEAP32[$146+4>>2]|0;
-      $147 = ((($$61078)) + 4|0);
-      $148 = HEAP32[$147>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $148;$$61078 = $147;$$sink$reg2mem$0 = $148;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 3:  {
-      $149 = $$21052 >>> 23;
-      $150 = $149 & 511;
-      $151 = (($$51058) + ($150<<3)|0);
-      $152 = $$21052 >>> 7;
-      $153 = $152 & 65535;
-      $154 = (($$61071) + ($153<<3)|0);
-      ;HEAP32[$151>>2]=HEAP32[$154>>2]|0;HEAP32[$151+4>>2]=HEAP32[$154+4>>2]|0;
-      $155 = ((($$61078)) + 4|0);
-      $156 = HEAP32[$155>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $156;$$61078 = $155;$$sink$reg2mem$0 = $156;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 4:  {
-      $157 = $$21052 >>> 23;
-      $158 = $157 & 511;
-      $159 = (($$51058) + ($158<<3)|0);
-      $160 = ((($159)) + 4|0);
-      HEAP32[$160>>2] = 3;
-      $161 = $$21052 >>> 7;
-      $162 = $161 & 65535;
-      $163 = (($162) - 32767)|0;
-      $164 = $$21052 >>> 23;
-      $165 = $164 & 511;
-      $166 = (($$51058) + ($165<<3)|0);
-      HEAP32[$166>>2] = $163;
-      $167 = ((($$61078)) + 4|0);
-      $168 = HEAP32[$167>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $168;$$61078 = $167;$$sink$reg2mem$0 = $168;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 5:  {
-      $169 = $$21052 >>> 23;
-      $170 = $169 & 511;
-      $171 = (($$51058) + ($170<<3)|0);
-      $172 = ((($171)) + 4|0);
-      HEAP32[$172>>2] = 4;
-      $173 = $$21052 >>> 7;
-      $174 = $173 & 65535;
-      $175 = (($$6) + ($174<<2)|0);
-      $176 = HEAP32[$175>>2]|0;
-      $177 = $$21052 >>> 23;
-      $178 = $177 & 511;
-      $179 = (($$51058) + ($178<<3)|0);
-      HEAP32[$179>>2] = $176;
-      $180 = ((($$61078)) + 4|0);
-      $181 = HEAP32[$180>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $181;$$61078 = $180;$$sink$reg2mem$0 = $181;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 6:  {
-      $636 = $$21052 >>> 23;
-      $637 = $636 & 511;
-      $638 = (($$51058) + ($637<<3)|0);
-      $639 = ((($638)) + 4|0);
-      HEAP32[$639>>2] = 0;
-      $640 = (($$51058) + ($637<<3)|0);
-      HEAP32[$640>>2] = 0;
-      $641 = ((($$61078)) + 4|0);
-      $642 = HEAP32[$641>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $642;$$61078 = $641;$$sink$reg2mem$0 = $642;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 7:  {
-      $182 = $$21052 >>> 23;
-      $183 = $182 & 511;
-      $184 = (($$51058) + ($183<<3)|0);
-      ;HEAP32[$184>>2]=HEAP32[$$51058>>2]|0;HEAP32[$184+4>>2]=HEAP32[$$51058+4>>2]|0;
-      $185 = ((($$61078)) + 4|0);
-      $186 = HEAP32[$185>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $186;$$61078 = $185;$$sink$reg2mem$0 = $186;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 8:  {
-      $187 = $$21052 >>> 23;
-      $188 = $187 & 511;
-      $189 = (($$51058) + ($188<<3)|0);
-      $190 = ((($189)) + 4|0);
-      HEAP32[$190>>2] = 2;
-      $191 = $$21052 >>> 23;
-      $192 = $191 & 511;
-      $193 = (($$51058) + ($192<<3)|0);
-      HEAP32[$193>>2] = 1;
-      $194 = ((($$61078)) + 4|0);
-      $195 = HEAP32[$194>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $195;$$61078 = $194;$$sink$reg2mem$0 = $195;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 9:  {
-      $196 = $$21052 >>> 23;
-      $197 = $196 & 511;
-      $198 = (($$51058) + ($197<<3)|0);
-      $199 = ((($198)) + 4|0);
-      HEAP32[$199>>2] = 0;
-      $200 = $$21052 >>> 23;
-      $201 = $200 & 511;
-      $202 = (($$51058) + ($201<<3)|0);
-      HEAP32[$202>>2] = 1;
-      $203 = ((($$61078)) + 4|0);
-      $204 = HEAP32[$203>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $204;$$61078 = $203;$$sink$reg2mem$0 = $204;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 10:  {
-      $205 = $$21052 >>> 23;
-      $206 = $205 & 511;
-      $207 = (($$51058) + ($206<<3)|0);
-      $208 = $$21052 >>> 7;
-      $209 = $208 & 65535;
-      $210 = (($$6) + ($209<<2)|0);
-      $211 = HEAP32[$210>>2]|0;
-      __THREW__ = 0;
-      invoke_viii(149,($6|0),($1|0),($211|0));
-      $212 = __THREW__; __THREW__ = 0;
-      if ((($212|0) != 0) & ((threwValue|0) != 0)) { $213 = _testSetjmp(HEAP32[$212>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($213|0) == 0) { _longjmp($212|0, threwValue|0); } tempRet0 = (threwValue); } else { $213 = -1; };
-      $214 = tempRet0;
-      $cond1401 = ($213|0)==(1);
-      if ($cond1401) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $214;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$207>>2]=HEAP32[$6>>2]|0;HEAP32[$207+4>>2]=HEAP32[$6+4>>2]|0;
-      $215 = ((($$61078)) + 4|0);
-      $216 = HEAP32[$215>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $216;$$61078 = $215;$$sink$reg2mem$0 = $216;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 11:  {
-      $217 = $$21052 >>> 7;
-      $218 = $217 & 65535;
-      $219 = (($$6) + ($218<<2)|0);
-      $220 = HEAP32[$219>>2]|0;
-      $221 = $$21052 >>> 23;
-      $222 = $221 & 511;
-      $223 = (($$51058) + ($222<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy>>2]=HEAP32[$223>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$223+4>>2]|0;
-      invoke_viii(150,($1|0),($220|0),($$byval_copy|0));
-      $224 = __THREW__; __THREW__ = 0;
-      if ((($224|0) != 0) & ((threwValue|0) != 0)) { $225 = _testSetjmp(HEAP32[$224>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($225|0) == 0) { _longjmp($224|0, threwValue|0); } tempRet0 = (threwValue); } else { $225 = -1; };
-      $226 = tempRet0;
-      $cond1400 = ($225|0)==(1);
-      if ($cond1400) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $226;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $227 = ((($$61078)) + 4|0);
-      $228 = HEAP32[$227>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $228;$$61078 = $227;$$sink$reg2mem$0 = $228;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 12:  {
-      $229 = $$21052 >>> 23;
-      $230 = $229 & 511;
-      $231 = (($$51058) + ($230<<3)|0);
-      $232 = $$21052 >>> 7;
-      $233 = $232 & 65535;
-      __THREW__ = 0;
-      invoke_viii(151,($7|0),($1|0),($233|0));
-      $234 = __THREW__; __THREW__ = 0;
-      if ((($234|0) != 0) & ((threwValue|0) != 0)) { $235 = _testSetjmp(HEAP32[$234>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($235|0) == 0) { _longjmp($234|0, threwValue|0); } tempRet0 = (threwValue); } else { $235 = -1; };
-      $236 = tempRet0;
-      $cond1399 = ($235|0)==(1);
-      if ($cond1399) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $236;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$231>>2]=HEAP32[$7>>2]|0;HEAP32[$231+4>>2]=HEAP32[$7+4>>2]|0;
-      $237 = ((($$61078)) + 4|0);
-      $238 = HEAP32[$237>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $238;$$61078 = $237;$$sink$reg2mem$0 = $238;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 13:  {
-      $239 = $$21052 >>> 7;
-      $240 = $239 & 65535;
-      $241 = $$21052 >>> 23;
-      $242 = $241 & 511;
-      $243 = (($$51058) + ($242<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1097>>2]=HEAP32[$243>>2]|0;HEAP32[$$byval_copy1097+4>>2]=HEAP32[$243+4>>2]|0;
-      invoke_viii(152,($1|0),($240|0),($$byval_copy1097|0));
-      $244 = __THREW__; __THREW__ = 0;
-      if ((($244|0) != 0) & ((threwValue|0) != 0)) { $245 = _testSetjmp(HEAP32[$244>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($245|0) == 0) { _longjmp($244|0, threwValue|0); } tempRet0 = (threwValue); } else { $245 = -1; };
-      $246 = tempRet0;
-      $cond1398 = ($245|0)==(1);
-      if ($cond1398) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $246;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $247 = ((($$61078)) + 4|0);
-      $248 = HEAP32[$247>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $248;$$61078 = $247;$$sink$reg2mem$0 = $248;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 14:  {
-      $249 = $$21052 >>> 23;
-      $250 = $249 & 511;
-      $251 = (($$51058) + ($250<<3)|0);
-      $252 = $$21052 >>> 7;
-      $253 = $252 & 65535;
-      $254 = (($$6) + ($253<<2)|0);
-      $255 = HEAP32[$254>>2]|0;
-      __THREW__ = 0;
-      invoke_viii(153,($8|0),($1|0),($255|0));
-      $256 = __THREW__; __THREW__ = 0;
-      if ((($256|0) != 0) & ((threwValue|0) != 0)) { $257 = _testSetjmp(HEAP32[$256>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($257|0) == 0) { _longjmp($256|0, threwValue|0); } tempRet0 = (threwValue); } else { $257 = -1; };
-      $258 = tempRet0;
-      $cond1397 = ($257|0)==(1);
-      if ($cond1397) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $258;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$251>>2]=HEAP32[$8>>2]|0;HEAP32[$251+4>>2]=HEAP32[$8+4>>2]|0;
-      $259 = ((($$61078)) + 4|0);
-      $260 = HEAP32[$259>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $260;$$61078 = $259;$$sink$reg2mem$0 = $260;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 15:  {
-      $261 = $$21052 >>> 7;
-      $262 = $261 & 65535;
-      $263 = (($$6) + ($262<<2)|0);
-      $264 = HEAP32[$263>>2]|0;
-      $265 = $$21052 >>> 23;
-      $266 = $265 & 511;
-      $267 = (($$51058) + ($266<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1098>>2]=HEAP32[$267>>2]|0;HEAP32[$$byval_copy1098+4>>2]=HEAP32[$267+4>>2]|0;
-      invoke_viii(154,($1|0),($264|0),($$byval_copy1098|0));
-      $268 = __THREW__; __THREW__ = 0;
-      if ((($268|0) != 0) & ((threwValue|0) != 0)) { $269 = _testSetjmp(HEAP32[$268>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($269|0) == 0) { _longjmp($268|0, threwValue|0); } tempRet0 = (threwValue); } else { $269 = -1; };
-      $270 = tempRet0;
-      $cond1396 = ($269|0)==(1);
-      if ($cond1396) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $270;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $271 = ((($$61078)) + 4|0);
-      $272 = HEAP32[$271>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $272;$$61078 = $271;$$sink$reg2mem$0 = $272;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 16:  {
-      $273 = ((($1)) + 12|0);
-      $274 = HEAP32[$273>>2]|0;
-      $275 = ((($274)) + 16|0);
-      $276 = HEAP32[$275>>2]|0;
-      $277 = ((($276)) + 32|0);
-      HEAP32[$277>>2] = $$61078;
-      $278 = $$21052 >>> 23;
-      $279 = $278 & 511;
-      $280 = (($$51058) + ($279<<3)|0);
-      $281 = $$21052 >>> 7;
-      $282 = $281 & 65535;
-      $283 = (($$6) + ($282<<2)|0);
-      $284 = HEAP32[$283>>2]|0;
-      __THREW__ = 0;
-      invoke_viii(155,($9|0),($1|0),($284|0));
-      $285 = __THREW__; __THREW__ = 0;
-      if ((($285|0) != 0) & ((threwValue|0) != 0)) { $286 = _testSetjmp(HEAP32[$285>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($286|0) == 0) { _longjmp($285|0, threwValue|0); } tempRet0 = (threwValue); } else { $286 = -1; };
-      $287 = tempRet0;
-      $cond1395 = ($286|0)==(1);
-      if ($cond1395) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $287;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$280>>2]=HEAP32[$9>>2]|0;HEAP32[$280+4>>2]=HEAP32[$9+4>>2]|0;
-      $288 = ((($1)) + 12|0);
-      $289 = HEAP32[$288>>2]|0;
-      $290 = ((($289)) + 16|0);
-      $291 = HEAP32[$290>>2]|0;
-      $292 = ((($291)) + 32|0);
-      HEAP32[$292>>2] = 0;
-      $293 = ((($$61078)) + 4|0);
-      $294 = HEAP32[$293>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $294;$$61078 = $293;$$sink$reg2mem$0 = $294;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 17:  {
-      $295 = $$21052 >>> 7;
-      $296 = $295 & 65535;
-      $297 = (($$6) + ($296<<2)|0);
-      $298 = HEAP32[$297>>2]|0;
-      $299 = $$21052 >>> 23;
-      $300 = $299 & 511;
-      $301 = (($$51058) + ($300<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1099>>2]=HEAP32[$301>>2]|0;HEAP32[$$byval_copy1099+4>>2]=HEAP32[$301+4>>2]|0;
-      invoke_viii(156,($1|0),($298|0),($$byval_copy1099|0));
-      $302 = __THREW__; __THREW__ = 0;
-      if ((($302|0) != 0) & ((threwValue|0) != 0)) { $303 = _testSetjmp(HEAP32[$302>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($303|0) == 0) { _longjmp($302|0, threwValue|0); } tempRet0 = (threwValue); } else { $303 = -1; };
-      $304 = tempRet0;
-      $cond1394 = ($303|0)==(1);
-      if ($cond1394) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $304;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $305 = ((($$61078)) + 4|0);
-      $306 = HEAP32[$305>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $306;$$61078 = $305;$$sink$reg2mem$0 = $306;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 18:  {
-      $307 = ((($1)) + 12|0);
-      $308 = HEAP32[$307>>2]|0;
-      $309 = ((($308)) + 16|0);
-      $310 = HEAP32[$309>>2]|0;
-      $311 = ((($310)) + 32|0);
-      HEAP32[$311>>2] = $$61078;
-      $312 = $$21052 >>> 7;
-      $313 = $312 & 65535;
-      $314 = (($$6) + ($313<<2)|0);
-      $315 = HEAP32[$314>>2]|0;
-      __THREW__ = 0;
-      invoke_viii(157,($11|0),($1|0),($315|0));
-      $316 = __THREW__; __THREW__ = 0;
-      if ((($316|0) != 0) & ((threwValue|0) != 0)) { $317 = _testSetjmp(HEAP32[$316>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($317|0) == 0) { _longjmp($316|0, threwValue|0); } tempRet0 = (threwValue); } else { $317 = -1; };
-      $318 = tempRet0;
-      $cond1393 = ($317|0)==(1);
-      if ($cond1393) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $318;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
-      $319 = ((($1)) + 12|0);
-      $320 = HEAP32[$319>>2]|0;
-      $321 = ((($320)) + 16|0);
-      $322 = HEAP32[$321>>2]|0;
-      $323 = ((($322)) + 32|0);
-      HEAP32[$323>>2] = 0;
-      $324 = ((($1)) + 12|0);
-      $325 = HEAP32[$324>>2]|0;
-      $326 = ((($325)) + 4|0);
-      $327 = HEAP32[$326>>2]|0;
-      $328 = $$21052 >>> 23;
-      $329 = $328 & 511;
-      $330 = (($327) + ($329<<3)|0);
-      ;HEAP32[$330>>2]=HEAP32[$10>>2]|0;HEAP32[$330+4>>2]=HEAP32[$10+4>>2]|0;
-      $331 = ((($$61078)) + 4|0);
-      $332 = HEAP32[$331>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$5$phi = $$5;$$21052 = $332;$$51058 = $327;$$61078 = $331;$$sink$reg2mem$0 = $332;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 19:  {
-      $333 = $$21052 >>> 7;
-      $334 = $333 & 65535;
-      $335 = (($$6) + ($334<<2)|0);
-      $336 = HEAP32[$335>>2]|0;
-      $337 = $$21052 >>> 23;
-      $338 = $337 & 511;
-      $339 = (($$51058) + ($338<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1100>>2]=HEAP32[$339>>2]|0;HEAP32[$$byval_copy1100+4>>2]=HEAP32[$339+4>>2]|0;
-      invoke_viii(158,($1|0),($336|0),($$byval_copy1100|0));
-      $340 = __THREW__; __THREW__ = 0;
-      if ((($340|0) != 0) & ((threwValue|0) != 0)) { $341 = _testSetjmp(HEAP32[$340>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($341|0) == 0) { _longjmp($340|0, threwValue|0); } tempRet0 = (threwValue); } else { $341 = -1; };
-      $342 = tempRet0;
-      $cond1392 = ($341|0)==(1);
-      if ($cond1392) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $342;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $343 = ((($$61078)) + 4|0);
-      $344 = HEAP32[$343>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $344;$$61078 = $343;$$sink$reg2mem$0 = $344;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 20:  {
-      $345 = $$21052 >>> 23;
-      $346 = $345 & 511;
-      $347 = ((($1)) + 12|0);
-      $348 = HEAP32[$347>>2]|0;
-      $349 = ((($348)) + 16|0);
-      $350 = HEAP32[$349>>2]|0;
-      $351 = ((($350)) + 32|0);
-      HEAP32[$351>>2] = $$61078;
-      $352 = (($$51058) + ($346<<3)|0);
-      $353 = $$21052 >>> 7;
-      $354 = $353 & 65535;
-      $355 = (($$6) + ($354<<2)|0);
-      $356 = HEAP32[$355>>2]|0;
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1101>>2]=HEAP32[$352>>2]|0;HEAP32[$$byval_copy1101+4>>2]=HEAP32[$352+4>>2]|0;
-      invoke_viiii(159,($13|0),($1|0),($$byval_copy1101|0),($356|0));
-      $357 = __THREW__; __THREW__ = 0;
-      if ((($357|0) != 0) & ((threwValue|0) != 0)) { $358 = _testSetjmp(HEAP32[$357>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($358|0) == 0) { _longjmp($357|0, threwValue|0); } tempRet0 = (threwValue); } else { $358 = -1; };
-      $359 = tempRet0;
-      $cond1391 = ($358|0)==(1);
-      if ($cond1391) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $359;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$12>>2]=HEAP32[$13>>2]|0;HEAP32[$12+4>>2]=HEAP32[$13+4>>2]|0;
-      $360 = ((($1)) + 12|0);
-      $361 = HEAP32[$360>>2]|0;
-      $362 = ((($361)) + 16|0);
-      $363 = HEAP32[$362>>2]|0;
-      $364 = ((($363)) + 32|0);
-      HEAP32[$364>>2] = 0;
-      $365 = ((($1)) + 12|0);
-      $366 = HEAP32[$365>>2]|0;
-      $367 = ((($366)) + 4|0);
-      $368 = HEAP32[$367>>2]|0;
-      $369 = (($368) + ($346<<3)|0);
-      ;HEAP32[$369>>2]=HEAP32[$12>>2]|0;HEAP32[$369+4>>2]=HEAP32[$12+4>>2]|0;
-      $370 = ((($$61078)) + 4|0);
-      $371 = HEAP32[$370>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$5$phi = $$5;$$21052 = $371;$$51058 = $368;$$61078 = $370;$$sink$reg2mem$0 = $371;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 21:  {
-      $372 = $$21052 >>> 23;
-      $373 = $372 & 511;
-      $374 = (($373) + 1)|0;
-      $375 = (($$51058) + ($374<<3)|0);
-      $376 = $$21052 >>> 7;
-      $377 = $376 & 65535;
-      $378 = (($$6) + ($377<<2)|0);
-      $379 = HEAP32[$378>>2]|0;
-      $380 = (($$51058) + ($373<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1102>>2]=HEAP32[$375>>2]|0;HEAP32[$$byval_copy1102+4>>2]=HEAP32[$375+4>>2]|0;
-      ;HEAP32[$$byval_copy1103>>2]=HEAP32[$380>>2]|0;HEAP32[$$byval_copy1103+4>>2]=HEAP32[$380+4>>2]|0;
-      invoke_viiii(160,($1|0),($$byval_copy1102|0),($379|0),($$byval_copy1103|0));
-      $381 = __THREW__; __THREW__ = 0;
-      if ((($381|0) != 0) & ((threwValue|0) != 0)) { $382 = _testSetjmp(HEAP32[$381>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($382|0) == 0) { _longjmp($381|0, threwValue|0); } tempRet0 = (threwValue); } else { $382 = -1; };
-      $383 = tempRet0;
-      $cond1390 = ($382|0)==(1);
-      if ($cond1390) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $383;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $384 = ((($$61078)) + 4|0);
-      $385 = HEAP32[$384>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $385;$$61078 = $384;$$sink$reg2mem$0 = $385;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 22:  {
-      $386 = $$21052 >>> 23;
-      $387 = $386 & 511;
-      $388 = (($$51058) + ($387<<3)|0);
-      $389 = $$21052 >>> 7;
-      $390 = $389 & 127;
-      __THREW__ = 0;
-      $391 = (invoke_iii(161,($1|0),($390|0))|0);
-      $392 = __THREW__; __THREW__ = 0;
-      if ((($392|0) != 0) & ((threwValue|0) != 0)) { $393 = _testSetjmp(HEAP32[$392>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($393|0) == 0) { _longjmp($392|0, threwValue|0); } tempRet0 = (threwValue); } else { $393 = -1; };
-      $394 = tempRet0;
-      $cond1388 = ($393|0)==(1);
-      if ($cond1388) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $394;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $395 = ($391|0)!=(0|0);
-      if ($395) {
-       $399 = $$21052 >>> 14;
-       $400 = $399 & 511;
-       $401 = ((($391)) + 12|0);
-       $402 = HEAP32[$401>>2]|0;
-       $403 = (($402) + ($400<<3)|0);
-       ;HEAP32[$388>>2]=HEAP32[$403>>2]|0;HEAP32[$388+4>>2]=HEAP32[$403+4>>2]|0;
-      } else {
-       __THREW__ = 0;
-       invoke_vi(162,($14|0));
-       $396 = __THREW__; __THREW__ = 0;
-       if ((($396|0) != 0) & ((threwValue|0) != 0)) { $397 = _testSetjmp(HEAP32[$396>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($397|0) == 0) { _longjmp($396|0, threwValue|0); } tempRet0 = (threwValue); } else { $397 = -1; };
-       $398 = tempRet0;
-       $cond1389 = ($397|0)==(1);
-       if ($cond1389) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $398;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$388>>2]=HEAP32[$14>>2]|0;HEAP32[$388+4>>2]=HEAP32[$14+4>>2]|0;
-      }
-      $404 = ((($$61078)) + 4|0);
-      $405 = HEAP32[$404>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $405;$$61078 = $404;$$sink$reg2mem$0 = $405;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 23:  {
-      $406 = $$21052 >>> 7;
-      $407 = $406 & 127;
-      __THREW__ = 0;
-      $408 = (invoke_iii(161,($1|0),($407|0))|0);
-      $409 = __THREW__; __THREW__ = 0;
-      if ((($409|0) != 0) & ((threwValue|0) != 0)) { $410 = _testSetjmp(HEAP32[$409>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($410|0) == 0) { _longjmp($409|0, threwValue|0); } tempRet0 = (threwValue); } else { $410 = -1; };
-      $411 = tempRet0;
-      $cond1386 = ($410|0)==(1);
-      if ($cond1386) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $411;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $412 = ($408|0)!=(0|0);
-      if ($412) {
-       $413 = $$21052 >>> 23;
-       $414 = $413 & 511;
-       $415 = (($$51058) + ($414<<3)|0);
-       $416 = $$21052 >>> 14;
-       $417 = $416 & 511;
-       $418 = ((($408)) + 12|0);
-       $419 = HEAP32[$418>>2]|0;
-       $420 = (($419) + ($417<<3)|0);
-       ;HEAP32[$420>>2]=HEAP32[$415>>2]|0;HEAP32[$420+4>>2]=HEAP32[$415+4>>2]|0;
-       __THREW__ = 0;
-       invoke_vii(163,($1|0),($408|0));
-       $421 = __THREW__; __THREW__ = 0;
-       if ((($421|0) != 0) & ((threwValue|0) != 0)) { $422 = _testSetjmp(HEAP32[$421>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($422|0) == 0) { _longjmp($421|0, threwValue|0); } tempRet0 = (threwValue); } else { $422 = -1; };
-       $423 = tempRet0;
-       $cond1387 = ($422|0)==(1);
-       if ($cond1387) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $423;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-      }
-      $424 = ((($$61078)) + 4|0);
-      $425 = HEAP32[$424>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $425;$$61078 = $424;$$sink$reg2mem$0 = $425;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 24:  {
-      $426 = $$21052 >>> 7;
-      $427 = $426 & 65535;
-      $428 = (($427) - 32767)|0;
-      $429 = (($$61078) + ($428<<2)|0);
-      $430 = HEAP32[$429>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $430;$$61078 = $429;$$sink$reg2mem$0 = $430;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 25:  {
-      $431 = $$21052 >>> 23;
-      $432 = $431 & 511;
-      $433 = (($$51058) + ($432<<3)|0);
-      $434 = ((($433)) + 4|0);
-      $435 = HEAP32[$434>>2]|0;
-      $436 = ($435|0)!=(0);
-      if ($436) {
-       $437 = $$21052 >>> 7;
-       $438 = $437 & 65535;
-       $439 = (($438) - 32767)|0;
-       $440 = (($$61078) + ($439<<2)|0);
-       $441 = HEAP32[$440>>2]|0;
-       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $441;$$61078 = $440;$$sink$reg2mem$0 = $441;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-       label = 583;
-       continue L19;
-      } else {
-       $442 = ((($$61078)) + 4|0);
-       $443 = HEAP32[$442>>2]|0;
-       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $443;$$61078 = $442;$$sink$reg2mem$0 = $443;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-       label = 583;
-       continue L19;
-      }
-      break;
-     }
-     case 26:  {
-      $444 = $$21052 >>> 23;
-      $445 = $444 & 511;
-      $446 = (($$51058) + ($445<<3)|0);
-      $447 = ((($446)) + 4|0);
-      $448 = HEAP32[$447>>2]|0;
-      $449 = ($448|0)!=(0);
-      if ($449) {
-       $455 = ((($$61078)) + 4|0);
-       $456 = HEAP32[$455>>2]|0;
-       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $456;$$61078 = $455;$$sink$reg2mem$0 = $456;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-       label = 583;
-       continue L19;
-      } else {
-       $450 = $$21052 >>> 7;
-       $451 = $450 & 65535;
-       $452 = (($451) - 32767)|0;
-       $453 = (($$61078) + ($452<<2)|0);
-       $454 = HEAP32[$453>>2]|0;
-       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $454;$$61078 = $453;$$sink$reg2mem$0 = $454;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-       label = 583;
-       continue L19;
-      }
-      break;
-     }
-     case 27:  {
-      $457 = ((($1)) + 12|0);
-      $458 = HEAP32[$457>>2]|0;
-      $459 = ((($458)) + 32|0);
-      $460 = HEAP32[$459>>2]|0;
-      $461 = ((($1)) + 12|0);
-      $462 = HEAP32[$461>>2]|0;
-      $463 = ((($462)) + 16|0);
-      $464 = HEAP32[$463>>2]|0;
-      $465 = ((($464)) + 16|0);
-      $466 = HEAP32[$465>>2]|0;
-      $467 = ($460|0)<=($466|0);
-      if ($467) {
-       $468 = ((($1)) + 12|0);
-       $469 = HEAP32[$468>>2]|0;
-       $470 = ((($469)) + 32|0);
-       $471 = HEAP32[$470>>2]|0;
-       $472 = ($471|0)==(0);
-       $473 = ((($1)) + 12|0);
-       $474 = HEAP32[$473>>2]|0;
-       $475 = ((($474)) + 32|0);
-       if ($472) {
-        $$sink2$reg2mem$0 = 16;
-       } else {
-        $476 = HEAP32[$475>>2]|0;
-        $477 = $476<<1;
-        $$sink2$reg2mem$0 = $477;
-       }
-       HEAP32[$475>>2] = $$sink2$reg2mem$0;
-       $478 = ((($1)) + 12|0);
-       $479 = HEAP32[$478>>2]|0;
-       $480 = ((($479)) + 28|0);
-       $481 = HEAP32[$480>>2]|0;
-       $482 = ((($1)) + 12|0);
-       $483 = HEAP32[$482>>2]|0;
-       $484 = ((($483)) + 32|0);
-       $485 = HEAP32[$484>>2]|0;
-       $486 = $485<<2;
-       __THREW__ = 0;
-       $487 = (invoke_iiii(164,($1|0),($481|0),($486|0))|0);
-       $488 = __THREW__; __THREW__ = 0;
-       if ((($488|0) != 0) & ((threwValue|0) != 0)) { $489 = _testSetjmp(HEAP32[$488>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($489|0) == 0) { _longjmp($488|0, threwValue|0); } tempRet0 = (threwValue); } else { $489 = -1; };
-       $490 = tempRet0;
-       $cond1385 = ($489|0)==(1);
-       if ($cond1385) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $490;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $491 = ((($1)) + 12|0);
-       $492 = HEAP32[$491>>2]|0;
-       $493 = ((($492)) + 28|0);
-       HEAP32[$493>>2] = $487;
-      }
-      $494 = $$21052 >>> 7;
-      $495 = $494 & 65535;
-      $496 = (($495) - 32767)|0;
-      $497 = (($$61078) + ($496<<2)|0);
-      $498 = ((($1)) + 12|0);
-      $499 = HEAP32[$498>>2]|0;
-      $500 = ((($499)) + 28|0);
-      $501 = HEAP32[$500>>2]|0;
-      $502 = ((($1)) + 12|0);
-      $503 = HEAP32[$502>>2]|0;
-      $504 = ((($503)) + 16|0);
-      $505 = HEAP32[$504>>2]|0;
-      $506 = ((($505)) + 16|0);
-      $507 = HEAP32[$506>>2]|0;
-      $508 = (($507) + 1)|0;
-      HEAP32[$506>>2] = $508;
-      $509 = (($501) + ($507<<2)|0);
-      HEAP32[$509>>2] = $497;
-      $510 = ((($$61078)) + 4|0);
-      $511 = HEAP32[$510>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $511;$$61078 = $510;$$sink$reg2mem$0 = $511;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 28:  {
-      $512 = ((($1)) + 20|0);
-      $513 = HEAP32[$512>>2]|0;
-      $514 = HEAP32[$513>>2]|0;
-      $515 = $514 & 255;
-      $516 = $$21052 >>> 23;
-      $517 = $516 & 511;
-      $518 = (($$51058) + ($517<<3)|0);
-      $519 = ((($518)) + 4|0);
-      HEAP32[$519>>2] = $515;
-      $520 = ((($1)) + 20|0);
-      $521 = HEAP32[$520>>2]|0;
-      $522 = $$21052 >>> 23;
-      $523 = $522 & 511;
-      $524 = (($$51058) + ($523<<3)|0);
-      HEAP32[$524>>2] = $521;
-      $525 = ((($1)) + 20|0);
-      HEAP32[$525>>2] = 0;
-      $526 = ((($$61078)) + 4|0);
-      $527 = HEAP32[$526>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $527;$$61078 = $526;$$sink$reg2mem$0 = $527;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 29:  {
-      $528 = $$21052 >>> 23;
-      $529 = $528 & 511;
-      $$01042 = $529;
-      while(1) {
-       $530 = (($$01042) + -1)|0;
-       $531 = ($$01042|0)!=(0);
-       if (!($531)) {
-        break;
-       }
-       $532 = ((($1)) + 12|0);
-       $533 = HEAP32[$532>>2]|0;
-       $534 = ((($533)) + 16|0);
-       $535 = HEAP32[$534>>2]|0;
-       $536 = ((($535)) + 16|0);
-       $537 = HEAP32[$536>>2]|0;
-       $538 = (($537) + -1)|0;
-       HEAP32[$536>>2] = $538;
-       $$01042 = $530;
-      }
-      $539 = ((($$61078)) + 4|0);
-      $540 = HEAP32[$539>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $540;$$61078 = $539;$$sink$reg2mem$0 = $540;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 30:  {
-      $541 = $$21052 >>> 23;
-      $542 = $541 & 511;
-      $543 = (($$51058) + ($542<<3)|0);
-      $544 = HEAP32[$543>>2]|0;
-      $545 = ((($1)) + 20|0);
-      HEAP32[$545>>2] = $544;
-      $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-      label = 272;
-      continue L19;
-      break;
-     }
-     case 31:  {
-      $546 = ((($$8)) + 20|0);
-      $547 = HEAP32[$546>>2]|0;
-      $548 = $$21052 >>> 7;
-      $549 = $548 & 65535;
-      $550 = (($547) + ($549<<2)|0);
-      $551 = HEAP32[$550>>2]|0;
-      __THREW__ = 0;
-      $552 = (invoke_iii(165,($1|0),($551|0))|0);
-      $553 = __THREW__; __THREW__ = 0;
-      if ((($553|0) != 0) & ((threwValue|0) != 0)) { $554 = _testSetjmp(HEAP32[$553>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($554|0) == 0) { _longjmp($553|0, threwValue|0); } tempRet0 = (threwValue); } else { $554 = -1; };
-      $555 = tempRet0;
-      $cond1383 = ($554|0)==(1);
-      if ($cond1383) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $555;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $556 = ((($1)) + 12|0);
-      $557 = HEAP32[$556>>2]|0;
-      $558 = ((($557)) + 40|0);
-      $559 = HEAP32[$558>>2]|0;
-      $560 = ((($1)) + 12|0);
-      $561 = HEAP32[$560>>2]|0;
-      $562 = ((($561)) + 16|0);
-      $563 = HEAP32[$562>>2]|0;
-      $564 = ((($563)) + 20|0);
-      $565 = HEAP32[$564>>2]|0;
-      $566 = ($559|0)<=($565|0);
-      if ($566) {
-       $567 = ((($1)) + 12|0);
-       $568 = HEAP32[$567>>2]|0;
-       $569 = ((($568)) + 40|0);
-       $570 = HEAP32[$569>>2]|0;
-       $571 = ($570|0)==(0);
-       $572 = ((($1)) + 12|0);
-       $573 = HEAP32[$572>>2]|0;
-       $574 = ((($573)) + 40|0);
-       if ($571) {
-        $$sink3$reg2mem$0 = 16;
-       } else {
-        $575 = HEAP32[$574>>2]|0;
-        $576 = $575<<1;
-        $$sink3$reg2mem$0 = $576;
-       }
-       HEAP32[$574>>2] = $$sink3$reg2mem$0;
-       $577 = ((($1)) + 12|0);
-       $578 = HEAP32[$577>>2]|0;
-       $579 = ((($578)) + 36|0);
-       $580 = HEAP32[$579>>2]|0;
-       $581 = ((($1)) + 12|0);
-       $582 = HEAP32[$581>>2]|0;
-       $583 = ((($582)) + 40|0);
-       $584 = HEAP32[$583>>2]|0;
-       $585 = $584<<2;
-       __THREW__ = 0;
-       $586 = (invoke_iiii(164,($1|0),($580|0),($585|0))|0);
-       $587 = __THREW__; __THREW__ = 0;
-       if ((($587|0) != 0) & ((threwValue|0) != 0)) { $588 = _testSetjmp(HEAP32[$587>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($588|0) == 0) { _longjmp($587|0, threwValue|0); } tempRet0 = (threwValue); } else { $588 = -1; };
-       $589 = tempRet0;
-       $cond1384 = ($588|0)==(1);
-       if ($cond1384) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $589;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $590 = ((($1)) + 12|0);
-       $591 = HEAP32[$590>>2]|0;
-       $592 = ((($591)) + 36|0);
-       HEAP32[$592>>2] = $586;
-      }
-      $593 = ((($1)) + 12|0);
-      $594 = HEAP32[$593>>2]|0;
-      $595 = ((($594)) + 36|0);
-      $596 = HEAP32[$595>>2]|0;
-      $597 = ((($1)) + 12|0);
-      $598 = HEAP32[$597>>2]|0;
-      $599 = ((($598)) + 16|0);
-      $600 = HEAP32[$599>>2]|0;
-      $601 = ((($600)) + 20|0);
-      $602 = HEAP32[$601>>2]|0;
-      $603 = (($602) + 1)|0;
-      HEAP32[$601>>2] = $603;
-      $604 = (($596) + ($602<<2)|0);
-      HEAP32[$604>>2] = $552;
-      $605 = ((($1)) + 92|0);
-      $606 = ((($605)) + 416|0);
-      HEAP32[$606>>2] = $$11049;
-      $607 = ((($$61078)) + 4|0);
-      $608 = HEAP32[$607>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $608;$$61078 = $607;$$sink$reg2mem$0 = $608;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 32:  {
-      $609 = $$21052 >>> 23;
-      $610 = $609 & 511;
-      $611 = ((($1)) + 12|0);
-      $612 = HEAP32[$611>>2]|0;
-      $613 = ((($612)) + 16|0);
-      $614 = HEAP32[$613>>2]|0;
-      $615 = ((($614)) + 20|0);
-      $616 = HEAP32[$615>>2]|0;
-      $$01040 = $616;$$01041 = 0;
-      while(1) {
-       $617 = ($$01041|0)<($610|0);
-       if (!($617)) {
-        break;
-       }
-       $618 = ((($1)) + 12|0);
-       $619 = HEAP32[$618>>2]|0;
-       $620 = ((($619)) + 20|0);
-       $621 = HEAP32[$620>>2]|0;
-       $622 = ($614|0)==($621|0);
-       if (!($622)) {
-        $623 = ((($614)) + -48|0);
-        $624 = ((($623)) + 20|0);
-        $625 = HEAP32[$624>>2]|0;
-        $626 = ($$01040|0)>($625|0);
-        if (!($626)) {
-         break;
-        }
-       }
-       $627 = (($$01040) + -1)|0;
-       __THREW__ = 0;
-       invoke_vii(166,($1|0),($627|0));
-       $628 = __THREW__; __THREW__ = 0;
-       if ((($628|0) != 0) & ((threwValue|0) != 0)) { $629 = _testSetjmp(HEAP32[$628>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($629|0) == 0) { _longjmp($628|0, threwValue|0); } tempRet0 = (threwValue); } else { $629 = -1; };
-       $630 = tempRet0;
-       $cond1382 = ($629|0)==(1);
-       if ($cond1382) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $630;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $631 = ((($1)) + 92|0);
-       $632 = ((($631)) + 416|0);
-       HEAP32[$632>>2] = $$11049;
-       $633 = (($$01041) + 1)|0;
-       $$01040 = $627;$$01041 = $633;
-      }
-      $634 = ((($$61078)) + 4|0);
-      $635 = HEAP32[$634>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $635;$$61078 = $634;$$sink$reg2mem$0 = $635;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 33:  {
-      $$01050 = $$21052;
-      label = 90;
-      break;
-     }
-     case 34:  {
-      $3045 = $$21052 >>> 7;
-      $3046 = $3045 & 65535;
-      $3047 = (($$61071) + ($3046<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1154>>2]=HEAP32[$3047>>2]|0;HEAP32[$$byval_copy1154+4>>2]=HEAP32[$3047+4>>2]|0;
-      invoke_viii(191,($85|0),($1|0),($$byval_copy1154|0));
-      $3048 = __THREW__; __THREW__ = 0;
-      if ((($3048|0) != 0) & ((threwValue|0) != 0)) { $3049 = _testSetjmp(HEAP32[$3048>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3049|0) == 0) { _longjmp($3048|0, threwValue|0); } tempRet0 = (threwValue); } else { $3049 = -1; };
-      $3050 = tempRet0;
-      $cond1362 = ($3049|0)==(1);
-      if ($cond1362) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $3050;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $3051 = $$21052 >>> 23;
-      $3052 = $3051 & 511;
-      $3053 = ($3052|0)==(0);
-      if ($3053) {
-       __THREW__ = 0;
-       $3054 = (invoke_iii(135,($1|0),(68266|0))|0);
-       $3055 = __THREW__; __THREW__ = 0;
-       if ((($3055|0) != 0) & ((threwValue|0) != 0)) { $3056 = _testSetjmp(HEAP32[$3055>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3056|0) == 0) { _longjmp($3055|0, threwValue|0); } tempRet0 = (threwValue); } else { $3056 = -1; };
-       $3057 = tempRet0;
-       $cond1365 = ($3056|0)==(1);
-       if ($cond1365) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $3057;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy1155>>2]=HEAP32[$85>>2]|0;HEAP32[$$byval_copy1155+4>>2]=HEAP32[$85+4>>2]|0;
-       invoke_viiii(172,($87|0),($1|0),($3054|0),($$byval_copy1155|0));
-       $3058 = __THREW__; __THREW__ = 0;
-       if ((($3058|0) != 0) & ((threwValue|0) != 0)) { $3059 = _testSetjmp(HEAP32[$3058>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3059|0) == 0) { _longjmp($3058|0, threwValue|0); } tempRet0 = (threwValue); } else { $3059 = -1; };
-       $3060 = tempRet0;
-       $cond1366 = ($3059|0)==(1);
-       if ($cond1366) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $3060;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$86>>2]=HEAP32[$87>>2]|0;HEAP32[$86+4>>2]=HEAP32[$87+4>>2]|0;
-      } else {
-       __THREW__ = 0;
-       $3061 = (invoke_iii(135,($1|0),(56833|0))|0);
-       $3062 = __THREW__; __THREW__ = 0;
-       if ((($3062|0) != 0) & ((threwValue|0) != 0)) { $3063 = _testSetjmp(HEAP32[$3062>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3063|0) == 0) { _longjmp($3062|0, threwValue|0); } tempRet0 = (threwValue); } else { $3063 = -1; };
-       $3064 = tempRet0;
-       $cond1363 = ($3063|0)==(1);
-       if ($cond1363) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $3064;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy1156>>2]=HEAP32[$85>>2]|0;HEAP32[$$byval_copy1156+4>>2]=HEAP32[$85+4>>2]|0;
-       invoke_viiii(172,($88|0),($1|0),($3061|0),($$byval_copy1156|0));
-       $3065 = __THREW__; __THREW__ = 0;
-       if ((($3065|0) != 0) & ((threwValue|0) != 0)) { $3066 = _testSetjmp(HEAP32[$3065>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3066|0) == 0) { _longjmp($3065|0, threwValue|0); } tempRet0 = (threwValue); } else { $3066 = -1; };
-       $3067 = tempRet0;
-       $cond1364 = ($3066|0)==(1);
-       if ($cond1364) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $3067;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$86>>2]=HEAP32[$88>>2]|0;HEAP32[$86+4>>2]=HEAP32[$88+4>>2]|0;
-      }
-      $3068 = HEAP32[$86>>2]|0;
-      $3069 = ((($1)) + 20|0);
-      HEAP32[$3069>>2] = $3068;
-      $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-      label = 272;
-      continue L19;
-      break;
-     }
-     case 35:  {
-      $834 = ((($$61078)) + 4|0);
-      $835 = HEAP32[$834>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $835;$$61078 = $834;$$sink$reg2mem$0 = $835;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 36:  {
-      $836 = ((($1)) + 12|0);
-      $837 = HEAP32[$836>>2]|0;
-      $838 = ((($837)) + 4|0);
-      $839 = HEAP32[$838>>2]|0;
-      ;HEAP32[$23>>2]=HEAP32[$839>>2]|0;HEAP32[$23+4>>2]=HEAP32[$839+4>>2]|0;
-      $840 = HEAP32[$23>>2]|0;
-      $841 = ((($1)) + 12|0);
-      $842 = HEAP32[$841>>2]|0;
-      $843 = ((($842)) + 16|0);
-      $844 = HEAP32[$843>>2]|0;
-      $845 = ((($840)) + 16|0);
-      $846 = HEAP32[$845>>2]|0;
-      $847 = ((($844)) + 44|0);
-      HEAP32[$847>>2] = $846;
-      $848 = ((($844)) + 4|0);
-      HEAP32[$848>>2] = $840;
-      $849 = ((($840)) + 20|0);
-      $850 = HEAP32[$849>>2]|0;
-      $851 = ($850|0)!=(0|0);
-      if ($851) {
-       $852 = ((($840)) + 20|0);
-       $853 = HEAP32[$852>>2]|0;
-       $854 = ((($853)) + 16|0);
-       $855 = HEAP32[$854>>2]|0;
-       $856 = ($855|0)!=(0);
-       if ($856) {
-        $857 = ((($840)) + 20|0);
-        $858 = HEAP32[$857>>2]|0;
-        $859 = ((($858)) + 16|0);
-        $860 = HEAP32[$859>>2]|0;
-        HEAP32[$844>>2] = $860;
-       }
-       $861 = ((($840)) + 20|0);
-       $862 = HEAP32[$861>>2]|0;
-       $863 = ((($862)) + 12|0);
-       $864 = HEAP32[$863>>2]|0;
-       $865 = ($864|0)!=(0|0);
-       if (!($865)) {
-        $866 = ((($1)) + 12|0);
-        $867 = HEAP32[$866>>2]|0;
-        $868 = ((($867)) + 4|0);
-        $869 = HEAP32[$868>>2]|0;
-        $870 = ((($840)) + 20|0);
-        $871 = HEAP32[$870>>2]|0;
-        $872 = ((($871)) + 12|0);
-        HEAP32[$872>>2] = $869;
-       }
-      }
-      $873 = HEAP32[$840>>2]|0;
-      $874 = $873 >>> 11;
-      $875 = $874 & 128;
-      $876 = ($875|0)!=(0);
-      if ($876) {
-       $877 = ((($840)) + 12|0);
-       $878 = HEAP32[$877>>2]|0;
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy1110>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy1110+4>>2]=HEAP32[$23+4>>2]|0;
-       invoke_viii($878|0,($24|0),($1|0),($$byval_copy1110|0));
-       $879 = __THREW__; __THREW__ = 0;
-       if ((($879|0) != 0) & ((threwValue|0) != 0)) { $880 = _testSetjmp(HEAP32[$879>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($880|0) == 0) { _longjmp($879|0, threwValue|0); } tempRet0 = (threwValue); } else { $880 = -1; };
-       $881 = tempRet0;
-       $cond1359 = ($880|0)==(1);
-       if ($cond1359) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $881;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$23>>2]=HEAP32[$24>>2]|0;HEAP32[$23+4>>2]=HEAP32[$24+4>>2]|0;
-       __THREW__ = 0;
-       invoke_vii(146,($1|0),($$11049|0));
-       $882 = __THREW__; __THREW__ = 0;
-       if ((($882|0) != 0) & ((threwValue|0) != 0)) { $883 = _testSetjmp(HEAP32[$882>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($883|0) == 0) { _longjmp($882|0, threwValue|0); } tempRet0 = (threwValue); } else { $883 = -1; };
-       $884 = tempRet0;
-       $cond1360 = ($883|0)==(1);
-       if ($cond1360) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $884;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $885 = ((($1)) + 20|0);
-       $886 = HEAP32[$885>>2]|0;
-       $887 = ($886|0)!=(0|0);
-       if ($887) {
-        $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-        label = 272;
-        continue L19;
-       }
-       $888 = ((($1)) + 12|0);
-       $889 = HEAP32[$888>>2]|0;
-       $890 = ((($889)) + 16|0);
-       $891 = HEAP32[$890>>2]|0;
-       $892 = ((($891)) + 8|0);
-       $893 = HEAP32[$892>>2]|0;
-       $894 = ((($1)) + 12|0);
-       $895 = HEAP32[$894>>2]|0;
-       $896 = ((($895)) + 4|0);
-       HEAP32[$896>>2] = $893;
-       $897 = ((($891)) + 40|0);
-       $898 = HEAP32[$897>>2]|0;
-       $899 = (($893) + ($898<<3)|0);
-       ;HEAP32[$899>>2]=HEAP32[$23>>2]|0;HEAP32[$899+4>>2]=HEAP32[$23+4>>2]|0;
-       $900 = ((($891)) + 28|0);
-       $901 = HEAP32[$900>>2]|0;
-       __THREW__ = 0;
-       invoke_vi(132,($1|0));
-       $902 = __THREW__; __THREW__ = 0;
-       if ((($902|0) != 0) & ((threwValue|0) != 0)) { $903 = _testSetjmp(HEAP32[$902>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($903|0) == 0) { _longjmp($902|0, threwValue|0); } tempRet0 = (threwValue); } else { $903 = -1; };
-       $904 = tempRet0;
-       $cond1361 = ($903|0)==(1);
-       if ($cond1361) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $893;$$11060 = $$6;$$11066 = $$61071;$$11073 = $901;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $904;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $905 = ((($1)) + 12|0);
-       $906 = HEAP32[$905>>2]|0;
-       $907 = ((($906)) + 16|0);
-       $908 = HEAP32[$907>>2]|0;
-       $909 = ((($908)) + 4|0);
-       $910 = HEAP32[$909>>2]|0;
-       $911 = ((($910)) + 12|0);
-       $912 = HEAP32[$911>>2]|0;
-       $913 = ((($912)) + 12|0);
-       $914 = HEAP32[$913>>2]|0;
-       $915 = ((($912)) + 16|0);
-       $916 = HEAP32[$915>>2]|0;
-       $917 = HEAP32[$901>>2]|0;
-       $$81094$phi = $$81094;$$5$phi = $$5;$$21052 = $917;$$51058 = $893;$$6 = $916;$$61071 = $914;$$61078 = $901;$$8 = $912;$$sink$reg2mem$0 = $917;$$81094 = $$81094$phi;$$5 = $$5$phi;
-       label = 583;
-       continue L19;
-      }
-      $918 = ((($840)) + 12|0);
-      $919 = HEAP32[$918>>2]|0;
-      $920 = ($919|0)!=(0|0);
-      if (!($920)) {
-       $921 = ((($1)) + 12|0);
-       $922 = HEAP32[$921>>2]|0;
-       $923 = ((($922)) + 4|0);
-       $924 = HEAP32[$923>>2]|0;
-       __THREW__ = 0;
-       invoke_vi(162,($25|0));
-       $925 = __THREW__; __THREW__ = 0;
-       if ((($925|0) != 0) & ((threwValue|0) != 0)) { $926 = _testSetjmp(HEAP32[$925>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($926|0) == 0) { _longjmp($925|0, threwValue|0); } tempRet0 = (threwValue); } else { $926 = -1; };
-       $927 = tempRet0;
-       $cond1356 = ($926|0)==(1);
-       if ($cond1356) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $919;$$11087 = $840;$$reg2mem1002$0 = $927;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$924>>2]=HEAP32[$25>>2]|0;HEAP32[$924+4>>2]=HEAP32[$25+4>>2]|0;
-       $$31082 = $919;$$31089 = $840;
-       label = 270;
-       break L50;
-      }
-      $928 = ((($919)) + 12|0);
-      $929 = HEAP32[$928>>2]|0;
-      $930 = ((($919)) + 16|0);
-      $931 = HEAP32[$930>>2]|0;
-      $932 = ((($919)) + 2|0);
-      $933 = HEAP16[$932>>1]|0;
-      $934 = $933&65535;
-      $935 = ((($844)) + 12|0);
-      HEAP32[$935>>2] = $934;
-      $936 = ((($844)) + 36|0);
-      $937 = HEAP32[$936>>2]|0;
-      $938 = ($937|0)<(0);
-      $939 = ((($919)) + 2|0);
-      $940 = HEAP16[$939>>1]|0;
-      $941 = $940&65535;
-      if ($938) {
-       $942 = ($941|0)<(3);
-       if ($942) {
-        $$reg2mem998$0 = 3;
-       } else {
-        $943 = ((($919)) + 2|0);
-        $944 = HEAP16[$943>>1]|0;
-        $945 = $944&65535;
-        $$reg2mem998$0 = $945;
-       }
-       __THREW__ = 0;
-       invoke_viii(142,($1|0),($$reg2mem998$0|0),3);
-       $946 = __THREW__; __THREW__ = 0;
-       if ((($946|0) != 0) & ((threwValue|0) != 0)) { $947 = _testSetjmp(HEAP32[$946>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($947|0) == 0) { _longjmp($946|0, threwValue|0); } tempRet0 = (threwValue); } else { $947 = -1; };
-       $948 = tempRet0;
-       $cond1358 = ($947|0)==(1);
-       if ($cond1358) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $931;$$11066 = $929;$$11073 = $$61078;$$11080 = $919;$$11087 = $840;$$reg2mem1002$0 = $948;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-      } else {
-       $949 = ((($844)) + 36|0);
-       $950 = HEAP32[$949>>2]|0;
-       $951 = (($950) + 2)|0;
-       __THREW__ = 0;
-       invoke_viii(142,($1|0),($941|0),($951|0));
-       $952 = __THREW__; __THREW__ = 0;
-       if ((($952|0) != 0) & ((threwValue|0) != 0)) { $953 = _testSetjmp(HEAP32[$952>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($953|0) == 0) { _longjmp($952|0, threwValue|0); } tempRet0 = (threwValue); } else { $953 = -1; };
-       $954 = tempRet0;
-       $cond1357 = ($953|0)==(1);
-       if ($cond1357) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $931;$$11066 = $929;$$11073 = $$61078;$$11080 = $919;$$11087 = $840;$$reg2mem1002$0 = $954;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-      }
-      $955 = ((($1)) + 12|0);
-      $956 = HEAP32[$955>>2]|0;
-      $957 = ((($956)) + 4|0);
-      $958 = HEAP32[$957>>2]|0;
-      $959 = ((($840)) + 20|0);
-      $960 = HEAP32[$959>>2]|0;
-      $961 = ((($960)) + 12|0);
-      $962 = HEAP32[$961>>2]|0;
-      ;HEAP32[$958>>2]=HEAP32[$962>>2]|0;HEAP32[$958+4>>2]=HEAP32[$962+4>>2]|0;
-      $963 = ((($919)) + 8|0);
-      $964 = HEAP32[$963>>2]|0;
-      $965 = HEAP32[$964>>2]|0;
-      $$5$phi = $$5;$$21052 = $965;$$51058 = $958;$$6 = $931;$$61071 = $929;$$61078 = $964;$$8 = $919;$$81094 = $840;$$sink$reg2mem$0 = $965;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 37:  {
-      $966 = ((($1)) + 12|0);
-      $967 = HEAP32[$966>>2]|0;
-      $968 = ((($967)) + 16|0);
-      $969 = HEAP32[$968>>2]|0;
-      $970 = HEAP32[$969>>2]|0;
-      $971 = $$21052 >>> 23;
-      $972 = $971 & 511;
-      $973 = $$21052 >>> 7;
-      $974 = $973 & 127;
-      $975 = ($970|0)==(0);
-      if ($975) {
-       __THREW__ = 0;
-       $976 = (invoke_iii(135,($1|0),(67968|0))|0);
-       $977 = __THREW__; __THREW__ = 0;
-       if ((($977|0) != 0) & ((threwValue|0) != 0)) { $978 = _testSetjmp(HEAP32[$977>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($978|0) == 0) { _longjmp($977|0, threwValue|0); } tempRet0 = (threwValue); } else { $978 = -1; };
-       $979 = tempRet0;
-       $cond1353 = ($978|0)==(1);
-       if ($cond1353) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $979;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       __THREW__ = 0;
-       invoke_viiii(171,($29|0),($1|0),(56724|0),30);
-       $980 = __THREW__; __THREW__ = 0;
-       if ((($980|0) != 0) & ((threwValue|0) != 0)) { $981 = _testSetjmp(HEAP32[$980>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($981|0) == 0) { _longjmp($980|0, threwValue|0); } tempRet0 = (threwValue); } else { $981 = -1; };
-       $982 = tempRet0;
-       $cond1354 = ($981|0)==(1);
-       if ($cond1354) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $982;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy1111>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy1111+4>>2]=HEAP32[$29+4>>2]|0;
-       invoke_viiii(172,($30|0),($1|0),($976|0),($$byval_copy1111|0));
-       $983 = __THREW__; __THREW__ = 0;
-       if ((($983|0) != 0) & ((threwValue|0) != 0)) { $984 = _testSetjmp(HEAP32[$983>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($984|0) == 0) { _longjmp($983|0, threwValue|0); } tempRet0 = (threwValue); } else { $984 = -1; };
-       $985 = tempRet0;
-       $cond1355 = ($984|0)==(1);
-       if ($cond1355) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $985;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$28>>2]=HEAP32[$30>>2]|0;HEAP32[$28+4>>2]=HEAP32[$30+4>>2]|0;
-       $986 = HEAP32[$28>>2]|0;
-       $987 = ((($1)) + 20|0);
-       HEAP32[$987>>2] = $986;
-       $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-       label = 272;
-       continue L19;
-      }
-      ;HEAP32[$26>>2]=HEAP32[$$51058>>2]|0;HEAP32[$26+4>>2]=HEAP32[$$51058+4>>2]|0;
-      $988 = ((($1)) + 12|0);
-      $989 = HEAP32[$988>>2]|0;
-      $990 = ((($989)) + 16|0);
-      $991 = HEAP32[$990>>2]|0;
-      $992 = ((($991)) + 44|0);
-      $993 = HEAP32[$992>>2]|0;
-      $994 = ((($993)) + 20|0);
-      $995 = HEAP32[$994>>2]|0;
-      HEAP32[$27>>2] = $995;
-      __THREW__ = 0;
-      $996 = (invoke_iiii(139,($1|0),($27|0),($970|0))|0);
-      $997 = __THREW__; __THREW__ = 0;
-      if ((($997|0) != 0) & ((threwValue|0) != 0)) { $998 = _testSetjmp(HEAP32[$997>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($998|0) == 0) { _longjmp($997|0, threwValue|0); } tempRet0 = (threwValue); } else { $998 = -1; };
-      $999 = tempRet0;
-      $cond1341 = ($998|0)==(1);
-      if ($cond1341) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $999;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $1000 = ($996|0)!=(0|0);
-      do {
-       if ($1000) {
-        $$01034 = $974;$$01035 = $970;$$01036 = $996;
-       } else {
-        __THREW__ = 0;
-        $1001 = (invoke_iiii(140,($1|0),(65621|0),14)|0);
-        $1002 = __THREW__; __THREW__ = 0;
-        if ((($1002|0) != 0) & ((threwValue|0) != 0)) { $1003 = _testSetjmp(HEAP32[$1002>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1003|0) == 0) { _longjmp($1002|0, threwValue|0); } tempRet0 = (threwValue); } else { $1003 = -1; };
-        $1004 = tempRet0;
-        $cond1342 = ($1003|0)==(1);
-        if ($cond1342) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1004;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        __THREW__ = 0;
-        $1005 = (invoke_iiii(139,($1|0),($27|0),($1001|0))|0);
-        $1006 = __THREW__; __THREW__ = 0;
-        if ((($1006|0) != 0) & ((threwValue|0) != 0)) { $1007 = _testSetjmp(HEAP32[$1006>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1007|0) == 0) { _longjmp($1006|0, threwValue|0); } tempRet0 = (threwValue); } else { $1007 = -1; };
-        $1008 = tempRet0;
-        $cond1343 = ($1007|0)==(1);
-        if ($cond1343) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1008;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $1009 = ($974|0)==(127);
-        if (!($1009)) {
-         $1019 = (($$51058) + ($972<<3)|0);
-         $1020 = ((($1019)) + 16|0);
-         $1021 = (($$51058) + ($972<<3)|0);
-         $1022 = ((($1021)) + 8|0);
-         $1023 = (($974) + 1)|0;
-         __THREW__ = 0;
-         invoke_viii(170,($1020|0),($1022|0),($1023|0));
-         $1024 = __THREW__; __THREW__ = 0;
-         if ((($1024|0) != 0) & ((threwValue|0) != 0)) { $1025 = _testSetjmp(HEAP32[$1024>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1025|0) == 0) { _longjmp($1024|0, threwValue|0); } tempRet0 = (threwValue); } else { $1025 = -1; };
-         $1026 = tempRet0;
-         $cond1344 = ($1025|0)==(1);
-         if ($cond1344) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1026;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-         $1027 = (($972) + 1)|0;
-         $1028 = (($$51058) + ($1027<<3)|0);
-         $1029 = ((($1028)) + 4|0);
-         HEAP32[$1029>>2] = 4;
-         $1030 = HEAP32[$969>>2]|0;
-         $1031 = (($972) + 1)|0;
-         $1032 = (($$51058) + ($1031<<3)|0);
-         HEAP32[$1032>>2] = $1030;
-         $$01034 = $1023;$$01035 = $1001;$$01036 = $1005;
-         break;
-        }
-        $1010 = (($972) + 1)|0;
-        $1011 = (($$51058) + ($1010<<3)|0);
-        $1012 = HEAP32[$969>>2]|0;
-        __THREW__ = 0;
-        invoke_vii(143,($31|0),($1012|0));
-        $1013 = __THREW__; __THREW__ = 0;
-        if ((($1013|0) != 0) & ((threwValue|0) != 0)) { $1014 = _testSetjmp(HEAP32[$1013>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1014|0) == 0) { _longjmp($1013|0, threwValue|0); } tempRet0 = (threwValue); } else { $1014 = -1; };
-        $1015 = tempRet0;
-        $cond1345 = ($1014|0)==(1);
-        if ($cond1345) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1015;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        __THREW__ = 0;
-        ;HEAP32[$$byval_copy1112>>2]=HEAP32[$1011>>2]|0;HEAP32[$$byval_copy1112+4>>2]=HEAP32[$1011+4>>2]|0;
-        ;HEAP32[$$byval_copy1113>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy1113+4>>2]=HEAP32[$31+4>>2]|0;
-        invoke_viiii(169,($32|0),($1|0),($$byval_copy1112|0),($$byval_copy1113|0));
-        $1016 = __THREW__; __THREW__ = 0;
-        if ((($1016|0) != 0) & ((threwValue|0) != 0)) { $1017 = _testSetjmp(HEAP32[$1016>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1017|0) == 0) { _longjmp($1016|0, threwValue|0); } tempRet0 = (threwValue); } else { $1017 = -1; };
-        $1018 = tempRet0;
-        $cond1346 = ($1017|0)==(1);
-        if ($cond1346) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1018;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $$01034 = $974;$$01035 = $1001;$$01036 = $1005;
-       }
-      } while(0);
-      __THREW__ = 0;
-      $1033 = (invoke_ii(141,($1|0))|0);
-      $1034 = __THREW__; __THREW__ = 0;
-      if ((($1034|0) != 0) & ((threwValue|0) != 0)) { $1035 = _testSetjmp(HEAP32[$1034>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1035|0) == 0) { _longjmp($1034|0, threwValue|0); } tempRet0 = (threwValue); } else { $1035 = -1; };
-      $1036 = tempRet0;
-      $cond1347 = ($1035|0)==(1);
-      if ($cond1347) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1036;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      HEAP32[$1033>>2] = $$01035;
-      $1037 = ((($1033)) + 4|0);
-      HEAP32[$1037>>2] = $$01036;
-      $1038 = ((($1)) + 12|0);
-      $1039 = HEAP32[$1038>>2]|0;
-      $1040 = ((($1039)) + 4|0);
-      $1041 = HEAP32[$1040>>2]|0;
-      $1042 = ((($1033)) + 8|0);
-      HEAP32[$1042>>2] = $1041;
-      $1043 = ($$01034|0)==(127);
-      $$sink10 = $1043 ? $1033 : $1033;
-      $$sink8 = $1043 ? -1 : $$01034;
-      $1044 = ((($$sink10)) + 36|0);
-      HEAP32[$1044>>2] = $$sink8;
-      $1045 = HEAP32[$27>>2]|0;
-      $1046 = ((($1033)) + 44|0);
-      HEAP32[$1046>>2] = $1045;
-      $1047 = ((($$61078)) + 4|0);
-      $1048 = ((($1033)) + 28|0);
-      HEAP32[$1048>>2] = $1047;
-      $1049 = ((($1)) + 12|0);
-      $1050 = HEAP32[$1049>>2]|0;
-      $1051 = ((($1050)) + 4|0);
-      $1052 = HEAP32[$1051>>2]|0;
-      $1053 = (($1052) + ($972<<3)|0);
-      HEAP32[$1051>>2] = $1053;
-      $1054 = ((($1)) + 12|0);
-      $1055 = HEAP32[$1054>>2]|0;
-      $1056 = ((($1055)) + 4|0);
-      $1057 = HEAP32[$1056>>2]|0;
-      ;HEAP32[$1057>>2]=HEAP32[$26>>2]|0;HEAP32[$1057+4>>2]=HEAP32[$26+4>>2]|0;
-      $1058 = HEAP32[$$01036>>2]|0;
-      $1059 = $1058 >>> 11;
-      $1060 = $1059 & 128;
-      $1061 = ($1060|0)!=(0);
-      if ($1061) {
-       $1062 = ($$01034|0)==(127);
-       if ($1062) {
-        $$sink11$reg2mem$0 = 3;
-       } else {
-        $1063 = (($$01034) + 2)|0;
-        $$sink11$reg2mem$0 = $1063;
-       }
-       $1064 = ((($1033)) + 12|0);
-       HEAP32[$1064>>2] = $$sink11$reg2mem$0;
-       $1065 = ((($1)) + 12|0);
-       $1066 = HEAP32[$1065>>2]|0;
-       $1067 = ((($1066)) + 4|0);
-       $1068 = HEAP32[$1067>>2]|0;
-       $1069 = ((($$01036)) + 12|0);
-       $1070 = HEAP32[$1069>>2]|0;
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy1114>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy1114+4>>2]=HEAP32[$26+4>>2]|0;
-       invoke_viii($1070|0,($33|0),($1|0),($$byval_copy1114|0));
-       $1071 = __THREW__; __THREW__ = 0;
-       if ((($1071|0) != 0) & ((threwValue|0) != 0)) { $1072 = _testSetjmp(HEAP32[$1071>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1072|0) == 0) { _longjmp($1071|0, threwValue|0); } tempRet0 = (threwValue); } else { $1072 = -1; };
-       $1073 = tempRet0;
-       $cond1350 = ($1072|0)==(1);
-       if ($cond1350) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1073;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$1068>>2]=HEAP32[$33>>2]|0;HEAP32[$1068+4>>2]=HEAP32[$33+4>>2]|0;
-       __THREW__ = 0;
-       invoke_vii(146,($1|0),($$11049|0));
-       $1074 = __THREW__; __THREW__ = 0;
-       if ((($1074|0) != 0) & ((threwValue|0) != 0)) { $1075 = _testSetjmp(HEAP32[$1074>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1075|0) == 0) { _longjmp($1074|0, threwValue|0); } tempRet0 = (threwValue); } else { $1075 = -1; };
-       $1076 = tempRet0;
-       $cond1351 = ($1075|0)==(1);
-       if ($cond1351) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1076;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $1077 = ((($1)) + 20|0);
-       $1078 = HEAP32[$1077>>2]|0;
-       $1079 = ($1078|0)!=(0|0);
-       if ($1079) {
-        $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-        label = 272;
-        continue L19;
-       }
-       $1080 = ((($1)) + 12|0);
-       $1081 = HEAP32[$1080>>2]|0;
-       $1082 = ((($1081)) + 16|0);
-       $1083 = HEAP32[$1082>>2]|0;
-       $1084 = ((($1083)) + 8|0);
-       $1085 = HEAP32[$1084>>2]|0;
-       $1086 = ((($1)) + 12|0);
-       $1087 = HEAP32[$1086>>2]|0;
-       $1088 = ((($1087)) + 4|0);
-       HEAP32[$1088>>2] = $1085;
-       __THREW__ = 0;
-       invoke_vi(132,($1|0));
-       $1089 = __THREW__; __THREW__ = 0;
-       if ((($1089|0) != 0) & ((threwValue|0) != 0)) { $1090 = _testSetjmp(HEAP32[$1089>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1090|0) == 0) { _longjmp($1089|0, threwValue|0); } tempRet0 = (threwValue); } else { $1090 = -1; };
-       $1091 = tempRet0;
-       $cond1352 = ($1090|0)==(1);
-       if ($cond1352) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $1085;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1091;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $1092 = ((($$61078)) + 4|0);
-       $1093 = HEAP32[$1092>>2]|0;
-       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$5$phi = $$5;$$21052 = $1093;$$51058 = $1085;$$61078 = $1092;$$sink$reg2mem$0 = $1093;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$5 = $$5$phi;
-       label = 583;
-       continue L19;
-      } else {
-       $1094 = ((($1033)) + 40|0);
-       HEAP32[$1094>>2] = $972;
-       $1095 = ((($1033)) + 4|0);
-       HEAP32[$1095>>2] = $$01036;
-       $1096 = ((($$01036)) + 12|0);
-       $1097 = HEAP32[$1096>>2]|0;
-       $1098 = ((($1097)) + 12|0);
-       $1099 = HEAP32[$1098>>2]|0;
-       $1100 = ((($1097)) + 16|0);
-       $1101 = HEAP32[$1100>>2]|0;
-       $1102 = ((($1097)) + 2|0);
-       $1103 = HEAP16[$1102>>1]|0;
-       $1104 = $1103&65535;
-       $1105 = ((($1033)) + 12|0);
-       HEAP32[$1105>>2] = $1104;
-       $1106 = ($$01034|0)==(127);
-       $1107 = ((($1097)) + 2|0);
-       $1108 = HEAP16[$1107>>1]|0;
-       $1109 = $1108&65535;
-       if ($1106) {
-        $1110 = ($1109|0)<(3);
-        if ($1110) {
-         $$reg2mem996$0 = 3;
-        } else {
-         $1111 = ((($1097)) + 2|0);
-         $1112 = HEAP16[$1111>>1]|0;
-         $1113 = $1112&65535;
-         $$reg2mem996$0 = $1113;
-        }
-        __THREW__ = 0;
-        invoke_viii(142,($1|0),($$reg2mem996$0|0),3);
-        $1114 = __THREW__; __THREW__ = 0;
-        if ((($1114|0) != 0) & ((threwValue|0) != 0)) { $1115 = _testSetjmp(HEAP32[$1114>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1115|0) == 0) { _longjmp($1114|0, threwValue|0); } tempRet0 = (threwValue); } else { $1115 = -1; };
-        $1116 = tempRet0;
-        $cond1349 = ($1115|0)==(1);
-        if ($cond1349) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $1101;$$11066 = $1099;$$11073 = $$61078;$$11080 = $1097;$$11087 = $$81094;$$reg2mem1002$0 = $1116;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-       } else {
-        $1117 = ((($1033)) + 36|0);
-        $1118 = HEAP32[$1117>>2]|0;
-        $1119 = (($1118) + 2)|0;
-        __THREW__ = 0;
-        invoke_viii(142,($1|0),($1109|0),($1119|0));
-        $1120 = __THREW__; __THREW__ = 0;
-        if ((($1120|0) != 0) & ((threwValue|0) != 0)) { $1121 = _testSetjmp(HEAP32[$1120>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1121|0) == 0) { _longjmp($1120|0, threwValue|0); } tempRet0 = (threwValue); } else { $1121 = -1; };
-        $1122 = tempRet0;
-        $cond1348 = ($1121|0)==(1);
-        if ($cond1348) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $1101;$$11066 = $1099;$$11073 = $$61078;$$11080 = $1097;$$11087 = $$81094;$$reg2mem1002$0 = $1122;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-       }
-       $1123 = ((($1)) + 12|0);
-       $1124 = HEAP32[$1123>>2]|0;
-       $1125 = ((($1124)) + 4|0);
-       $1126 = HEAP32[$1125>>2]|0;
-       $1127 = ((($1097)) + 8|0);
-       $1128 = HEAP32[$1127>>2]|0;
-       $1129 = HEAP32[$1128>>2]|0;
-       $$81094$phi = $$81094;$$5$phi = $$5;$$21052 = $1129;$$51058 = $1126;$$6 = $1101;$$61071 = $1099;$$61078 = $1128;$$8 = $1097;$$sink$reg2mem$0 = $1129;$$81094 = $$81094$phi;$$5 = $$5$phi;
-       label = 583;
-       continue L19;
-      }
-      break;
-     }
-     case 38:  {
-      $1130 = $$21052 >>> 23;
-      $1131 = $1130 & 511;
-      $1132 = $$21052 >>> 7;
-      $1133 = $1132 & 65535;
-      $1134 = $1133 >> 10;
-      $1135 = $1134 & 63;
-      $1136 = $1133 >> 9;
-      $1137 = $1136 & 1;
-      $1138 = $1133 >> 4;
-      $1139 = $1138 & 31;
-      $1140 = $1133 >> 0;
-      $1141 = $1140 & 15;
-      $1142 = ($1141|0)==(0);
-      do {
-       if ($1142) {
-        $1143 = ((($$51058)) + 8|0);
-        $$01033 = $1143;
-       } else {
-        $1144 = (($1141) - 1)|0;
-        __THREW__ = 0;
-        $1145 = (invoke_iii(161,($1|0),($1144|0))|0);
-        $1146 = __THREW__; __THREW__ = 0;
-        if ((($1146|0) != 0) & ((threwValue|0) != 0)) { $1147 = _testSetjmp(HEAP32[$1146>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1147|0) == 0) { _longjmp($1146|0, threwValue|0); } tempRet0 = (threwValue); } else { $1147 = -1; };
-        $1148 = tempRet0;
-        $cond1332 = ($1147|0)==(1);
-        if ($cond1332) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1148;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $1149 = ($1145|0)!=(0|0);
-        if ($1149) {
-         $1162 = ((($1145)) + 12|0);
-         $1163 = HEAP32[$1162>>2]|0;
-         $1164 = ((($1163)) + 8|0);
-         $$01033 = $1164;
-         break;
-        }
-        __THREW__ = 0;
-        $1150 = (invoke_iii(135,($1|0),(67968|0))|0);
-        $1151 = __THREW__; __THREW__ = 0;
-        if ((($1151|0) != 0) & ((threwValue|0) != 0)) { $1152 = _testSetjmp(HEAP32[$1151>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1152|0) == 0) { _longjmp($1151|0, threwValue|0); } tempRet0 = (threwValue); } else { $1152 = -1; };
-        $1153 = tempRet0;
-        $cond1333 = ($1152|0)==(1);
-        if ($cond1333) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1153;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        __THREW__ = 0;
-        invoke_viiii(171,($35|0),($1|0),(56724|0),30);
-        $1154 = __THREW__; __THREW__ = 0;
-        if ((($1154|0) != 0) & ((threwValue|0) != 0)) { $1155 = _testSetjmp(HEAP32[$1154>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1155|0) == 0) { _longjmp($1154|0, threwValue|0); } tempRet0 = (threwValue); } else { $1155 = -1; };
-        $1156 = tempRet0;
-        $cond1334 = ($1155|0)==(1);
-        if ($cond1334) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1156;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        __THREW__ = 0;
-        ;HEAP32[$$byval_copy1115>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy1115+4>>2]=HEAP32[$35+4>>2]|0;
-        invoke_viiii(172,($36|0),($1|0),($1150|0),($$byval_copy1115|0));
-        $1157 = __THREW__; __THREW__ = 0;
-        if ((($1157|0) != 0) & ((threwValue|0) != 0)) { $1158 = _testSetjmp(HEAP32[$1157>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1158|0) == 0) { _longjmp($1157|0, threwValue|0); } tempRet0 = (threwValue); } else { $1158 = -1; };
-        $1159 = tempRet0;
-        $cond1335 = ($1158|0)==(1);
-        if ($cond1335) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1159;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        ;HEAP32[$34>>2]=HEAP32[$36>>2]|0;HEAP32[$34+4>>2]=HEAP32[$36+4>>2]|0;
-        $1160 = HEAP32[$34>>2]|0;
-        $1161 = ((($1)) + 20|0);
-        HEAP32[$1161>>2] = $1160;
-        $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-        label = 272;
-        continue L19;
-       }
-      } while(0);
-      $1165 = ($1137|0)==(0);
-      if ($1165) {
-       $1166 = (($$51058) + ($1131<<3)|0);
-       $1167 = (($1135) + ($1139))|0;
-       __THREW__ = 0;
-       invoke_viiii(167,($37|0),($1|0),($1167|0),($$01033|0));
-       $1168 = __THREW__; __THREW__ = 0;
-       if ((($1168|0) != 0) & ((threwValue|0) != 0)) { $1169 = _testSetjmp(HEAP32[$1168>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1169|0) == 0) { _longjmp($1168|0, threwValue|0); } tempRet0 = (threwValue); } else { $1169 = -1; };
-       $1170 = tempRet0;
-       $cond1340 = ($1169|0)==(1);
-       if ($cond1340) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1170;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$1166>>2]=HEAP32[$37>>2]|0;HEAP32[$1166+4>>2]=HEAP32[$37+4>>2]|0;
-      } else {
-       $1171 = (($$01033) + ($1135<<3)|0);
-       $1172 = ((($1171)) + 4|0);
-       $1173 = HEAP32[$1172>>2]|0;
-       $1174 = ($1173|0)==(14);
-       if ($1174) {
-        $1175 = (($$01033) + ($1135<<3)|0);
-        $1176 = HEAP32[$1175>>2]|0;
-        $1177 = ((($1176)) + 20|0);
-        $1178 = HEAP32[$1177>>2]|0;
-        $1179 = ((($1176)) + 12|0);
-        $1180 = HEAP32[$1179>>2]|0;
-        $$01031 = $1180;$$01032 = $1178;
-       } else {
-        $$01031 = 0;$$01032 = 0;
-       }
-       $1181 = (($$51058) + ($1131<<3)|0);
-       $1182 = (($1135) + ($$01031))|0;
-       $1183 = (($1182) + ($1139))|0;
-       __THREW__ = 0;
-       invoke_viii(173,($38|0),($1|0),($1183|0));
-       $1184 = __THREW__; __THREW__ = 0;
-       if ((($1184|0) != 0) & ((threwValue|0) != 0)) { $1185 = _testSetjmp(HEAP32[$1184>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1185|0) == 0) { _longjmp($1184|0, threwValue|0); } tempRet0 = (threwValue); } else { $1185 = -1; };
-       $1186 = tempRet0;
-       $cond1336 = ($1185|0)==(1);
-       if ($cond1336) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1186;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$1181>>2]=HEAP32[$38>>2]|0;HEAP32[$1181+4>>2]=HEAP32[$38+4>>2]|0;
-       $1187 = (($$51058) + ($1131<<3)|0);
-       $1188 = HEAP32[$1187>>2]|0;
-       $1189 = ($1135|0)>(0);
-       if ($1189) {
-        $1190 = ((($1188)) + 20|0);
-        $1191 = HEAP32[$1190>>2]|0;
-        __THREW__ = 0;
-        invoke_viii(144,($1191|0),($$01033|0),($1135|0));
-        $1192 = __THREW__; __THREW__ = 0;
-        if ((($1192|0) != 0) & ((threwValue|0) != 0)) { $1193 = _testSetjmp(HEAP32[$1192>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1193|0) == 0) { _longjmp($1192|0, threwValue|0); } tempRet0 = (threwValue); } else { $1193 = -1; };
-        $1194 = tempRet0;
-        $cond1339 = ($1193|0)==(1);
-        if ($cond1339) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1194;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-       }
-       $1195 = ($$01031|0)>(0);
-       if ($1195) {
-        $1196 = ((($1188)) + 20|0);
-        $1197 = HEAP32[$1196>>2]|0;
-        $1198 = (($1197) + ($1135<<3)|0);
-        __THREW__ = 0;
-        invoke_viii(144,($1198|0),($$01032|0),($$01031|0));
-        $1199 = __THREW__; __THREW__ = 0;
-        if ((($1199|0) != 0) & ((threwValue|0) != 0)) { $1200 = _testSetjmp(HEAP32[$1199>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1200|0) == 0) { _longjmp($1199|0, threwValue|0); } tempRet0 = (threwValue); } else { $1200 = -1; };
-        $1201 = tempRet0;
-        $cond1338 = ($1200|0)==(1);
-        if ($cond1338) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1201;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-       }
-       $1202 = ($1139|0)>(0);
-       if ($1202) {
-        $1203 = ((($1188)) + 20|0);
-        $1204 = HEAP32[$1203>>2]|0;
-        $1205 = (($1204) + ($1135<<3)|0);
-        $1206 = (($1205) + ($$01031<<3)|0);
-        $1207 = (($$01033) + ($1135<<3)|0);
-        $1208 = ((($1207)) + 8|0);
-        __THREW__ = 0;
-        invoke_viii(144,($1206|0),($1208|0),($1139|0));
-        $1209 = __THREW__; __THREW__ = 0;
-        if ((($1209|0) != 0) & ((threwValue|0) != 0)) { $1210 = _testSetjmp(HEAP32[$1209>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1210|0) == 0) { _longjmp($1209|0, threwValue|0); } tempRet0 = (threwValue); } else { $1210 = -1; };
-        $1211 = tempRet0;
-        $cond1337 = ($1210|0)==(1);
-        if ($cond1337) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1211;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-       }
-       $1212 = (($1135) + ($$01031))|0;
-       $1213 = (($1212) + ($1139))|0;
-       $1214 = ((($1188)) + 12|0);
-       HEAP32[$1214>>2] = $1213;
-      }
-      $1215 = (($1131) + 1)|0;
-      $1216 = (($$51058) + ($1215<<3)|0);
-      $1217 = (($1135) + ($1137))|0;
-      $1218 = (($1217) + ($1139))|0;
-      $1219 = (($$01033) + ($1218<<3)|0);
-      ;HEAP32[$1216>>2]=HEAP32[$1219>>2]|0;HEAP32[$1216+4>>2]=HEAP32[$1219+4>>2]|0;
-      $1220 = ((($1)) + 92|0);
-      $1221 = ((($1220)) + 416|0);
-      HEAP32[$1221>>2] = $$11049;
-      $1222 = ((($$61078)) + 4|0);
-      $1223 = HEAP32[$1222>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1223;$$61078 = $1222;$$sink$reg2mem$0 = $1223;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 39:  {
-      $1224 = $$21052 >>> 7;
-      $1225 = $1224 & 33554431;
-      $1226 = $1225 >>> 18;
-      $1227 = $1226 & 31;
-      $1228 = $1225 >>> 13;
-      $1229 = $1228 & 31;
-      $1230 = $1225 >>> 12;
-      $1231 = $1230 & 1;
-      $1232 = $1225 >>> 7;
-      $1233 = $1232 & 31;
-      $1234 = ((($1)) + 12|0);
-      $1235 = HEAP32[$1234>>2]|0;
-      $1236 = ((($1235)) + 16|0);
-      $1237 = HEAP32[$1236>>2]|0;
-      $1238 = ((($1237)) + 36|0);
-      $1239 = HEAP32[$1238>>2]|0;
-      $1240 = ((($$51058)) + 8|0);
-      $1241 = (($1227) + ($1229))|0;
-      $1242 = (($1241) + ($1231))|0;
-      $1243 = (($1242) + ($1233))|0;
-      $1244 = ($1239|0)<(0);
-      $1245 = $1244 ? 1 : $1239;
-      $1246 = (($1240) + ($1245<<3)|0);
-      $1247 = ((($1246)) + 4|0);
-      $1248 = HEAP32[$1247>>2]|0;
-      $1249 = ($1248|0)==(0);
-      if ($1249) {
-       $1250 = HEAP32[$1246>>2]|0;
-       $1251 = ($1250|0)!=(0);
-       if ($1251) {
-        label = 218;
-       }
-      } else {
-       label = 218;
-      }
-      if ((label|0) == 218) {
-       label = 0;
-       $1252 = ((($1246)) + 4|0);
-       $1253 = HEAP32[$1252>>2]|0;
-       $1254 = ($1253|0)!=(13);
-       if ($1254) {
-        __THREW__ = 0;
-        ;HEAP32[$$byval_copy1116>>2]=HEAP32[$1246>>2]|0;HEAP32[$$byval_copy1116+4>>2]=HEAP32[$1246+4>>2]|0;
-        invoke_viiiiii(174,($39|0),($1|0),($$byval_copy1116|0),13,(65614|0),(56755|0));
-        $1255 = __THREW__; __THREW__ = 0;
-        if ((($1255|0) != 0) & ((threwValue|0) != 0)) { $1256 = _testSetjmp(HEAP32[$1255>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1256|0) == 0) { _longjmp($1255|0, threwValue|0); } tempRet0 = (threwValue); } else { $1256 = -1; };
-        $1257 = tempRet0;
-        $cond1331 = ($1256|0)==(1);
-        if ($cond1331) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1257;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        ;HEAP32[$1246>>2]=HEAP32[$39>>2]|0;HEAP32[$1246+4>>2]=HEAP32[$39+4>>2]|0;
-       }
-      }
-      $1258 = ($1239|0)<(0);
-      if ($1258) {
-       $1259 = ((($$51058)) + 8|0);
-       $1260 = HEAP32[$1259>>2]|0;
-       $1261 = ((($1260)) + 20|0);
-       $1262 = HEAP32[$1261>>2]|0;
-       $1263 = ((($1260)) + 12|0);
-       $1264 = HEAP32[$1263>>2]|0;
-       $1265 = ((($$51058)) + 8|0);
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy1117>>2]=HEAP32[$1265>>2]|0;HEAP32[$$byval_copy1117+4>>2]=HEAP32[$1265+4>>2]|0;
-       invoke_vii(148,($1|0),($$byval_copy1117|0));
-       $1266 = __THREW__; __THREW__ = 0;
-       if ((($1266|0) != 0) & ((threwValue|0) != 0)) { $1267 = _testSetjmp(HEAP32[$1266>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1267|0) == 0) { _longjmp($1266|0, threwValue|0); } tempRet0 = (threwValue); } else { $1267 = -1; };
-       $1268 = tempRet0;
-       $cond1330 = ($1267|0)==(1);
-       if ($cond1330) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1268;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $$01027 = $1262;$$01029 = $1264;
-      } else {
-       $$01027 = $1240;$$01029 = $1239;
-      }
-      $1269 = ((($1)) + 12|0);
-      $1270 = HEAP32[$1269>>2]|0;
-      $1271 = ((($1270)) + 16|0);
-      $1272 = HEAP32[$1271>>2]|0;
-      $1273 = ((($1272)) + 4|0);
-      $1274 = HEAP32[$1273>>2]|0;
-      $1275 = ($1274|0)!=(0|0);
-      do {
-       if ($1275) {
-        $1276 = ((($1)) + 12|0);
-        $1277 = HEAP32[$1276>>2]|0;
-        $1278 = ((($1277)) + 16|0);
-        $1279 = HEAP32[$1278>>2]|0;
-        $1280 = ((($1279)) + 4|0);
-        $1281 = HEAP32[$1280>>2]|0;
-        $1282 = HEAP32[$1281>>2]|0;
-        $1283 = $1282 >>> 11;
-        $1284 = $1283 & 256;
-        $1285 = ($1284|0)!=(0);
-        if ($1285) {
-         $1286 = ($$01029|0)>=(0);
-         if ($1286) {
-          $1287 = (($1227) + ($1233))|0;
-          $1288 = ($$01029|0)<($1287|0);
-          if (!($1288)) {
-           $1289 = ($1231|0)==(0);
-           if (!($1289)) {
-            $$11028 = $$01027;$$11030 = $$01029;
-            break;
-           }
-           $1290 = ($$01029|0)>($1243|0);
-           if (!($1290)) {
-            $$11028 = $$01027;$$11030 = $$01029;
-            break;
-           }
-          }
-          $1291 = (($1227) + ($1233))|0;
-          __THREW__ = 0;
-          invoke_vii(175,($1|0),($1291|0));
-          $1292 = __THREW__; __THREW__ = 0;
-          if ((($1292|0) != 0) & ((threwValue|0) != 0)) { $1293 = _testSetjmp(HEAP32[$1292>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1293|0) == 0) { _longjmp($1292|0, threwValue|0); } tempRet0 = (threwValue); } else { $1293 = -1; };
-          $1294 = tempRet0;
-          $cond1329 = ($1293|0)==(1);
-          if ($cond1329) {
-           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1294;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-           continue L3;
-          }
-          $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-          label = 272;
-          continue L19;
-         } else {
-          $$11028 = $$01027;$$11030 = $$01029;
-         }
-        } else {
-         label = 232;
-        }
-       } else {
-        label = 232;
-       }
-      } while(0);
-      if ((label|0) == 232) {
-       label = 0;
-       $1295 = ($1243|0)>(1);
-       $1296 = ($$01029|0)==(1);
-       $or$cond = $1295 & $1296;
-       if ($or$cond) {
-        $1297 = ((($$01027)) + 4|0);
-        $1298 = HEAP32[$1297>>2]|0;
-        $1299 = ($1298|0)==(14);
-        if ($1299) {
-         __THREW__ = 0;
-         ;HEAP32[$$byval_copy1118>>2]=HEAP32[$$01027>>2]|0;HEAP32[$$byval_copy1118+4>>2]=HEAP32[$$01027+4>>2]|0;
-         invoke_vii(148,($1|0),($$byval_copy1118|0));
-         $1300 = __THREW__; __THREW__ = 0;
-         if ((($1300|0) != 0) & ((threwValue|0) != 0)) { $1301 = _testSetjmp(HEAP32[$1300>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1301|0) == 0) { _longjmp($1300|0, threwValue|0); } tempRet0 = (threwValue); } else { $1301 = -1; };
-         $1302 = tempRet0;
-         $cond1328 = ($1301|0)==(1);
-         if ($cond1328) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1302;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-         $1303 = HEAP32[$$01027>>2]|0;
-         $1304 = ((($1303)) + 12|0);
-         $1305 = HEAP32[$1304>>2]|0;
-         $1306 = HEAP32[$$01027>>2]|0;
-         $1307 = ((($1306)) + 20|0);
-         $1308 = HEAP32[$1307>>2]|0;
-         $$11028 = $1308;$$11030 = $1305;
-        } else {
-         $$11028 = $$01027;$$11030 = $$01029;
-        }
-       } else {
-        $$11028 = $$01027;$$11030 = $$01029;
-       }
-      }
-      $1309 = ((($1)) + 12|0);
-      $1310 = HEAP32[$1309>>2]|0;
-      $1311 = ((($1310)) + 16|0);
-      $1312 = HEAP32[$1311>>2]|0;
-      $1313 = ((($1312)) + 36|0);
-      HEAP32[$1313>>2] = $1243;
-      $1314 = ($$11030|0)<($1243|0);
-      do {
-       if ($1314) {
-        $1315 = (($1227) + ($1233))|0;
-        $1316 = ($$11030|0)<($1315|0);
-        do {
-         if ($1316) {
-          $1317 = ($1227|0)<($$11030|0);
-          if ($1317) {
-           $1318 = (($$11030) - ($1227))|0;
-           $$01026 = $1318;
-           break;
-          } else {
-           $$01026 = 0;
-           break;
-          }
-         } else {
-          $$01026 = $1233;
-         }
-        } while(0);
-        $1319 = (($1243) + 1)|0;
-        $1320 = (($$51058) + ($1319<<3)|0);
-        ;HEAP32[$1320>>2]=HEAP32[$1246>>2]|0;HEAP32[$1320+4>>2]=HEAP32[$1246+4>>2]|0;
-        $1321 = (($$11030) + 1)|0;
-        $1322 = (($$51058) + ($1321<<3)|0);
-        $1323 = ((($1322)) + 4|0);
-        HEAP32[$1323>>2] = 0;
-        $1324 = (($$11030) + 1)|0;
-        $1325 = (($$51058) + ($1324<<3)|0);
-        HEAP32[$1325>>2] = 0;
-        $1326 = ($1240|0)!=($$11028|0);
-        if ($1326) {
-         $1327 = ((($$51058)) + 8|0);
-         $1328 = (($$11030) - ($$01026))|0;
-         __THREW__ = 0;
-         invoke_viii(170,($1327|0),($$11028|0),($1328|0));
-         $1329 = __THREW__; __THREW__ = 0;
-         if ((($1329|0) != 0) & ((threwValue|0) != 0)) { $1330 = _testSetjmp(HEAP32[$1329>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1330|0) == 0) { _longjmp($1329|0, threwValue|0); } tempRet0 = (threwValue); } else { $1330 = -1; };
-         $1331 = tempRet0;
-         $cond1327 = ($1330|0)==(1);
-         if ($cond1327) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1331;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-        }
-        $1332 = ($$01026|0)!=(0);
-        if ($1332) {
-         $1333 = (($1243) - ($1233))|0;
-         $1334 = (($1333) + 1)|0;
-         $1335 = (($$51058) + ($1334<<3)|0);
-         $1336 = (($$11030) - ($$01026))|0;
-         $1337 = (($$11028) + ($1336<<3)|0);
-         __THREW__ = 0;
-         invoke_viii(170,($1335|0),($1337|0),($$01026|0));
-         $1338 = __THREW__; __THREW__ = 0;
-         if ((($1338|0) != 0) & ((threwValue|0) != 0)) { $1339 = _testSetjmp(HEAP32[$1338>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1339|0) == 0) { _longjmp($1338|0, threwValue|0); } tempRet0 = (threwValue); } else { $1339 = -1; };
-         $1340 = tempRet0;
-         $cond1326 = ($1339|0)==(1);
-         if ($cond1326) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1340;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-        }
-        $1341 = ($1231|0)!=(0);
-        if ($1341) {
-         $1342 = (($1227) + ($1229))|0;
-         $1343 = (($1342) + 1)|0;
-         $1344 = (($$51058) + ($1343<<3)|0);
-         __THREW__ = 0;
-         invoke_viii(173,($40|0),($1|0),0);
-         $1345 = __THREW__; __THREW__ = 0;
-         if ((($1345|0) != 0) & ((threwValue|0) != 0)) { $1346 = _testSetjmp(HEAP32[$1345>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1346|0) == 0) { _longjmp($1345|0, threwValue|0); } tempRet0 = (threwValue); } else { $1346 = -1; };
-         $1347 = tempRet0;
-         $cond1325 = ($1346|0)==(1);
-         if ($cond1325) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1347;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-         ;HEAP32[$1344>>2]=HEAP32[$40>>2]|0;HEAP32[$1344+4>>2]=HEAP32[$40+4>>2]|0;
-        }
-        $1348 = ($1229|0)==(0);
-        if (!($1348)) {
-         $1349 = (($1227) + ($1233))|0;
-         $1350 = ($$11030|0)<($1349|0);
-         if (!($1350)) {
-          $1352 = (($$11030) - ($1227))|0;
-          $1353 = (($1352) - ($1233))|0;
-          $1354 = (($1353) + 1)|0;
-          $1355 = (($$61078) + ($1354<<2)|0);
-          $$21074 = $1355;
-          break;
-         }
-        }
-        $1351 = ((($$61078)) + 4|0);
-        $$21074 = $1351;
-       } else {
-        $1356 = ($1240|0)!=($$11028|0);
-        if ($1356) {
-         $1357 = (($1243) + 1)|0;
-         $1358 = (($$51058) + ($1357<<3)|0);
-         ;HEAP32[$1358>>2]=HEAP32[$1246>>2]|0;HEAP32[$1358+4>>2]=HEAP32[$1246+4>>2]|0;
-         $1359 = ((($$51058)) + 8|0);
-         $1360 = (($1227) + ($1229))|0;
-         __THREW__ = 0;
-         invoke_viii(170,($1359|0),($$11028|0),($1360|0));
-         $1361 = __THREW__; __THREW__ = 0;
-         if ((($1361|0) != 0) & ((threwValue|0) != 0)) { $1362 = _testSetjmp(HEAP32[$1361>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1362|0) == 0) { _longjmp($1361|0, threwValue|0); } tempRet0 = (threwValue); } else { $1362 = -1; };
-         $1363 = tempRet0;
-         $cond1324 = ($1362|0)==(1);
-         if ($cond1324) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1363;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-        }
-        $1364 = ($1231|0)!=(0);
-        if ($1364) {
-         $1365 = (($$11030) - ($1227))|0;
-         $1366 = (($1365) - ($1229))|0;
-         $1367 = (($1366) - ($1233))|0;
-         $1368 = (($1227) + ($1229))|0;
-         $1369 = (($1368) + 1)|0;
-         $1370 = (($$51058) + ($1369<<3)|0);
-         $1371 = (($$11028) + ($1227<<3)|0);
-         $1372 = (($1371) + ($1229<<3)|0);
-         __THREW__ = 0;
-         invoke_viiii(167,($41|0),($1|0),($1367|0),($1372|0));
-         $1373 = __THREW__; __THREW__ = 0;
-         if ((($1373|0) != 0) & ((threwValue|0) != 0)) { $1374 = _testSetjmp(HEAP32[$1373>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1374|0) == 0) { _longjmp($1373|0, threwValue|0); } tempRet0 = (threwValue); } else { $1374 = -1; };
-         $1375 = tempRet0;
-         $cond1323 = ($1374|0)==(1);
-         if ($cond1323) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1375;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-         ;HEAP32[$1370>>2]=HEAP32[$41>>2]|0;HEAP32[$1370+4>>2]=HEAP32[$41+4>>2]|0;
-         $$01025 = $1367;
-        } else {
-         $$01025 = 0;
-        }
-        $1376 = ($1233|0)!=(0);
-        if ($1376) {
-         $1377 = (($$11030) - ($1233))|0;
-         $1378 = ($1377|0)>($1227|0);
-         if ($1378) {
-          $1379 = (($1227) + ($1229))|0;
-          $1380 = (($1379) + ($1231))|0;
-          $1381 = (($1380) + 1)|0;
-          $1382 = (($$51058) + ($1381<<3)|0);
-          $1383 = (($1227) + ($1229))|0;
-          $1384 = (($1383) + ($$01025))|0;
-          $1385 = (($$11028) + ($1384<<3)|0);
-          __THREW__ = 0;
-          invoke_viii(170,($1382|0),($1385|0),($1233|0));
-          $1386 = __THREW__; __THREW__ = 0;
-          if ((($1386|0) != 0) & ((threwValue|0) != 0)) { $1387 = _testSetjmp(HEAP32[$1386>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1387|0) == 0) { _longjmp($1386|0, threwValue|0); } tempRet0 = (threwValue); } else { $1387 = -1; };
-          $1388 = tempRet0;
-          $cond1322 = ($1387|0)==(1);
-          if ($cond1322) {
-           $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1388;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-           continue L3;
-          }
-         }
-        }
-        $1389 = ($1240|0)==($$11028|0);
-        if ($1389) {
-         $1390 = (($1243) + 1)|0;
-         $1391 = (($$51058) + ($1390<<3)|0);
-         ;HEAP32[$1391>>2]=HEAP32[$1246>>2]|0;HEAP32[$1391+4>>2]=HEAP32[$1246+4>>2]|0;
-        }
-        $1392 = (($1229) + 1)|0;
-        $1393 = (($$61078) + ($1392<<2)|0);
-        $$21074 = $1393;
-       }
-      } while(0);
-      $1394 = HEAP32[$$21074>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1394;$$61078 = $$21074;$$sink$reg2mem$0 = $1394;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 40:  {
-      $1395 = ((($$61078)) + 4|0);
-      $1396 = HEAP32[$1395>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1396;$$61078 = $1395;$$sink$reg2mem$0 = $1396;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 41:  {
-      $1397 = ((($$61078)) + 4|0);
-      $1398 = HEAP32[$1397>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1398;$$61078 = $1397;$$sink$reg2mem$0 = $1398;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 42:  {
-      $$11051 = $$21052;$$41083 = $$8;$$41090 = $$81094;
-      break;
-     }
-     case 43:  {
-      $1760 = $$21052 >>> 23;
-      $1761 = $1760 & 511;
-      $1762 = $$21052 >>> 7;
-      $1763 = $1762 & 127;
-      $1764 = $$21052 >>> 14;
-      $1765 = $1764 & 511;
-      $1766 = (($$6) + ($1765<<2)|0);
-      $1767 = HEAP32[$1766>>2]|0;
-      $1768 = (($$51058) + ($1761<<3)|0);
-      ;HEAP32[$48>>2]=HEAP32[$1768>>2]|0;HEAP32[$48+4>>2]=HEAP32[$1768+4>>2]|0;
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1122>>2]=HEAP32[$48>>2]|0;HEAP32[$$byval_copy1122+4>>2]=HEAP32[$48+4>>2]|0;
-      $1769 = (invoke_iii(138,($1|0),($$byval_copy1122|0))|0);
-      $1770 = __THREW__; __THREW__ = 0;
-      if ((($1770|0) != 0) & ((threwValue|0) != 0)) { $1771 = _testSetjmp(HEAP32[$1770>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1771|0) == 0) { _longjmp($1770|0, threwValue|0); } tempRet0 = (threwValue); } else { $1771 = -1; };
-      $1772 = tempRet0;
-      $cond1300 = ($1771|0)==(1);
-      if ($cond1300) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1772;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      HEAP32[$47>>2] = $1769;
-      __THREW__ = 0;
-      $1773 = (invoke_iiii(139,($1|0),($47|0),($1767|0))|0);
-      $1774 = __THREW__; __THREW__ = 0;
-      if ((($1774|0) != 0) & ((threwValue|0) != 0)) { $1775 = _testSetjmp(HEAP32[$1774>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1775|0) == 0) { _longjmp($1774|0, threwValue|0); } tempRet0 = (threwValue); } else { $1775 = -1; };
-      $1776 = tempRet0;
-      $cond1301 = ($1775|0)==(1);
-      if ($cond1301) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1776;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $1777 = ($1773|0)!=(0|0);
-      do {
-       if ($1777) {
-        $$01015 = $1767;$$01016 = $1773;$$01017 = $1763;
-       } else {
-        __THREW__ = 0;
-        invoke_vii(143,($49|0),($1767|0));
-        $1778 = __THREW__; __THREW__ = 0;
-        if ((($1778|0) != 0) & ((threwValue|0) != 0)) { $1779 = _testSetjmp(HEAP32[$1778>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1779|0) == 0) { _longjmp($1778|0, threwValue|0); } tempRet0 = (threwValue); } else { $1779 = -1; };
-        $1780 = tempRet0;
-        $cond1302 = ($1779|0)==(1);
-        if ($cond1302) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1780;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        __THREW__ = 0;
-        $1781 = (invoke_iiii(140,($1|0),(65621|0),14)|0);
-        $1782 = __THREW__; __THREW__ = 0;
-        if ((($1782|0) != 0) & ((threwValue|0) != 0)) { $1783 = _testSetjmp(HEAP32[$1782>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1783|0) == 0) { _longjmp($1782|0, threwValue|0); } tempRet0 = (threwValue); } else { $1783 = -1; };
-        $1784 = tempRet0;
-        $cond1303 = ($1783|0)==(1);
-        if ($cond1303) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1784;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        __THREW__ = 0;
-        $1785 = (invoke_iiii(139,($1|0),($47|0),($1781|0))|0);
-        $1786 = __THREW__; __THREW__ = 0;
-        if ((($1786|0) != 0) & ((threwValue|0) != 0)) { $1787 = _testSetjmp(HEAP32[$1786>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1787|0) == 0) { _longjmp($1786|0, threwValue|0); } tempRet0 = (threwValue); } else { $1787 = -1; };
-        $1788 = tempRet0;
-        $cond1304 = ($1787|0)==(1);
-        if ($cond1304) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1788;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $1789 = ($1763|0)==(127);
-        if ($1789) {
-         $1790 = (($1761) + 1)|0;
-         $1791 = (($$51058) + ($1790<<3)|0);
-         __THREW__ = 0;
-         ;HEAP32[$$byval_copy1123>>2]=HEAP32[$1791>>2]|0;HEAP32[$$byval_copy1123+4>>2]=HEAP32[$1791+4>>2]|0;
-         ;HEAP32[$$byval_copy1124>>2]=HEAP32[$49>>2]|0;HEAP32[$$byval_copy1124+4>>2]=HEAP32[$49+4>>2]|0;
-         invoke_viiii(169,($50|0),($1|0),($$byval_copy1123|0),($$byval_copy1124|0));
-         $1792 = __THREW__; __THREW__ = 0;
-         if ((($1792|0) != 0) & ((threwValue|0) != 0)) { $1793 = _testSetjmp(HEAP32[$1792>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1793|0) == 0) { _longjmp($1792|0, threwValue|0); } tempRet0 = (threwValue); } else { $1793 = -1; };
-         $1794 = tempRet0;
-         $cond1306 = ($1793|0)==(1);
-         if ($cond1306) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1794;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-         $$01015 = $1781;$$01016 = $1785;$$01017 = $1763;
-         break;
-        } else {
-         $1795 = (($$51058) + ($1761<<3)|0);
-         $1796 = ((($1795)) + 16|0);
-         $1797 = (($$51058) + ($1761<<3)|0);
-         $1798 = ((($1797)) + 8|0);
-         $1799 = (($1763) + 1)|0;
-         __THREW__ = 0;
-         invoke_viii(170,($1796|0),($1798|0),($1799|0));
-         $1800 = __THREW__; __THREW__ = 0;
-         if ((($1800|0) != 0) & ((threwValue|0) != 0)) { $1801 = _testSetjmp(HEAP32[$1800>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1801|0) == 0) { _longjmp($1800|0, threwValue|0); } tempRet0 = (threwValue); } else { $1801 = -1; };
-         $1802 = tempRet0;
-         $cond1305 = ($1801|0)==(1);
-         if ($cond1305) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1802;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-         $1803 = (($1761) + 1)|0;
-         $1804 = (($$51058) + ($1803<<3)|0);
-         ;HEAP32[$1804>>2]=HEAP32[$49>>2]|0;HEAP32[$1804+4>>2]=HEAP32[$49+4>>2]|0;
-         $$01015 = $1781;$$01016 = $1785;$$01017 = $1799;
-         break;
-        }
-       }
-      } while(0);
-      $1805 = ((($1)) + 12|0);
-      $1806 = HEAP32[$1805>>2]|0;
-      $1807 = ((($1806)) + 16|0);
-      $1808 = HEAP32[$1807>>2]|0;
-      HEAP32[$1808>>2] = $$01015;
-      $1809 = HEAP32[$47>>2]|0;
-      $1810 = ((($1808)) + 44|0);
-      HEAP32[$1810>>2] = $1809;
-      $1811 = ($$01017|0)==(127);
-      $$sink19 = $1811 ? $1808 : $1808;
-      $$sink17 = $1811 ? -1 : $$01017;
-      $1812 = ((($$sink19)) + 36|0);
-      HEAP32[$1812>>2] = $$sink17;
-      $1813 = ((($1)) + 12|0);
-      $1814 = HEAP32[$1813>>2]|0;
-      $1815 = ((($1814)) + 4|0);
-      $1816 = HEAP32[$1815>>2]|0;
-      $1817 = (($$51058) + ($1761<<3)|0);
-      $1818 = ((($1808)) + 36|0);
-      $1819 = HEAP32[$1818>>2]|0;
-      $1820 = (($1819) + 1)|0;
-      __THREW__ = 0;
-      invoke_viii(170,($1816|0),($1817|0),($1820|0));
-      $1821 = __THREW__; __THREW__ = 0;
-      if ((($1821|0) != 0) & ((threwValue|0) != 0)) { $1822 = _testSetjmp(HEAP32[$1821>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1822|0) == 0) { _longjmp($1821|0, threwValue|0); } tempRet0 = (threwValue); } else { $1822 = -1; };
-      $1823 = tempRet0;
-      $cond1307 = ($1822|0)==(1);
-      if ($cond1307) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1823;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $1824 = HEAP32[$$01016>>2]|0;
-      $1825 = $1824 >>> 11;
-      $1826 = $1825 & 128;
-      $1827 = ($1826|0)!=(0);
-      if ($1827) {
-       $1828 = ((($1)) + 12|0);
-       $1829 = HEAP32[$1828>>2]|0;
-       $1830 = ((($1829)) + 4|0);
-       $1831 = HEAP32[$1830>>2]|0;
-       $1832 = ((($$01016)) + 12|0);
-       $1833 = HEAP32[$1832>>2]|0;
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy1125>>2]=HEAP32[$48>>2]|0;HEAP32[$$byval_copy1125+4>>2]=HEAP32[$48+4>>2]|0;
-       invoke_viii($1833|0,($51|0),($1|0),($$byval_copy1125|0));
-       $1834 = __THREW__; __THREW__ = 0;
-       if ((($1834|0) != 0) & ((threwValue|0) != 0)) { $1835 = _testSetjmp(HEAP32[$1834>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1835|0) == 0) { _longjmp($1834|0, threwValue|0); } tempRet0 = (threwValue); } else { $1835 = -1; };
-       $1836 = tempRet0;
-       $cond1310 = ($1835|0)==(1);
-       if ($cond1310) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1836;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$1831>>2]=HEAP32[$51>>2]|0;HEAP32[$1831+4>>2]=HEAP32[$51+4>>2]|0;
-       __THREW__ = 0;
-       invoke_vii(146,($1|0),($$11049|0));
-       $1837 = __THREW__; __THREW__ = 0;
-       if ((($1837|0) != 0) & ((threwValue|0) != 0)) { $1838 = _testSetjmp(HEAP32[$1837>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1838|0) == 0) { _longjmp($1837|0, threwValue|0); } tempRet0 = (threwValue); } else { $1838 = -1; };
-       $1839 = tempRet0;
-       $cond1311 = ($1838|0)==(1);
-       if ($cond1311) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1839;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $$31082 = $$8;$$31089 = $$81094;
-       label = 270;
-       break L50;
-      }
-      $1840 = ((($$01016)) + 12|0);
-      $1841 = HEAP32[$1840>>2]|0;
-      $1842 = ((($1841)) + 12|0);
-      $1843 = HEAP32[$1842>>2]|0;
-      $1844 = ((($1841)) + 16|0);
-      $1845 = HEAP32[$1844>>2]|0;
-      $1846 = ((($1808)) + 36|0);
-      $1847 = HEAP32[$1846>>2]|0;
-      $1848 = ($1847|0)<(0);
-      $1849 = ((($1841)) + 2|0);
-      $1850 = HEAP16[$1849>>1]|0;
-      $1851 = $1850&65535;
-      if ($1848) {
-       $1852 = ($1851|0)<(3);
-       if ($1852) {
-        $$reg2mem994$0 = 3;
-       } else {
-        $1853 = ((($1841)) + 2|0);
-        $1854 = HEAP16[$1853>>1]|0;
-        $1855 = $1854&65535;
-        $$reg2mem994$0 = $1855;
-       }
-       __THREW__ = 0;
-       invoke_viii(142,($1|0),($$reg2mem994$0|0),3);
-       $1856 = __THREW__; __THREW__ = 0;
-       if ((($1856|0) != 0) & ((threwValue|0) != 0)) { $1857 = _testSetjmp(HEAP32[$1856>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1857|0) == 0) { _longjmp($1856|0, threwValue|0); } tempRet0 = (threwValue); } else { $1857 = -1; };
-       $1858 = tempRet0;
-       $cond1309 = ($1857|0)==(1);
-       if ($cond1309) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $1845;$$11066 = $1843;$$11073 = $$61078;$$11080 = $1841;$$11087 = $$81094;$$reg2mem1002$0 = $1858;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-      } else {
-       $1859 = ((($1808)) + 36|0);
-       $1860 = HEAP32[$1859>>2]|0;
-       $1861 = (($1860) + 2)|0;
-       __THREW__ = 0;
-       invoke_viii(142,($1|0),($1851|0),($1861|0));
-       $1862 = __THREW__; __THREW__ = 0;
-       if ((($1862|0) != 0) & ((threwValue|0) != 0)) { $1863 = _testSetjmp(HEAP32[$1862>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1863|0) == 0) { _longjmp($1862|0, threwValue|0); } tempRet0 = (threwValue); } else { $1863 = -1; };
-       $1864 = tempRet0;
-       $cond1308 = ($1863|0)==(1);
-       if ($cond1308) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $1845;$$11066 = $1843;$$11073 = $$61078;$$11080 = $1841;$$11087 = $$81094;$$reg2mem1002$0 = $1864;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-      }
-      $1865 = ((($1)) + 12|0);
-      $1866 = HEAP32[$1865>>2]|0;
-      $1867 = ((($1866)) + 4|0);
-      $1868 = HEAP32[$1867>>2]|0;
-      $1869 = ((($1841)) + 8|0);
-      $1870 = HEAP32[$1869>>2]|0;
-      $1871 = HEAP32[$1870>>2]|0;
-      $$81094$phi = $$81094;$$5$phi = $$5;$$21052 = $1871;$$51058 = $1868;$$6 = $1845;$$61071 = $1843;$$61078 = $1870;$$8 = $1841;$$sink$reg2mem$0 = $1871;$$81094 = $$81094$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 44:  {
-      $1872 = $$21052 >>> 23;
-      $1873 = $1872 & 511;
-      $1874 = $$21052 >>> 7;
-      $1875 = $1874 & 65535;
-      $1876 = $1875 >> 10;
-      $1877 = $1876 & 63;
-      $1878 = $1875 >> 9;
-      $1879 = $1878 & 1;
-      $1880 = $1875 >> 4;
-      $1881 = $1880 & 31;
-      $1882 = $1875 >> 0;
-      $1883 = $1882 & 15;
-      $1884 = ($1883|0)==(0);
-      do {
-       if ($1884) {
-        $1885 = ((($$51058)) + 8|0);
-        $$01014 = $1885;
-       } else {
-        $1886 = (($1883) - 1)|0;
-        __THREW__ = 0;
-        $1887 = (invoke_iii(161,($1|0),($1886|0))|0);
-        $1888 = __THREW__; __THREW__ = 0;
-        if ((($1888|0) != 0) & ((threwValue|0) != 0)) { $1889 = _testSetjmp(HEAP32[$1888>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1889|0) == 0) { _longjmp($1888|0, threwValue|0); } tempRet0 = (threwValue); } else { $1889 = -1; };
-        $1890 = tempRet0;
-        $cond1298 = ($1889|0)==(1);
-        if ($cond1298) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1890;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $1891 = ($1887|0)!=(0|0);
-        if ($1891) {
-         $1895 = ((($1887)) + 12|0);
-         $1896 = HEAP32[$1895>>2]|0;
-         $1897 = ((($1896)) + 8|0);
-         $$01014 = $1897;
-         break;
-        }
-        __THREW__ = 0;
-        invoke_vii(180,($1|0),2);
-        $1892 = __THREW__; __THREW__ = 0;
-        if ((($1892|0) != 0) & ((threwValue|0) != 0)) { $1893 = _testSetjmp(HEAP32[$1892>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1893|0) == 0) { _longjmp($1892|0, threwValue|0); } tempRet0 = (threwValue); } else { $1893 = -1; };
-        $1894 = tempRet0;
-        $cond1299 = ($1893|0)==(1);
-        if ($cond1299) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1894;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-        label = 272;
-        continue L19;
-       }
-      } while(0);
-      $1898 = (($$51058) + ($1873<<3)|0);
-      $1899 = (($1877) + ($1879))|0;
-      $1900 = (($1899) + ($1881))|0;
-      $1901 = (($$01014) + ($1900<<3)|0);
-      ;HEAP32[$1898>>2]=HEAP32[$1901>>2]|0;HEAP32[$1898+4>>2]=HEAP32[$1901+4>>2]|0;
-      $1902 = ((($$61078)) + 4|0);
-      $1903 = HEAP32[$1902>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1903;$$61078 = $1902;$$sink$reg2mem$0 = $1903;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 45:  {
-      $1904 = $$21052 >>> 23;
-      $1905 = $1904 & 511;
-      $1906 = (($$51058) + ($1905<<3)|0);
-      $1907 = ((($1906)) + 4|0);
-      $1908 = HEAP32[$1907>>2]|0;
-      $1909 = $1908&65535;
-      $1910 = $1909&65535;
-      $1911 = $1910 << 8;
-      $1912 = (($1905) + 1)|0;
-      $1913 = (($$51058) + ($1912<<3)|0);
-      $1914 = ((($1913)) + 4|0);
-      $1915 = HEAP32[$1914>>2]|0;
-      $1916 = $1915&65535;
-      $1917 = $1916&65535;
-      $1918 = $1917 & 255;
-      $1919 = $1911 | $1918;
-      L362: do {
-       switch ($1919|0) {
-       case 771:  {
-        $1920 = (($$51058) + ($1905<<3)|0);
-        $1921 = HEAP32[$1920>>2]|0;
-        $1922 = ((($1920)) + 8|0);
-        $1923 = HEAP32[$1922>>2]|0;
-        __THREW__ = 0;
-        $1924 = (invoke_iiii(181,($1921|0),($1923|0),($52|0))|0);
-        $1925 = __THREW__; __THREW__ = 0;
-        if ((($1925|0) != 0) & ((threwValue|0) != 0)) { $1926 = _testSetjmp(HEAP32[$1925>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1926|0) == 0) { _longjmp($1925|0, threwValue|0); } tempRet0 = (threwValue); } else { $1926 = -1; };
-        $1927 = tempRet0;
-        $cond1297 = ($1926|0)==(1);
-        if ($cond1297) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1927;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $1928 = ($1924<<24>>24)!=(0);
-        if ($1928) {
-         $1929 = ((($1920)) + 4|0);
-         HEAP32[$1929>>2] = 6;
-         $1930 = (+($1921|0));
-         $1931 = (+($1923|0));
-         $1932 = $1930 + $1931;
-         HEAPF32[$1920>>2] = $1932;
-         break L362;
-        } else {
-         $1933 = (($$51058) + ($1905<<3)|0);
-         $1934 = ((($1933)) + 4|0);
-         HEAP32[$1934>>2] = 3;
-         $1935 = HEAP32[$52>>2]|0;
-         $1936 = (($$51058) + ($1905<<3)|0);
-         HEAP32[$1936>>2] = $1935;
-         break L362;
-        }
-        break;
-       }
-       case 774:  {
-        $1937 = (($$51058) + ($1905<<3)|0);
-        $1938 = HEAP32[$1937>>2]|0;
-        $1939 = (($1905) + 1)|0;
-        $1940 = (($$51058) + ($1939<<3)|0);
-        $1941 = +HEAPF32[$1940>>2];
-        $1942 = (($$51058) + ($1905<<3)|0);
-        $1943 = ((($1942)) + 4|0);
-        HEAP32[$1943>>2] = 6;
-        $1944 = (+($1938|0));
-        $1945 = $1944 + $1941;
-        $1946 = (($$51058) + ($1905<<3)|0);
-        HEAPF32[$1946>>2] = $1945;
-        break;
-       }
-       case 1539:  {
-        $1947 = (($$51058) + ($1905<<3)|0);
-        $1948 = +HEAPF32[$1947>>2];
-        $1949 = (($1905) + 1)|0;
-        $1950 = (($$51058) + ($1949<<3)|0);
-        $1951 = HEAP32[$1950>>2]|0;
-        $1952 = (+($1951|0));
-        $1953 = $1948 + $1952;
-        $1954 = (($$51058) + ($1905<<3)|0);
-        HEAPF32[$1954>>2] = $1953;
-        break;
-       }
-       case 1542:  {
-        $1955 = (($$51058) + ($1905<<3)|0);
-        $1956 = +HEAPF32[$1955>>2];
-        $1957 = (($1905) + 1)|0;
-        $1958 = (($$51058) + ($1957<<3)|0);
-        $1959 = +HEAPF32[$1958>>2];
-        $1960 = $1956 + $1959;
-        $1961 = (($$51058) + ($1905<<3)|0);
-        HEAPF32[$1961>>2] = $1960;
-        break;
-       }
-       case 4112:  {
-        $1962 = (($$51058) + ($1905<<3)|0);
-        $1963 = (($$51058) + ($1905<<3)|0);
-        $1964 = (($1905) + 1)|0;
-        $1965 = (($$51058) + ($1964<<3)|0);
-        __THREW__ = 0;
-        ;HEAP32[$$byval_copy1126>>2]=HEAP32[$1963>>2]|0;HEAP32[$$byval_copy1126+4>>2]=HEAP32[$1963+4>>2]|0;
-        ;HEAP32[$$byval_copy1127>>2]=HEAP32[$1965>>2]|0;HEAP32[$$byval_copy1127+4>>2]=HEAP32[$1965+4>>2]|0;
-        invoke_viiii(182,($53|0),($1|0),($$byval_copy1126|0),($$byval_copy1127|0));
-        $1966 = __THREW__; __THREW__ = 0;
-        if ((($1966|0) != 0) & ((threwValue|0) != 0)) { $1967 = _testSetjmp(HEAP32[$1966>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1967|0) == 0) { _longjmp($1966|0, threwValue|0); } tempRet0 = (threwValue); } else { $1967 = -1; };
-        $1968 = tempRet0;
-        $cond1296 = ($1967|0)==(1);
-        if ($cond1296) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1968;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        ;HEAP32[$1962>>2]=HEAP32[$53>>2]|0;HEAP32[$1962+4>>2]=HEAP32[$53+4>>2]|0;
-        break;
-       }
-       default: {
-        $$01050 = $$21052;
-        label = 90;
-        break L50;
-       }
-       }
-      } while(0);
-      $1969 = ((($1)) + 92|0);
-      $1970 = ((($1969)) + 416|0);
-      HEAP32[$1970>>2] = $$11049;
-      $1971 = ((($$61078)) + 4|0);
-      $1972 = HEAP32[$1971>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $1972;$$61078 = $1971;$$sink$reg2mem$0 = $1972;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 46:  {
-      $2147 = $$21052 >>> 23;
-      $2148 = $2147 & 511;
-      $2149 = (($$51058) + ($2148<<3)|0);
-      $2150 = ((($2149)) + 4|0);
-      $2151 = HEAP32[$2150>>2]|0;
-      L375: do {
-       switch ($2151|0) {
-       case 3:  {
-        $2152 = (($$51058) + ($2148<<3)|0);
-        $2153 = HEAP32[$2152>>2]|0;
-        $2154 = $$21052 >>> 7;
-        $2155 = $2154 & 127;
-        __THREW__ = 0;
-        $2156 = (invoke_iiii(181,($2153|0),($2155|0),($57|0))|0);
-        $2157 = __THREW__; __THREW__ = 0;
-        if ((($2157|0) != 0) & ((threwValue|0) != 0)) { $2158 = _testSetjmp(HEAP32[$2157>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2158|0) == 0) { _longjmp($2157|0, threwValue|0); } tempRet0 = (threwValue); } else { $2158 = -1; };
-        $2159 = tempRet0;
-        $cond1295 = ($2158|0)==(1);
-        if ($cond1295) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2159;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $2160 = ($2156<<24>>24)!=(0);
-        $2161 = (($$51058) + ($2148<<3)|0);
-        $2162 = ((($2161)) + 4|0);
-        if ($2160) {
-         HEAP32[$2162>>2] = 6;
-         $2163 = (+($2153|0));
-         $2164 = (+($2155|0));
-         $2165 = $2163 + $2164;
-         $2166 = (($$51058) + ($2148<<3)|0);
-         HEAPF32[$2166>>2] = $2165;
-         break L375;
-        } else {
-         HEAP32[$2162>>2] = 3;
-         $2167 = HEAP32[$57>>2]|0;
-         $2168 = (($$51058) + ($2148<<3)|0);
-         HEAP32[$2168>>2] = $2167;
-         break L375;
-        }
-        break;
-       }
-       case 6:  {
-        $2169 = $$21052 >>> 7;
-        $2170 = $2169 & 127;
-        $2171 = (+($2170|0));
-        $2172 = (($$51058) + ($2148<<3)|0);
-        $2173 = +HEAPF32[$2172>>2];
-        $2174 = $2173 + $2171;
-        HEAPF32[$2172>>2] = $2174;
-        break;
-       }
-       default: {
-        $2175 = (($2148) + 1)|0;
-        $2176 = (($$51058) + ($2175<<3)|0);
-        $2177 = ((($2176)) + 4|0);
-        HEAP32[$2177>>2] = 3;
-        $2178 = $$21052 >>> 7;
-        $2179 = $2178 & 127;
-        $2180 = (($2148) + 1)|0;
-        $2181 = (($$51058) + ($2180<<3)|0);
-        HEAP32[$2181>>2] = $2179;
-        $2182 = $2148 & 511;
-        $2183 = $2182 << 23;
-        $2184 = 32 | $2183;
-        $2185 = $$21052 >>> 14;
-        $2186 = $2185 & 511;
-        $2187 = $2186 & 511;
-        $2188 = $2187 << 14;
-        $2189 = $2184 | $2188;
-        $2190 = $2189 | 128;
-        $$01050 = $2190;
-        label = 90;
-        break L50;
-       }
-       }
-      } while(0);
-      $2191 = ((($$61078)) + 4|0);
-      $2192 = HEAP32[$2191>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2192;$$61078 = $2191;$$sink$reg2mem$0 = $2192;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 47:  {
-      $1973 = $$21052 >>> 23;
-      $1974 = $1973 & 511;
-      $1975 = (($$51058) + ($1974<<3)|0);
-      $1976 = ((($1975)) + 4|0);
-      $1977 = HEAP32[$1976>>2]|0;
-      $1978 = $1977&65535;
-      $1979 = $1978&65535;
-      $1980 = $1979 << 8;
-      $1981 = (($1974) + 1)|0;
-      $1982 = (($$51058) + ($1981<<3)|0);
-      $1983 = ((($1982)) + 4|0);
-      $1984 = HEAP32[$1983>>2]|0;
-      $1985 = $1984&65535;
-      $1986 = $1985&65535;
-      $1987 = $1986 & 255;
-      $1988 = $1980 | $1987;
-      L385: do {
-       switch ($1988|0) {
-       case 771:  {
-        $1989 = (($$51058) + ($1974<<3)|0);
-        $1990 = HEAP32[$1989>>2]|0;
-        $1991 = (($1974) + 1)|0;
-        $1992 = (($$51058) + ($1991<<3)|0);
-        $1993 = HEAP32[$1992>>2]|0;
-        __THREW__ = 0;
-        $1994 = (invoke_iiii(183,($1990|0),($1993|0),($54|0))|0);
-        $1995 = __THREW__; __THREW__ = 0;
-        if ((($1995|0) != 0) & ((threwValue|0) != 0)) { $1996 = _testSetjmp(HEAP32[$1995>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1996|0) == 0) { _longjmp($1995|0, threwValue|0); } tempRet0 = (threwValue); } else { $1996 = -1; };
-        $1997 = tempRet0;
-        $cond1294 = ($1996|0)==(1);
-        if ($cond1294) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $1997;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $1998 = ($1994<<24>>24)!=(0);
-        $1999 = (($$51058) + ($1974<<3)|0);
-        $2000 = ((($1999)) + 4|0);
-        if ($1998) {
-         HEAP32[$2000>>2] = 6;
-         $2001 = (+($1990|0));
-         $2002 = (+($1993|0));
-         $2003 = $2001 - $2002;
-         $2004 = (($$51058) + ($1974<<3)|0);
-         HEAPF32[$2004>>2] = $2003;
-         break L385;
-        } else {
-         HEAP32[$2000>>2] = 3;
-         $2005 = HEAP32[$54>>2]|0;
-         $2006 = (($$51058) + ($1974<<3)|0);
-         HEAP32[$2006>>2] = $2005;
-         break L385;
-        }
-        break;
-       }
-       case 774:  {
-        $2007 = (($$51058) + ($1974<<3)|0);
-        $2008 = HEAP32[$2007>>2]|0;
-        $2009 = (($1974) + 1)|0;
-        $2010 = (($$51058) + ($2009<<3)|0);
-        $2011 = +HEAPF32[$2010>>2];
-        $2012 = (($$51058) + ($1974<<3)|0);
-        $2013 = ((($2012)) + 4|0);
-        HEAP32[$2013>>2] = 6;
-        $2014 = (+($2008|0));
-        $2015 = $2014 - $2011;
-        $2016 = (($$51058) + ($1974<<3)|0);
-        HEAPF32[$2016>>2] = $2015;
-        break;
-       }
-       case 1539:  {
-        $2017 = (($$51058) + ($1974<<3)|0);
-        $2018 = +HEAPF32[$2017>>2];
-        $2019 = (($1974) + 1)|0;
-        $2020 = (($$51058) + ($2019<<3)|0);
-        $2021 = HEAP32[$2020>>2]|0;
-        $2022 = (+($2021|0));
-        $2023 = $2018 - $2022;
-        $2024 = (($$51058) + ($1974<<3)|0);
-        HEAPF32[$2024>>2] = $2023;
-        break;
-       }
-       case 1542:  {
-        $2025 = (($$51058) + ($1974<<3)|0);
-        $2026 = +HEAPF32[$2025>>2];
-        $2027 = (($1974) + 1)|0;
-        $2028 = (($$51058) + ($2027<<3)|0);
-        $2029 = +HEAPF32[$2028>>2];
-        $2030 = $2026 - $2029;
-        $2031 = (($$51058) + ($1974<<3)|0);
-        HEAPF32[$2031>>2] = $2030;
-        break;
-       }
-       default: {
-        $$01050 = $$21052;
-        label = 90;
-        break L50;
-       }
-       }
-      } while(0);
-      $2032 = ((($$61078)) + 4|0);
-      $2033 = HEAP32[$2032>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2033;$$61078 = $2032;$$sink$reg2mem$0 = $2033;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 48:  {
-      $2193 = $$21052 >>> 23;
-      $2194 = $2193 & 511;
-      $2195 = (($$51058) + ($2194<<3)|0);
-      $2196 = ((($2195)) + 4|0);
-      $2197 = HEAP32[$2196>>2]|0;
-      L396: do {
-       switch ($2197|0) {
-       case 3:  {
-        $2198 = HEAP32[$2195>>2]|0;
-        $2199 = $$21052 >>> 7;
-        $2200 = $2199 & 127;
-        __THREW__ = 0;
-        $2201 = (invoke_iiii(183,($2198|0),($2200|0),($58|0))|0);
-        $2202 = __THREW__; __THREW__ = 0;
-        if ((($2202|0) != 0) & ((threwValue|0) != 0)) { $2203 = _testSetjmp(HEAP32[$2202>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2203|0) == 0) { _longjmp($2202|0, threwValue|0); } tempRet0 = (threwValue); } else { $2203 = -1; };
-        $2204 = tempRet0;
-        $cond1293 = ($2203|0)==(1);
-        if ($cond1293) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2204;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $2205 = ($2201<<24>>24)!=(0);
-        $2206 = ((($2195)) + 4|0);
-        if ($2205) {
-         HEAP32[$2206>>2] = 6;
-         $2207 = (+($2198|0));
-         $2208 = (+($2200|0));
-         $2209 = $2207 - $2208;
-         HEAPF32[$2195>>2] = $2209;
-         break L396;
-        } else {
-         HEAP32[$2206>>2] = 3;
-         $2210 = HEAP32[$58>>2]|0;
-         HEAP32[$2195>>2] = $2210;
-         break L396;
-        }
-        break;
-       }
-       case 6:  {
-        $2211 = $$21052 >>> 7;
-        $2212 = $2211 & 127;
-        $2213 = (+($2212|0));
-        $2214 = +HEAPF32[$2195>>2];
-        $2215 = $2214 - $2213;
-        HEAPF32[$2195>>2] = $2215;
-        break;
-       }
-       default: {
-        $2216 = ((($2195)) + 8|0);
-        $2217 = ((($2216)) + 4|0);
-        HEAP32[$2217>>2] = 3;
-        $2218 = $$21052 >>> 7;
-        $2219 = $2218 & 127;
-        $2220 = ((($2195)) + 8|0);
-        HEAP32[$2220>>2] = $2219;
-        $2221 = $2194 & 511;
-        $2222 = $2221 << 23;
-        $2223 = 32 | $2222;
-        $2224 = $$21052 >>> 14;
-        $2225 = $2224 & 511;
-        $2226 = $2225 & 511;
-        $2227 = $2226 << 14;
-        $2228 = $2223 | $2227;
-        $2229 = $2228 | 128;
-        $$01050 = $2229;
-        label = 90;
-        break L50;
-       }
-       }
-      } while(0);
-      $2230 = ((($$61078)) + 4|0);
-      $2231 = HEAP32[$2230>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2231;$$61078 = $2230;$$sink$reg2mem$0 = $2231;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 49:  {
-      $2034 = $$21052 >>> 23;
-      $2035 = $2034 & 511;
-      $2036 = (($$51058) + ($2035<<3)|0);
-      $2037 = ((($2036)) + 4|0);
-      $2038 = HEAP32[$2037>>2]|0;
-      $2039 = $2038&65535;
-      $2040 = $2039&65535;
-      $2041 = $2040 << 8;
-      $2042 = (($2035) + 1)|0;
-      $2043 = (($$51058) + ($2042<<3)|0);
-      $2044 = ((($2043)) + 4|0);
-      $2045 = HEAP32[$2044>>2]|0;
-      $2046 = $2045&65535;
-      $2047 = $2046&65535;
-      $2048 = $2047 & 255;
-      $2049 = $2041 | $2048;
-      L406: do {
-       switch ($2049|0) {
-       case 771:  {
-        $2050 = (($$51058) + ($2035<<3)|0);
-        $2051 = (($2035) + 1)|0;
-        $2052 = (($$51058) + ($2051<<3)|0);
-        __THREW__ = 0;
-        ;HEAP32[$$byval_copy1128>>2]=HEAP32[$2050>>2]|0;HEAP32[$$byval_copy1128+4>>2]=HEAP32[$2050+4>>2]|0;
-        ;HEAP32[$$byval_copy1129>>2]=HEAP32[$2052>>2]|0;HEAP32[$$byval_copy1129+4>>2]=HEAP32[$2052+4>>2]|0;
-        invoke_viiii(184,($56|0),($1|0),($$byval_copy1128|0),($$byval_copy1129|0));
-        $2053 = __THREW__; __THREW__ = 0;
-        if ((($2053|0) != 0) & ((threwValue|0) != 0)) { $2054 = _testSetjmp(HEAP32[$2053>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2054|0) == 0) { _longjmp($2053|0, threwValue|0); } tempRet0 = (threwValue); } else { $2054 = -1; };
-        $2055 = tempRet0;
-        $cond1292 = ($2054|0)==(1);
-        if ($cond1292) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2055;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        ;HEAP32[$55>>2]=HEAP32[$56>>2]|0;HEAP32[$55+4>>2]=HEAP32[$56+4>>2]|0;
-        $2056 = ((($55)) + 4|0);
-        $2057 = HEAP32[$2056>>2]|0;
-        switch ($2057|0) {
-        case 3:  {
-         $2058 = (($$51058) + ($2035<<3)|0);
-         $2059 = ((($2058)) + 4|0);
-         HEAP32[$2059>>2] = 3;
-         $2060 = HEAP32[$55>>2]|0;
-         $2061 = (($$51058) + ($2035<<3)|0);
-         HEAP32[$2061>>2] = $2060;
-         break L406;
-         break;
-        }
-        case 6:  {
-         $2062 = (($$51058) + ($2035<<3)|0);
-         $2063 = ((($2062)) + 4|0);
-         HEAP32[$2063>>2] = 6;
-         $2064 = +HEAPF32[$55>>2];
-         $2065 = (($$51058) + ($2035<<3)|0);
-         HEAPF32[$2065>>2] = $2064;
-         break L406;
-         break;
-        }
-        default: {
-         break L406;
-        }
-        }
-        break;
-       }
-       case 774:  {
-        $2066 = (($$51058) + ($2035<<3)|0);
-        $2067 = HEAP32[$2066>>2]|0;
-        $2068 = (($2035) + 1)|0;
-        $2069 = (($$51058) + ($2068<<3)|0);
-        $2070 = +HEAPF32[$2069>>2];
-        $2071 = (($$51058) + ($2035<<3)|0);
-        $2072 = ((($2071)) + 4|0);
-        HEAP32[$2072>>2] = 6;
-        $2073 = (+($2067|0));
-        $2074 = $2073 * $2070;
-        $2075 = (($$51058) + ($2035<<3)|0);
-        HEAPF32[$2075>>2] = $2074;
-        break;
-       }
-       case 1539:  {
-        $2076 = (($$51058) + ($2035<<3)|0);
-        $2077 = +HEAPF32[$2076>>2];
-        $2078 = (($2035) + 1)|0;
-        $2079 = (($$51058) + ($2078<<3)|0);
-        $2080 = HEAP32[$2079>>2]|0;
-        $2081 = (+($2080|0));
-        $2082 = $2077 * $2081;
-        $2083 = (($$51058) + ($2035<<3)|0);
-        HEAPF32[$2083>>2] = $2082;
-        break;
-       }
-       case 1542:  {
-        $2084 = (($$51058) + ($2035<<3)|0);
-        $2085 = +HEAPF32[$2084>>2];
-        $2086 = (($2035) + 1)|0;
-        $2087 = (($$51058) + ($2086<<3)|0);
-        $2088 = +HEAPF32[$2087>>2];
-        $2089 = $2085 * $2088;
-        $2090 = (($$51058) + ($2035<<3)|0);
-        HEAPF32[$2090>>2] = $2089;
-        break;
-       }
-       default: {
-        $$01050 = $$21052;
-        label = 90;
-        break L50;
-       }
-       }
-      } while(0);
-      $2091 = ((($$61078)) + 4|0);
-      $2092 = HEAP32[$2091>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2092;$$61078 = $2091;$$sink$reg2mem$0 = $2092;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 50:  {
-      $2093 = $$21052 >>> 23;
-      $2094 = $2093 & 511;
-      $2095 = (($$51058) + ($2094<<3)|0);
-      $2096 = ((($2095)) + 4|0);
-      $2097 = HEAP32[$2096>>2]|0;
-      $2098 = $2097&65535;
-      $2099 = $2098&65535;
-      $2100 = $2099 << 8;
-      $2101 = (($2094) + 1)|0;
-      $2102 = (($$51058) + ($2101<<3)|0);
-      $2103 = ((($2102)) + 4|0);
-      $2104 = HEAP32[$2103>>2]|0;
-      $2105 = $2104&65535;
-      $2106 = $2105&65535;
-      $2107 = $2106 & 255;
-      $2108 = $2100 | $2107;
-      switch ($2108|0) {
-      case 771:  {
-       $2109 = (($$51058) + ($2094<<3)|0);
-       $2110 = HEAP32[$2109>>2]|0;
-       $2111 = (($2094) + 1)|0;
-       $2112 = (($$51058) + ($2111<<3)|0);
-       $2113 = HEAP32[$2112>>2]|0;
-       $2114 = (($$51058) + ($2094<<3)|0);
-       $2115 = ((($2114)) + 4|0);
-       HEAP32[$2115>>2] = 6;
-       $2116 = (+($2110|0));
-       $2117 = (+($2113|0));
-       $2118 = $2116 / $2117;
-       $2119 = (($$51058) + ($2094<<3)|0);
-       $$sink25$reg2mem$0 = $2118;$$sink28$reg2mem$0 = $2119;
-       break;
-      }
-      case 774:  {
-       $2120 = (($$51058) + ($2094<<3)|0);
-       $2121 = HEAP32[$2120>>2]|0;
-       $2122 = (($2094) + 1)|0;
-       $2123 = (($$51058) + ($2122<<3)|0);
-       $2124 = +HEAPF32[$2123>>2];
-       $2125 = (($$51058) + ($2094<<3)|0);
-       $2126 = ((($2125)) + 4|0);
-       HEAP32[$2126>>2] = 6;
-       $2127 = (+($2121|0));
-       $2128 = $2127 / $2124;
-       $2129 = (($$51058) + ($2094<<3)|0);
-       $$sink25$reg2mem$0 = $2128;$$sink28$reg2mem$0 = $2129;
-       break;
-      }
-      case 1539:  {
-       $2130 = (($$51058) + ($2094<<3)|0);
-       $2131 = +HEAPF32[$2130>>2];
-       $2132 = (($2094) + 1)|0;
-       $2133 = (($$51058) + ($2132<<3)|0);
-       $2134 = HEAP32[$2133>>2]|0;
-       $2135 = (+($2134|0));
-       $2136 = $2131 / $2135;
-       $2137 = (($$51058) + ($2094<<3)|0);
-       $$sink25$reg2mem$0 = $2136;$$sink28$reg2mem$0 = $2137;
-       break;
-      }
-      case 1542:  {
-       $2138 = (($$51058) + ($2094<<3)|0);
-       $2139 = +HEAPF32[$2138>>2];
-       $2140 = (($2094) + 1)|0;
-       $2141 = (($$51058) + ($2140<<3)|0);
-       $2142 = +HEAPF32[$2141>>2];
-       $2143 = $2139 / $2142;
-       $2144 = (($$51058) + ($2094<<3)|0);
-       $$sink25$reg2mem$0 = $2143;$$sink28$reg2mem$0 = $2144;
-       break;
-      }
-      default: {
-       $$01050 = $$21052;
-       label = 90;
-       break L50;
-      }
-      }
-      HEAPF32[$$sink28$reg2mem$0>>2] = $$sink25$reg2mem$0;
-      $2145 = ((($$61078)) + 4|0);
-      $2146 = HEAP32[$2145>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2146;$$61078 = $2145;$$sink$reg2mem$0 = $2146;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 51:  {
-      $2232 = $$21052 >>> 23;
-      $2233 = $2232 & 511;
-      $2234 = (($$51058) + ($2233<<3)|0);
-      $2235 = (($2233) + 1)|0;
-      $2236 = (($$51058) + ($2235<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1130>>2]=HEAP32[$2234>>2]|0;HEAP32[$$byval_copy1130+4>>2]=HEAP32[$2234+4>>2]|0;
-      ;HEAP32[$$byval_copy1131>>2]=HEAP32[$2236>>2]|0;HEAP32[$$byval_copy1131+4>>2]=HEAP32[$2236+4>>2]|0;
-      $2237 = (invoke_iiii(185,($1|0),($$byval_copy1130|0),($$byval_copy1131|0))|0);
-      $2238 = __THREW__; __THREW__ = 0;
-      if ((($2238|0) != 0) & ((threwValue|0) != 0)) { $2239 = _testSetjmp(HEAP32[$2238>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2239|0) == 0) { _longjmp($2238|0, threwValue|0); } tempRet0 = (threwValue); } else { $2239 = -1; };
-      $2240 = tempRet0;
-      $cond1291 = ($2239|0)==(1);
-      if ($cond1291) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2240;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2241 = ($2237<<24>>24)!=(0);
-      $2242 = (($$51058) + ($2233<<3)|0);
-      $2243 = ((($2242)) + 4|0);
-      do {
-       if ($2241) {
-        HEAP32[$2243>>2] = 2;
-        $2244 = (($$51058) + ($2233<<3)|0);
-        $$sink31$reg2mem$0 = $2244;
-       } else {
-        $2245 = HEAP32[$2243>>2]|0;
-        $2246 = $2245&65535;
-        $2247 = $2246&65535;
-        $2248 = $2247 << 8;
-        $2249 = (($2233) + 1)|0;
-        $2250 = (($$51058) + ($2249<<3)|0);
-        $2251 = ((($2250)) + 4|0);
-        $2252 = HEAP32[$2251>>2]|0;
-        $2253 = $2252&65535;
-        $2254 = $2253&65535;
-        $2255 = $2254 & 255;
-        $2256 = $2248 | $2255;
-        switch ($2256|0) {
-        case 771:  {
-         $2257 = (($$51058) + ($2233<<3)|0);
-         $2258 = HEAP32[$2257>>2]|0;
-         $2259 = (($2233) + 1)|0;
-         $2260 = (($$51058) + ($2259<<3)|0);
-         $2261 = HEAP32[$2260>>2]|0;
-         $2262 = ($2258|0)==($2261|0);
-         $2263 = $2262&1;
-         $$01013 = $2263;
-         break;
-        }
-        case 774:  {
-         $2264 = (($$51058) + ($2233<<3)|0);
-         $2265 = HEAP32[$2264>>2]|0;
-         $2266 = (+($2265|0));
-         $2267 = (($2233) + 1)|0;
-         $2268 = (($$51058) + ($2267<<3)|0);
-         $2269 = +HEAPF32[$2268>>2];
-         $2270 = $2266 == $2269;
-         $2271 = $2270&1;
-         $$01013 = $2271;
-         break;
-        }
-        case 1539:  {
-         $2272 = (($$51058) + ($2233<<3)|0);
-         $2273 = +HEAPF32[$2272>>2];
-         $2274 = (($2233) + 1)|0;
-         $2275 = (($$51058) + ($2274<<3)|0);
-         $2276 = HEAP32[$2275>>2]|0;
-         $2277 = (+($2276|0));
-         $2278 = $2273 == $2277;
-         $2279 = $2278&1;
-         $$01013 = $2279;
-         break;
-        }
-        case 1542:  {
-         $2280 = (($$51058) + ($2233<<3)|0);
-         $2281 = +HEAPF32[$2280>>2];
-         $2282 = (($2233) + 1)|0;
-         $2283 = (($$51058) + ($2282<<3)|0);
-         $2284 = +HEAPF32[$2283>>2];
-         $2285 = $2281 == $2284;
-         $2286 = $2285&1;
-         $$01013 = $2286;
-         break;
-        }
-        default: {
-         $$01050 = $$21052;
-         label = 90;
-         break L50;
-        }
-        }
-        $2287 = ($$01013|0)!=(0);
-        $2288 = (($$51058) + ($2233<<3)|0);
-        $2289 = ((($2288)) + 4|0);
-        if ($2287) {
-         HEAP32[$2289>>2] = 2;
-         $2290 = (($$51058) + ($2233<<3)|0);
-         $$sink31$reg2mem$0 = $2290;
-         break;
-        } else {
-         HEAP32[$2289>>2] = 0;
-         $2291 = (($$51058) + ($2233<<3)|0);
-         $$sink31$reg2mem$0 = $2291;
-         break;
-        }
-       }
-      } while(0);
-      HEAP32[$$sink31$reg2mem$0>>2] = 1;
-      $2292 = ((($$61078)) + 4|0);
-      $2293 = HEAP32[$2292>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2293;$$61078 = $2292;$$sink$reg2mem$0 = $2293;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 52:  {
-      $2294 = $$21052 >>> 23;
-      $2295 = $2294 & 511;
-      $2296 = (($$51058) + ($2295<<3)|0);
-      $2297 = ((($2296)) + 4|0);
-      $2298 = HEAP32[$2297>>2]|0;
-      $2299 = $2298&65535;
-      $2300 = $2299&65535;
-      $2301 = $2300 << 8;
-      $2302 = (($2295) + 1)|0;
-      $2303 = (($$51058) + ($2302<<3)|0);
-      $2304 = ((($2303)) + 4|0);
-      $2305 = HEAP32[$2304>>2]|0;
-      $2306 = $2305&65535;
-      $2307 = $2306&65535;
-      $2308 = $2307 & 255;
-      $2309 = $2301 | $2308;
-      switch ($2309|0) {
-      case 771:  {
-       $2310 = (($$51058) + ($2295<<3)|0);
-       $2311 = HEAP32[$2310>>2]|0;
-       $2312 = (($2295) + 1)|0;
-       $2313 = (($$51058) + ($2312<<3)|0);
-       $2314 = HEAP32[$2313>>2]|0;
-       $2315 = ($2311|0)<($2314|0);
-       $2316 = $2315&1;
-       $$01012 = $2316;
-       break;
-      }
-      case 774:  {
-       $2317 = (($$51058) + ($2295<<3)|0);
-       $2318 = HEAP32[$2317>>2]|0;
-       $2319 = (+($2318|0));
-       $2320 = (($2295) + 1)|0;
-       $2321 = (($$51058) + ($2320<<3)|0);
-       $2322 = +HEAPF32[$2321>>2];
-       $2323 = $2319 < $2322;
-       $2324 = $2323&1;
-       $$01012 = $2324;
-       break;
-      }
-      case 1539:  {
-       $2325 = (($$51058) + ($2295<<3)|0);
-       $2326 = +HEAPF32[$2325>>2];
-       $2327 = (($2295) + 1)|0;
-       $2328 = (($$51058) + ($2327<<3)|0);
-       $2329 = HEAP32[$2328>>2]|0;
-       $2330 = (+($2329|0));
-       $2331 = $2326 < $2330;
-       $2332 = $2331&1;
-       $$01012 = $2332;
-       break;
-      }
-      case 1542:  {
-       $2333 = (($$51058) + ($2295<<3)|0);
-       $2334 = +HEAPF32[$2333>>2];
-       $2335 = (($2295) + 1)|0;
-       $2336 = (($$51058) + ($2335<<3)|0);
-       $2337 = +HEAPF32[$2336>>2];
-       $2338 = $2334 < $2337;
-       $2339 = $2338&1;
-       $$01012 = $2339;
-       break;
-      }
-      default: {
-       $$01050 = $$21052;
-       label = 90;
-       break L50;
-      }
-      }
-      $2340 = ($$01012|0)!=(0);
-      $2341 = (($$51058) + ($2295<<3)|0);
-      $2342 = ((($2341)) + 4|0);
-      if ($2340) {
-       HEAP32[$2342>>2] = 2;
-       $2343 = (($$51058) + ($2295<<3)|0);
-       $$sink34$reg2mem$0 = $2343;
-      } else {
-       HEAP32[$2342>>2] = 0;
-       $2344 = (($$51058) + ($2295<<3)|0);
-       $$sink34$reg2mem$0 = $2344;
-      }
-      HEAP32[$$sink34$reg2mem$0>>2] = 1;
-      $2345 = ((($$61078)) + 4|0);
-      $2346 = HEAP32[$2345>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2346;$$61078 = $2345;$$sink$reg2mem$0 = $2346;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 53:  {
-      $2347 = $$21052 >>> 23;
-      $2348 = $2347 & 511;
-      $2349 = (($$51058) + ($2348<<3)|0);
-      $2350 = ((($2349)) + 4|0);
-      $2351 = HEAP32[$2350>>2]|0;
-      $2352 = $2351&65535;
-      $2353 = $2352&65535;
-      $2354 = $2353 << 8;
-      $2355 = (($2348) + 1)|0;
-      $2356 = (($$51058) + ($2355<<3)|0);
-      $2357 = ((($2356)) + 4|0);
-      $2358 = HEAP32[$2357>>2]|0;
-      $2359 = $2358&65535;
-      $2360 = $2359&65535;
-      $2361 = $2360 & 255;
-      $2362 = $2354 | $2361;
-      switch ($2362|0) {
-      case 771:  {
-       $2363 = (($$51058) + ($2348<<3)|0);
-       $2364 = HEAP32[$2363>>2]|0;
-       $2365 = (($2348) + 1)|0;
-       $2366 = (($$51058) + ($2365<<3)|0);
-       $2367 = HEAP32[$2366>>2]|0;
-       $2368 = ($2364|0)<=($2367|0);
-       $2369 = $2368&1;
-       $$01011 = $2369;
-       break;
-      }
-      case 774:  {
-       $2370 = (($$51058) + ($2348<<3)|0);
-       $2371 = HEAP32[$2370>>2]|0;
-       $2372 = (+($2371|0));
-       $2373 = (($2348) + 1)|0;
-       $2374 = (($$51058) + ($2373<<3)|0);
-       $2375 = +HEAPF32[$2374>>2];
-       $2376 = $2372 <= $2375;
-       $2377 = $2376&1;
-       $$01011 = $2377;
-       break;
-      }
-      case 1539:  {
-       $2378 = (($$51058) + ($2348<<3)|0);
-       $2379 = +HEAPF32[$2378>>2];
-       $2380 = (($2348) + 1)|0;
-       $2381 = (($$51058) + ($2380<<3)|0);
-       $2382 = HEAP32[$2381>>2]|0;
-       $2383 = (+($2382|0));
-       $2384 = $2379 <= $2383;
-       $2385 = $2384&1;
-       $$01011 = $2385;
-       break;
-      }
-      case 1542:  {
-       $2386 = (($$51058) + ($2348<<3)|0);
-       $2387 = +HEAPF32[$2386>>2];
-       $2388 = (($2348) + 1)|0;
-       $2389 = (($$51058) + ($2388<<3)|0);
-       $2390 = +HEAPF32[$2389>>2];
-       $2391 = $2387 <= $2390;
-       $2392 = $2391&1;
-       $$01011 = $2392;
-       break;
-      }
-      default: {
-       $$01050 = $$21052;
-       label = 90;
-       break L50;
-      }
-      }
-      $2393 = ($$01011|0)!=(0);
-      $2394 = (($$51058) + ($2348<<3)|0);
-      $2395 = ((($2394)) + 4|0);
-      if ($2393) {
-       HEAP32[$2395>>2] = 2;
-       $2396 = (($$51058) + ($2348<<3)|0);
-       $$sink37$reg2mem$0 = $2396;
-      } else {
-       HEAP32[$2395>>2] = 0;
-       $2397 = (($$51058) + ($2348<<3)|0);
-       $$sink37$reg2mem$0 = $2397;
-      }
-      HEAP32[$$sink37$reg2mem$0>>2] = 1;
-      $2398 = ((($$61078)) + 4|0);
-      $2399 = HEAP32[$2398>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2399;$$61078 = $2398;$$sink$reg2mem$0 = $2399;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 54:  {
-      $2400 = $$21052 >>> 23;
-      $2401 = $2400 & 511;
-      $2402 = (($$51058) + ($2401<<3)|0);
-      $2403 = ((($2402)) + 4|0);
-      $2404 = HEAP32[$2403>>2]|0;
-      $2405 = $2404&65535;
-      $2406 = $2405&65535;
-      $2407 = $2406 << 8;
-      $2408 = (($2401) + 1)|0;
-      $2409 = (($$51058) + ($2408<<3)|0);
-      $2410 = ((($2409)) + 4|0);
-      $2411 = HEAP32[$2410>>2]|0;
-      $2412 = $2411&65535;
-      $2413 = $2412&65535;
-      $2414 = $2413 & 255;
-      $2415 = $2407 | $2414;
-      switch ($2415|0) {
-      case 771:  {
-       $2416 = (($$51058) + ($2401<<3)|0);
-       $2417 = HEAP32[$2416>>2]|0;
-       $2418 = (($2401) + 1)|0;
-       $2419 = (($$51058) + ($2418<<3)|0);
-       $2420 = HEAP32[$2419>>2]|0;
-       $2421 = ($2417|0)>($2420|0);
-       $2422 = $2421&1;
-       $$01010 = $2422;
-       break;
-      }
-      case 774:  {
-       $2423 = (($$51058) + ($2401<<3)|0);
-       $2424 = HEAP32[$2423>>2]|0;
-       $2425 = (+($2424|0));
-       $2426 = (($2401) + 1)|0;
-       $2427 = (($$51058) + ($2426<<3)|0);
-       $2428 = +HEAPF32[$2427>>2];
-       $2429 = $2425 > $2428;
-       $2430 = $2429&1;
-       $$01010 = $2430;
-       break;
-      }
-      case 1539:  {
-       $2431 = (($$51058) + ($2401<<3)|0);
-       $2432 = +HEAPF32[$2431>>2];
-       $2433 = (($2401) + 1)|0;
-       $2434 = (($$51058) + ($2433<<3)|0);
-       $2435 = HEAP32[$2434>>2]|0;
-       $2436 = (+($2435|0));
-       $2437 = $2432 > $2436;
-       $2438 = $2437&1;
-       $$01010 = $2438;
-       break;
-      }
-      case 1542:  {
-       $2439 = (($$51058) + ($2401<<3)|0);
-       $2440 = +HEAPF32[$2439>>2];
-       $2441 = (($2401) + 1)|0;
-       $2442 = (($$51058) + ($2441<<3)|0);
-       $2443 = +HEAPF32[$2442>>2];
-       $2444 = $2440 > $2443;
-       $2445 = $2444&1;
-       $$01010 = $2445;
-       break;
-      }
-      default: {
-       $$01050 = $$21052;
-       label = 90;
-       break L50;
-      }
-      }
-      $2446 = ($$01010|0)!=(0);
-      $2447 = (($$51058) + ($2401<<3)|0);
-      $2448 = ((($2447)) + 4|0);
-      if ($2446) {
-       HEAP32[$2448>>2] = 2;
-       $2449 = (($$51058) + ($2401<<3)|0);
-       $$sink40$reg2mem$0 = $2449;
-      } else {
-       HEAP32[$2448>>2] = 0;
-       $2450 = (($$51058) + ($2401<<3)|0);
-       $$sink40$reg2mem$0 = $2450;
-      }
-      HEAP32[$$sink40$reg2mem$0>>2] = 1;
-      $2451 = ((($$61078)) + 4|0);
-      $2452 = HEAP32[$2451>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2452;$$61078 = $2451;$$sink$reg2mem$0 = $2452;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 55:  {
-      $2453 = $$21052 >>> 23;
-      $2454 = $2453 & 511;
-      $2455 = (($$51058) + ($2454<<3)|0);
-      $2456 = ((($2455)) + 4|0);
-      $2457 = HEAP32[$2456>>2]|0;
-      $2458 = $2457&65535;
-      $2459 = $2458&65535;
-      $2460 = $2459 << 8;
-      $2461 = (($2454) + 1)|0;
-      $2462 = (($$51058) + ($2461<<3)|0);
-      $2463 = ((($2462)) + 4|0);
-      $2464 = HEAP32[$2463>>2]|0;
-      $2465 = $2464&65535;
-      $2466 = $2465&65535;
-      $2467 = $2466 & 255;
-      $2468 = $2460 | $2467;
-      switch ($2468|0) {
-      case 771:  {
-       $2469 = (($$51058) + ($2454<<3)|0);
-       $2470 = HEAP32[$2469>>2]|0;
-       $2471 = (($2454) + 1)|0;
-       $2472 = (($$51058) + ($2471<<3)|0);
-       $2473 = HEAP32[$2472>>2]|0;
-       $2474 = ($2470|0)>=($2473|0);
-       $2475 = $2474&1;
-       $$01009 = $2475;
-       break;
-      }
-      case 774:  {
-       $2476 = (($$51058) + ($2454<<3)|0);
-       $2477 = HEAP32[$2476>>2]|0;
-       $2478 = (+($2477|0));
-       $2479 = (($2454) + 1)|0;
-       $2480 = (($$51058) + ($2479<<3)|0);
-       $2481 = +HEAPF32[$2480>>2];
-       $2482 = $2478 >= $2481;
-       $2483 = $2482&1;
-       $$01009 = $2483;
-       break;
-      }
-      case 1539:  {
-       $2484 = (($$51058) + ($2454<<3)|0);
-       $2485 = +HEAPF32[$2484>>2];
-       $2486 = (($2454) + 1)|0;
-       $2487 = (($$51058) + ($2486<<3)|0);
-       $2488 = HEAP32[$2487>>2]|0;
-       $2489 = (+($2488|0));
-       $2490 = $2485 >= $2489;
-       $2491 = $2490&1;
-       $$01009 = $2491;
-       break;
-      }
-      case 1542:  {
-       $2492 = (($$51058) + ($2454<<3)|0);
-       $2493 = +HEAPF32[$2492>>2];
-       $2494 = (($2454) + 1)|0;
-       $2495 = (($$51058) + ($2494<<3)|0);
-       $2496 = +HEAPF32[$2495>>2];
-       $2497 = $2493 >= $2496;
-       $2498 = $2497&1;
-       $$01009 = $2498;
-       break;
-      }
-      default: {
-       $$01050 = $$21052;
-       label = 90;
-       break L50;
-      }
-      }
-      $2499 = ($$01009|0)!=(0);
-      $2500 = (($$51058) + ($2454<<3)|0);
-      $2501 = ((($2500)) + 4|0);
-      if ($2499) {
-       HEAP32[$2501>>2] = 2;
-       $2502 = (($$51058) + ($2454<<3)|0);
-       $$sink43$reg2mem$0 = $2502;
-      } else {
-       HEAP32[$2501>>2] = 0;
-       $2503 = (($$51058) + ($2454<<3)|0);
-       $$sink43$reg2mem$0 = $2503;
-      }
-      HEAP32[$$sink43$reg2mem$0>>2] = 1;
-      $2504 = ((($$61078)) + 4|0);
-      $2505 = HEAP32[$2504>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2505;$$61078 = $2504;$$sink$reg2mem$0 = $2505;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 56:  {
-      $2506 = $$21052 >>> 23;
-      $2507 = $2506 & 511;
-      $2508 = (($$51058) + ($2507<<3)|0);
-      $2509 = $$21052 >>> 7;
-      $2510 = $2509 & 127;
-      $2511 = $$21052 >>> 14;
-      $2512 = $2511 & 511;
-      $2513 = (($$51058) + ($2512<<3)|0);
-      __THREW__ = 0;
-      invoke_viiii(167,($59|0),($1|0),($2510|0),($2513|0));
-      $2514 = __THREW__; __THREW__ = 0;
-      if ((($2514|0) != 0) & ((threwValue|0) != 0)) { $2515 = _testSetjmp(HEAP32[$2514>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2515|0) == 0) { _longjmp($2514|0, threwValue|0); } tempRet0 = (threwValue); } else { $2515 = -1; };
-      $2516 = tempRet0;
-      $cond1290 = ($2515|0)==(1);
-      if ($cond1290) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2516;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$2508>>2]=HEAP32[$59>>2]|0;HEAP32[$2508+4>>2]=HEAP32[$59+4>>2]|0;
-      $2517 = ((($1)) + 92|0);
-      $2518 = ((($2517)) + 416|0);
-      HEAP32[$2518>>2] = $$11049;
-      $2519 = ((($$61078)) + 4|0);
-      $2520 = HEAP32[$2519>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2520;$$61078 = $2519;$$sink$reg2mem$0 = $2520;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 57:  {
-      $2521 = $$21052 >>> 23;
-      $2522 = $2521 & 511;
-      $2523 = (($$51058) + ($2522<<3)|0);
-      $2524 = $$21052 >>> 14;
-      $2525 = $2524 & 511;
-      $2526 = (($$51058) + ($2525<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1132>>2]=HEAP32[$2526>>2]|0;HEAP32[$$byval_copy1132+4>>2]=HEAP32[$2526+4>>2]|0;
-      invoke_viii(186,($60|0),($1|0),($$byval_copy1132|0));
-      $2527 = __THREW__; __THREW__ = 0;
-      if ((($2527|0) != 0) & ((threwValue|0) != 0)) { $2528 = _testSetjmp(HEAP32[$2527>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2528|0) == 0) { _longjmp($2527|0, threwValue|0); } tempRet0 = (threwValue); } else { $2528 = -1; };
-      $2529 = tempRet0;
-      $cond1288 = ($2528|0)==(1);
-      if ($cond1288) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2529;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1133>>2]=HEAP32[$2523>>2]|0;HEAP32[$$byval_copy1133+4>>2]=HEAP32[$2523+4>>2]|0;
-      ;HEAP32[$$byval_copy1134>>2]=HEAP32[$60>>2]|0;HEAP32[$$byval_copy1134+4>>2]=HEAP32[$60+4>>2]|0;
-      invoke_viii(187,($1|0),($$byval_copy1133|0),($$byval_copy1134|0));
-      $2530 = __THREW__; __THREW__ = 0;
-      if ((($2530|0) != 0) & ((threwValue|0) != 0)) { $2531 = _testSetjmp(HEAP32[$2530>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2531|0) == 0) { _longjmp($2530|0, threwValue|0); } tempRet0 = (threwValue); } else { $2531 = -1; };
-      $2532 = tempRet0;
-      $cond1289 = ($2531|0)==(1);
-      if ($cond1289) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2532;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2533 = ((($1)) + 92|0);
-      $2534 = ((($2533)) + 416|0);
-      HEAP32[$2534>>2] = $$11049;
-      $2535 = ((($$61078)) + 4|0);
-      $2536 = HEAP32[$2535>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2536;$$61078 = $2535;$$sink$reg2mem$0 = $2536;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 58:  {
-      $2537 = $$21052 >>> 23;
-      $2538 = $2537 & 511;
-      $2539 = (($$51058) + ($2538<<3)|0);
-      $2540 = $$21052 >>> 14;
-      $2541 = $2540 & 511;
-      $2542 = (($$51058) + ($2541<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1135>>2]=HEAP32[$2539>>2]|0;HEAP32[$$byval_copy1135+4>>2]=HEAP32[$2539+4>>2]|0;
-      ;HEAP32[$$byval_copy1136>>2]=HEAP32[$2542>>2]|0;HEAP32[$$byval_copy1136+4>>2]=HEAP32[$2542+4>>2]|0;
-      invoke_viii(188,($1|0),($$byval_copy1135|0),($$byval_copy1136|0));
-      $2543 = __THREW__; __THREW__ = 0;
-      if ((($2543|0) != 0) & ((threwValue|0) != 0)) { $2544 = _testSetjmp(HEAP32[$2543>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2544|0) == 0) { _longjmp($2543|0, threwValue|0); } tempRet0 = (threwValue); } else { $2544 = -1; };
-      $2545 = tempRet0;
-      $cond1287 = ($2544|0)==(1);
-      if ($cond1287) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2545;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2546 = ((($$61078)) + 4|0);
-      $2547 = HEAP32[$2546>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2547;$$61078 = $2546;$$sink$reg2mem$0 = $2547;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 59:  {
-      $2548 = $$21052 >>> 23;
-      $2549 = $2548 & 511;
-      $2550 = $$21052 >>> 7;
-      $2551 = $2550 & 127;
-      $2552 = $$21052 >>> 14;
-      $2553 = $2552 & 511;
-      $2554 = (($$51058) + ($2553<<3)|0);
-      ;HEAP32[$61>>2]=HEAP32[$2554>>2]|0;HEAP32[$61+4>>2]=HEAP32[$2554+4>>2]|0;
-      $2555 = ((($61)) + 4|0);
-      $2556 = HEAP32[$2555>>2]|0;
-      $2557 = ($2556|0)==(14);
-      do {
-       if ($2557) {
-        $2565 = $$21052 >>> 23;
-        $2566 = $2565 & 511;
-        $2567 = (($$51058) + ($2566<<3)|0);
-        __THREW__ = 0;
-        ;HEAP32[$$byval_copy1137>>2]=HEAP32[$61>>2]|0;HEAP32[$$byval_copy1137+4>>2]=HEAP32[$61+4>>2]|0;
-        invoke_viiii(189,($62|0),($1|0),($$byval_copy1137|0),($2551|0));
-        $2568 = __THREW__; __THREW__ = 0;
-        if ((($2568|0) != 0) & ((threwValue|0) != 0)) { $2569 = _testSetjmp(HEAP32[$2568>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2569|0) == 0) { _longjmp($2568|0, threwValue|0); } tempRet0 = (threwValue); } else { $2569 = -1; };
-        $2570 = tempRet0;
-        $cond1286 = ($2569|0)==(1);
-        if ($cond1286) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2570;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        ;HEAP32[$2567>>2]=HEAP32[$62>>2]|0;HEAP32[$2567+4>>2]=HEAP32[$62+4>>2]|0;
-       } else {
-        $2558 = ($2551|0)==(0);
-        if ($2558) {
-         $2559 = $$21052 >>> 23;
-         $2560 = $2559 & 511;
-         $2561 = (($$51058) + ($2560<<3)|0);
-         ;HEAP32[$2561>>2]=HEAP32[$61>>2]|0;HEAP32[$2561+4>>2]=HEAP32[$61+4>>2]|0;
-         break;
-        } else {
-         $2562 = (($$51058) + ($2549<<3)|0);
-         $2563 = ((($2562)) + 4|0);
-         HEAP32[$2563>>2] = 0;
-         $2564 = (($$51058) + ($2549<<3)|0);
-         HEAP32[$2564>>2] = 0;
-         break;
-        }
-       }
-      } while(0);
-      $2571 = ((($$61078)) + 4|0);
-      $2572 = HEAP32[$2571>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2572;$$61078 = $2571;$$sink$reg2mem$0 = $2572;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 60:  {
-      $2573 = $$21052 >>> 14;
-      $2574 = $2573 & 511;
-      $2575 = (($$51058) + ($2574<<3)|0);
-      $2576 = $$21052 >>> 7;
-      $2577 = $2576 & 127;
-      $2578 = $$21052 >>> 23;
-      $2579 = $2578 & 511;
-      $2580 = (($$51058) + ($2579<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1138>>2]=HEAP32[$2575>>2]|0;HEAP32[$$byval_copy1138+4>>2]=HEAP32[$2575+4>>2]|0;
-      ;HEAP32[$$byval_copy1139>>2]=HEAP32[$2580>>2]|0;HEAP32[$$byval_copy1139+4>>2]=HEAP32[$2580+4>>2]|0;
-      invoke_viiii(190,($1|0),($$byval_copy1138|0),($2577|0),($$byval_copy1139|0));
-      $2581 = __THREW__; __THREW__ = 0;
-      if ((($2581|0) != 0) & ((threwValue|0) != 0)) { $2582 = _testSetjmp(HEAP32[$2581>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2582|0) == 0) { _longjmp($2581|0, threwValue|0); } tempRet0 = (threwValue); } else { $2582 = -1; };
-      $2583 = tempRet0;
-      $cond1285 = ($2582|0)==(1);
-      if ($cond1285) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2583;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2584 = ((($$61078)) + 4|0);
-      $2585 = HEAP32[$2584>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2585;$$61078 = $2584;$$sink$reg2mem$0 = $2585;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 61:  {
-      $2586 = $$21052 >>> 23;
-      $2587 = $2586 & 511;
-      $2588 = (($$51058) + ($2587<<3)|0);
-      ;HEAP32[$63>>2]=HEAP32[$2588>>2]|0;HEAP32[$63+4>>2]=HEAP32[$2588+4>>2]|0;
-      $2589 = $$21052 >>> 14;
-      $2590 = $2589 & 511;
-      $2591 = $$21052 >>> 7;
-      $2592 = $2591 & 127;
-      $2593 = ((($63)) + 4|0);
-      $2594 = HEAP32[$2593>>2]|0;
-      $2595 = ($2594|0)==(14);
-      if (!($2595)) {
-       $2596 = (($$51058) + ($2587<<3)|0);
-       __THREW__ = 0;
-       invoke_viiii(167,($64|0),($1|0),1,($2596|0));
-       $2597 = __THREW__; __THREW__ = 0;
-       if ((($2597|0) != 0) & ((threwValue|0) != 0)) { $2598 = _testSetjmp(HEAP32[$2597>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2598|0) == 0) { _longjmp($2597|0, threwValue|0); } tempRet0 = (threwValue); } else { $2598 = -1; };
-       $2599 = tempRet0;
-       $cond1282 = ($2598|0)==(1);
-       if ($cond1282) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2599;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$63>>2]=HEAP32[$64>>2]|0;HEAP32[$63+4>>2]=HEAP32[$64+4>>2]|0;
-      }
-      $2600 = HEAP32[$63>>2]|0;
-      $2601 = ((($2600)) + 12|0);
-      $2602 = HEAP32[$2601>>2]|0;
-      $2603 = (($2590) + ($2592))|0;
-      $2604 = ($2602|0)>($2603|0);
-      $2605 = (($2587) + 1)|0;
-      $2606 = (($$51058) + ($2587<<3)|0);
-      L505: do {
-       if ($2604) {
-        $2607 = (($2602) - ($2590))|0;
-        $2608 = (($2607) - ($2592))|0;
-        $2609 = ((($2600)) + 20|0);
-        $2610 = HEAP32[$2609>>2]|0;
-        $2611 = (($2610) + ($2590<<3)|0);
-        __THREW__ = 0;
-        invoke_viiii(167,($65|0),($1|0),($2608|0),($2611|0));
-        $2612 = __THREW__; __THREW__ = 0;
-        if ((($2612|0) != 0) & ((threwValue|0) != 0)) { $2613 = _testSetjmp(HEAP32[$2612>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2613|0) == 0) { _longjmp($2612|0, threwValue|0); } tempRet0 = (threwValue); } else { $2613 = -1; };
-        $2614 = tempRet0;
-        $cond1284 = ($2613|0)==(1);
-        if ($cond1284) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2614;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        ;HEAP32[$2606>>2]=HEAP32[$65>>2]|0;HEAP32[$2606+4>>2]=HEAP32[$65+4>>2]|0;
-        $$01007 = $2592;$$01008 = $2605;
-        while(1) {
-         $2615 = (($$01007) + -1)|0;
-         $2616 = ($$01007|0)!=(0);
-         if (!($2616)) {
-          break L505;
-         }
-         $2617 = (($$01008) + 1)|0;
-         $2618 = (($$51058) + ($$01008<<3)|0);
-         $2619 = ((($2600)) + 20|0);
-         $2620 = HEAP32[$2619>>2]|0;
-         $2621 = (($2602) - ($2615))|0;
-         $2622 = (($2621) - 1)|0;
-         $2623 = (($2620) + ($2622<<3)|0);
-         ;HEAP32[$2618>>2]=HEAP32[$2623>>2]|0;HEAP32[$2618+4>>2]=HEAP32[$2623+4>>2]|0;
-         $$01007 = $2615;$$01008 = $2617;
-        }
-       } else {
-        __THREW__ = 0;
-        invoke_viii(173,($66|0),($1|0),0);
-        $2624 = __THREW__; __THREW__ = 0;
-        if ((($2624|0) != 0) & ((threwValue|0) != 0)) { $2625 = _testSetjmp(HEAP32[$2624>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2625|0) == 0) { _longjmp($2624|0, threwValue|0); } tempRet0 = (threwValue); } else { $2625 = -1; };
-        $2626 = tempRet0;
-        $cond1283 = ($2625|0)==(1);
-        if ($cond1283) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2626;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        ;HEAP32[$2606>>2]=HEAP32[$66>>2]|0;HEAP32[$2606+4>>2]=HEAP32[$66+4>>2]|0;
-        $$01006 = 0;
-        while(1) {
-         $2627 = (($$01006) + ($2590))|0;
-         $2628 = ($2627|0)<($2602|0);
-         if (!($2628)) {
-          $$1 = $$01006;
-          break;
-         }
-         $2629 = (($2605) + ($$01006))|0;
-         $2630 = (($$51058) + ($2629<<3)|0);
-         $2631 = ((($2600)) + 20|0);
-         $2632 = HEAP32[$2631>>2]|0;
-         $2633 = (($2590) + ($$01006))|0;
-         $2634 = (($2632) + ($2633<<3)|0);
-         ;HEAP32[$2630>>2]=HEAP32[$2634>>2]|0;HEAP32[$2630+4>>2]=HEAP32[$2634+4>>2]|0;
-         $2635 = (($$01006) + 1)|0;
-         $$01006 = $2635;
-        }
-        while(1) {
-         $2636 = ($$1|0)<($2592|0);
-         if (!($2636)) {
-          break L505;
-         }
-         $2637 = (($2605) + ($$1))|0;
-         $2638 = (($$51058) + ($2637<<3)|0);
-         $2639 = ((($2638)) + 4|0);
-         HEAP32[$2639>>2] = 0;
-         $2640 = (($2605) + ($$1))|0;
-         $2641 = (($$51058) + ($2640<<3)|0);
-         HEAP32[$2641>>2] = 0;
-         $2642 = (($$1) + 1)|0;
-         $$1 = $2642;
-        }
-       }
-      } while(0);
-      $2643 = ((($1)) + 92|0);
-      $2644 = ((($2643)) + 416|0);
-      HEAP32[$2644>>2] = $$11049;
-      $2645 = ((($$61078)) + 4|0);
-      $2646 = HEAP32[$2645>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2646;$$61078 = $2645;$$sink$reg2mem$0 = $2646;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 62:  {
-      $2647 = $$21052 >>> 23;
-      $2648 = $2647 & 511;
-      $2649 = (($$51058) + ($2648<<3)|0);
-      $2650 = $$21052 >>> 7;
-      $2651 = $2650 & 65535;
-      $2652 = (($$61071) + ($2651<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1140>>2]=HEAP32[$2652>>2]|0;HEAP32[$$byval_copy1140+4>>2]=HEAP32[$2652+4>>2]|0;
-      invoke_viii(191,($67|0),($1|0),($$byval_copy1140|0));
-      $2653 = __THREW__; __THREW__ = 0;
-      if ((($2653|0) != 0) & ((threwValue|0) != 0)) { $2654 = _testSetjmp(HEAP32[$2653>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2654|0) == 0) { _longjmp($2653|0, threwValue|0); } tempRet0 = (threwValue); } else { $2654 = -1; };
-      $2655 = tempRet0;
-      $cond1281 = ($2654|0)==(1);
-      if ($cond1281) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2655;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$2649>>2]=HEAP32[$67>>2]|0;HEAP32[$2649+4>>2]=HEAP32[$67+4>>2]|0;
-      $2656 = ((($1)) + 92|0);
-      $2657 = ((($2656)) + 416|0);
-      HEAP32[$2657>>2] = $$11049;
-      $2658 = ((($$61078)) + 4|0);
-      $2659 = HEAP32[$2658>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2659;$$61078 = $2658;$$sink$reg2mem$0 = $2659;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 63:  {
-      $2660 = $$21052 >>> 23;
-      $2661 = $2660 & 511;
-      $2662 = (($$51058) + ($2661<<3)|0);
-      $2663 = $$21052 >>> 14;
-      $2664 = $2663 & 511;
-      $2665 = (($$51058) + ($2664<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1141>>2]=HEAP32[$2662>>2]|0;HEAP32[$$byval_copy1141+4>>2]=HEAP32[$2662+4>>2]|0;
-      ;HEAP32[$$byval_copy1142>>2]=HEAP32[$2665>>2]|0;HEAP32[$$byval_copy1142+4>>2]=HEAP32[$2665+4>>2]|0;
-      invoke_viii(192,($1|0),($$byval_copy1141|0),($$byval_copy1142|0));
-      $2666 = __THREW__; __THREW__ = 0;
-      if ((($2666|0) != 0) & ((threwValue|0) != 0)) { $2667 = _testSetjmp(HEAP32[$2666>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2667|0) == 0) { _longjmp($2666|0, threwValue|0); } tempRet0 = (threwValue); } else { $2667 = -1; };
-      $2668 = tempRet0;
-      $cond1280 = ($2667|0)==(1);
-      if ($cond1280) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2668;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2669 = ((($1)) + 12|0);
-      $2670 = HEAP32[$2669>>2]|0;
-      $2671 = ((($2670)) + 4|0);
-      $2672 = HEAP32[$2671>>2]|0;
-      $2673 = ((($$61078)) + 4|0);
-      $2674 = HEAP32[$2673>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$5$phi = $$5;$$21052 = $2674;$$51058 = $2672;$$61078 = $2673;$$sink$reg2mem$0 = $2674;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 64:  {
-      $2675 = $$21052 >>> 14;
-      $2676 = $2675 & 511;
-      $2677 = $$21052 >>> 7;
-      $2678 = $2677 & 127;
-      $2679 = $2678<<1;
-      $2680 = (($2676) + ($2679))|0;
-      __THREW__ = 0;
-      invoke_viii(193,($68|0),($1|0),($2678|0));
-      $2681 = __THREW__; __THREW__ = 0;
-      if ((($2681|0) != 0) & ((threwValue|0) != 0)) { $2682 = _testSetjmp(HEAP32[$2681>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2682|0) == 0) { _longjmp($2681|0, threwValue|0); } tempRet0 = (threwValue); } else { $2682 = -1; };
-      $2683 = tempRet0;
-      $cond1278 = ($2682|0)==(1);
-      if ($cond1278) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2683;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $$01005 = $2676;
-      while(1) {
-       $2684 = ($$01005|0)<($2680|0);
-       if (!($2684)) {
-        break;
-       }
-       $2685 = (($$51058) + ($$01005<<3)|0);
-       $2686 = (($$01005) + 1)|0;
-       $2687 = (($$51058) + ($2686<<3)|0);
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy1143>>2]=HEAP32[$68>>2]|0;HEAP32[$$byval_copy1143+4>>2]=HEAP32[$68+4>>2]|0;
-       ;HEAP32[$$byval_copy1144>>2]=HEAP32[$2685>>2]|0;HEAP32[$$byval_copy1144+4>>2]=HEAP32[$2685+4>>2]|0;
-       ;HEAP32[$$byval_copy1145>>2]=HEAP32[$2687>>2]|0;HEAP32[$$byval_copy1145+4>>2]=HEAP32[$2687+4>>2]|0;
-       invoke_viiii(194,($1|0),($$byval_copy1143|0),($$byval_copy1144|0),($$byval_copy1145|0));
-       $2688 = __THREW__; __THREW__ = 0;
-       if ((($2688|0) != 0) & ((threwValue|0) != 0)) { $2689 = _testSetjmp(HEAP32[$2688>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2689|0) == 0) { _longjmp($2688|0, threwValue|0); } tempRet0 = (threwValue); } else { $2689 = -1; };
-       $2690 = tempRet0;
-       $cond1279 = ($2689|0)==(1);
-       if ($cond1279) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2690;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $2691 = (($$01005) + 2)|0;
-       $$01005 = $2691;
-      }
-      $2692 = $$21052 >>> 23;
-      $2693 = $2692 & 511;
-      $2694 = (($$51058) + ($2693<<3)|0);
-      ;HEAP32[$2694>>2]=HEAP32[$68>>2]|0;HEAP32[$2694+4>>2]=HEAP32[$68+4>>2]|0;
-      $2695 = ((($1)) + 92|0);
-      $2696 = ((($2695)) + 416|0);
-      HEAP32[$2696>>2] = $$11049;
-      $2697 = ((($$61078)) + 4|0);
-      $2698 = HEAP32[$2697>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2698;$$61078 = $2697;$$sink$reg2mem$0 = $2698;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 65:  {
-      $2699 = $$21052 >>> 7;
-      $2700 = $2699 & 3;
-      $2701 = $2700 & 2;
-      $2702 = ($2701|0)!=(0);
-      $2703 = ((($$8)) + 20|0);
-      $2704 = HEAP32[$2703>>2]|0;
-      $2705 = $$21052 >>> 9;
-      $2706 = $2705 & 16383;
-      $2707 = (($2704) + ($2706<<2)|0);
-      $2708 = HEAP32[$2707>>2]|0;
-      if ($2702) {
-       __THREW__ = 0;
-       $2709 = (invoke_iii(165,($1|0),($2708|0))|0);
-       $2710 = __THREW__; __THREW__ = 0;
-       if ((($2710|0) != 0) & ((threwValue|0) != 0)) { $2711 = _testSetjmp(HEAP32[$2710>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2711|0) == 0) { _longjmp($2710|0, threwValue|0); } tempRet0 = (threwValue); } else { $2711 = -1; };
-       $2712 = tempRet0;
-       $cond1277 = ($2711|0)==(1);
-       if ($cond1277) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2712;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $$01004 = $2709;
-      } else {
-       __THREW__ = 0;
-       $2713 = (invoke_iii(195,($1|0),($2708|0))|0);
-       $2714 = __THREW__; __THREW__ = 0;
-       if ((($2714|0) != 0) & ((threwValue|0) != 0)) { $2715 = _testSetjmp(HEAP32[$2714>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2715|0) == 0) { _longjmp($2714|0, threwValue|0); } tempRet0 = (threwValue); } else { $2715 = -1; };
-       $2716 = tempRet0;
-       $cond1275 = ($2715|0)==(1);
-       if ($cond1275) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2716;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $$01004 = $2713;
-      }
-      $2717 = $2700 & 1;
-      $2718 = ($2717|0)!=(0);
-      if ($2718) {
-       $2719 = HEAP32[$$01004>>2]|0;
-       $2720 = $2719 >>> 11;
-       $2721 = $2720 | 256;
-       $2722 = HEAP32[$$01004>>2]|0;
-       $2723 = $2721 & 2097151;
-       $2724 = $2723 << 11;
-       $2725 = $2722 & 2047;
-       $2726 = $2725 | $2724;
-       HEAP32[$$01004>>2] = $2726;
-      }
-      $2727 = $$21052 >>> 23;
-      $2728 = $2727 & 511;
-      $2729 = (($$51058) + ($2728<<3)|0);
-      __THREW__ = 0;
-      invoke_vii(133,($69|0),($$01004|0));
-      $2730 = __THREW__; __THREW__ = 0;
-      if ((($2730|0) != 0) & ((threwValue|0) != 0)) { $2731 = _testSetjmp(HEAP32[$2730>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2731|0) == 0) { _longjmp($2730|0, threwValue|0); } tempRet0 = (threwValue); } else { $2731 = -1; };
-      $2732 = tempRet0;
-      $cond1276 = ($2731|0)==(1);
-      if ($cond1276) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2732;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$2729>>2]=HEAP32[$69>>2]|0;HEAP32[$2729+4>>2]=HEAP32[$69+4>>2]|0;
-      $2733 = ((($1)) + 92|0);
-      $2734 = ((($2733)) + 416|0);
-      HEAP32[$2734>>2] = $$11049;
-      $2735 = ((($$61078)) + 4|0);
-      $2736 = HEAP32[$2735>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2736;$$61078 = $2735;$$sink$reg2mem$0 = $2736;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 66:  {
-      $2973 = $$21052 >>> 14;
-      $2974 = $2973 & 511;
-      $2975 = $$21052 >>> 23;
-      $2976 = $2975 & 511;
-      $2977 = (($$51058) + ($2976<<3)|0);
-      $2978 = (($$51058) + ($2974<<3)|0);
-      $2979 = (($2974) + 1)|0;
-      $2980 = (($$51058) + ($2979<<3)|0);
-      $2981 = $$21052 >>> 7;
-      $2982 = $2981 & 127;
-      $2983 = $2982&255;
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1152>>2]=HEAP32[$2978>>2]|0;HEAP32[$$byval_copy1152+4>>2]=HEAP32[$2978+4>>2]|0;
-      ;HEAP32[$$byval_copy1153>>2]=HEAP32[$2980>>2]|0;HEAP32[$$byval_copy1153+4>>2]=HEAP32[$2980+4>>2]|0;
-      invoke_viiiii(200,($84|0),($1|0),($$byval_copy1152|0),($$byval_copy1153|0),($2983|0));
-      $2984 = __THREW__; __THREW__ = 0;
-      if ((($2984|0) != 0) & ((threwValue|0) != 0)) { $2985 = _testSetjmp(HEAP32[$2984>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2985|0) == 0) { _longjmp($2984|0, threwValue|0); } tempRet0 = (threwValue); } else { $2985 = -1; };
-      $2986 = tempRet0;
-      $cond1274 = ($2985|0)==(1);
-      if ($cond1274) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2986;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$2977>>2]=HEAP32[$84>>2]|0;HEAP32[$2977+4>>2]=HEAP32[$84+4>>2]|0;
-      $2987 = ((($1)) + 92|0);
-      $2988 = ((($2987)) + 416|0);
-      HEAP32[$2988>>2] = $$11049;
-      $2989 = ((($$61078)) + 4|0);
-      $2990 = HEAP32[$2989>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2990;$$61078 = $2989;$$sink$reg2mem$0 = $2990;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 67:  {
-      $2737 = $$21052 >>> 23;
-      $2738 = $2737 & 511;
-      $2739 = (($$51058) + ($2738<<3)|0);
-      $2740 = ((($1)) + 32|0);
-      $2741 = HEAP32[$2740>>2]|0;
-      __THREW__ = 0;
-      invoke_vii(133,($70|0),($2741|0));
-      $2742 = __THREW__; __THREW__ = 0;
-      if ((($2742|0) != 0) & ((threwValue|0) != 0)) { $2743 = _testSetjmp(HEAP32[$2742>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2743|0) == 0) { _longjmp($2742|0, threwValue|0); } tempRet0 = (threwValue); } else { $2743 = -1; };
-      $2744 = tempRet0;
-      $cond1273 = ($2743|0)==(1);
-      if ($cond1273) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2744;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$2739>>2]=HEAP32[$70>>2]|0;HEAP32[$2739+4>>2]=HEAP32[$70+4>>2]|0;
-      $2745 = ((($$61078)) + 4|0);
-      $2746 = HEAP32[$2745>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2746;$$61078 = $2745;$$sink$reg2mem$0 = $2746;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 68:  {
-      $2747 = $$21052 >>> 23;
-      $2748 = $2747 & 511;
-      $2749 = $$21052 >>> 14;
-      $2750 = $2749 & 511;
-      $2751 = (($$6) + ($2750<<2)|0);
-      $2752 = HEAP32[$2751>>2]|0;
-      $2753 = (($$51058) + ($2748<<3)|0);
-      ;HEAP32[$71>>2]=HEAP32[$2753>>2]|0;HEAP32[$71+4>>2]=HEAP32[$2753+4>>2]|0;
-      $2754 = (($2748) + 1)|0;
-      $2755 = (($$51058) + ($2754<<3)|0);
-      ;HEAP32[$72>>2]=HEAP32[$2755>>2]|0;HEAP32[$72+4>>2]=HEAP32[$2755+4>>2]|0;
-      $2756 = ((($71)) + 4|0);
-      $2757 = HEAP32[$2756>>2]|0;
-      $2758 = ($2757|0)==(0);
-      if ($2758) {
-       $2759 = HEAP32[$71>>2]|0;
-       $2760 = ($2759|0)!=(0);
-       if (!($2760)) {
-        $2761 = ((($1)) + 12|0);
-        $2762 = HEAP32[$2761>>2]|0;
-        $2763 = ((($2762)) + 16|0);
-        $2764 = HEAP32[$2763>>2]|0;
-        $2765 = ((($2764)) + 44|0);
-        $2766 = HEAP32[$2765>>2]|0;
-        __THREW__ = 0;
-        invoke_vii(133,($73|0),($2766|0));
-        $2767 = __THREW__; __THREW__ = 0;
-        if ((($2767|0) != 0) & ((threwValue|0) != 0)) { $2768 = _testSetjmp(HEAP32[$2767>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2768|0) == 0) { _longjmp($2767|0, threwValue|0); } tempRet0 = (threwValue); } else { $2768 = -1; };
-        $2769 = tempRet0;
-        $cond1272 = ($2768|0)==(1);
-        if ($cond1272) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2769;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        ;HEAP32[$71>>2]=HEAP32[$73>>2]|0;HEAP32[$71+4>>2]=HEAP32[$73+4>>2]|0;
-       }
-      }
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1146>>2]=HEAP32[$71>>2]|0;HEAP32[$$byval_copy1146+4>>2]=HEAP32[$71+4>>2]|0;
-      ;HEAP32[$$byval_copy1147>>2]=HEAP32[$72>>2]|0;HEAP32[$$byval_copy1147+4>>2]=HEAP32[$72+4>>2]|0;
-      $2770 = (invoke_iiiii(196,($1|0),($$byval_copy1146|0),($$byval_copy1147|0),($2752|0))|0);
-      $2771 = __THREW__; __THREW__ = 0;
-      if ((($2771|0) != 0) & ((threwValue|0) != 0)) { $2772 = _testSetjmp(HEAP32[$2771>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2772|0) == 0) { _longjmp($2771|0, threwValue|0); } tempRet0 = (threwValue); } else { $2772 = -1; };
-      $2773 = tempRet0;
-      $cond1270 = ($2772|0)==(1);
-      if ($cond1270) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2773;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2774 = (($$51058) + ($2748<<3)|0);
-      __THREW__ = 0;
-      invoke_vii(133,($74|0),($2770|0));
-      $2775 = __THREW__; __THREW__ = 0;
-      if ((($2775|0) != 0) & ((threwValue|0) != 0)) { $2776 = _testSetjmp(HEAP32[$2775>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2776|0) == 0) { _longjmp($2775|0, threwValue|0); } tempRet0 = (threwValue); } else { $2776 = -1; };
-      $2777 = tempRet0;
-      $cond1271 = ($2776|0)==(1);
-      if ($cond1271) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2777;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$2774>>2]=HEAP32[$74>>2]|0;HEAP32[$2774+4>>2]=HEAP32[$74+4>>2]|0;
-      $2778 = ((($1)) + 92|0);
-      $2779 = ((($2778)) + 416|0);
-      HEAP32[$2779>>2] = $$11049;
-      $2780 = ((($$61078)) + 4|0);
-      $2781 = HEAP32[$2780>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2781;$$61078 = $2780;$$sink$reg2mem$0 = $2781;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 69:  {
-      $2782 = $$21052 >>> 23;
-      $2783 = $2782 & 511;
-      $2784 = $$21052 >>> 14;
-      $2785 = $2784 & 511;
-      $2786 = (($$6) + ($2785<<2)|0);
-      $2787 = HEAP32[$2786>>2]|0;
-      $2788 = (($$51058) + ($2783<<3)|0);
-      ;HEAP32[$75>>2]=HEAP32[$2788>>2]|0;HEAP32[$75+4>>2]=HEAP32[$2788+4>>2]|0;
-      $2789 = ((($75)) + 4|0);
-      $2790 = HEAP32[$2789>>2]|0;
-      $2791 = ($2790|0)==(0);
-      if ($2791) {
-       $2792 = HEAP32[$75>>2]|0;
-       $2793 = ($2792|0)!=(0);
-       if (!($2793)) {
-        $2794 = ((($1)) + 12|0);
-        $2795 = HEAP32[$2794>>2]|0;
-        $2796 = ((($2795)) + 16|0);
-        $2797 = HEAP32[$2796>>2]|0;
-        $2798 = ((($2797)) + 44|0);
-        $2799 = HEAP32[$2798>>2]|0;
-        __THREW__ = 0;
-        invoke_vii(133,($76|0),($2799|0));
-        $2800 = __THREW__; __THREW__ = 0;
-        if ((($2800|0) != 0) & ((threwValue|0) != 0)) { $2801 = _testSetjmp(HEAP32[$2800>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2801|0) == 0) { _longjmp($2800|0, threwValue|0); } tempRet0 = (threwValue); } else { $2801 = -1; };
-        $2802 = tempRet0;
-        $cond1269 = ($2801|0)==(1);
-        if ($cond1269) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2802;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        ;HEAP32[$75>>2]=HEAP32[$76>>2]|0;HEAP32[$75+4>>2]=HEAP32[$76+4>>2]|0;
-       }
-      }
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1148>>2]=HEAP32[$75>>2]|0;HEAP32[$$byval_copy1148+4>>2]=HEAP32[$75+4>>2]|0;
-      $2803 = (invoke_iiii(197,($1|0),($$byval_copy1148|0),($2787|0))|0);
-      $2804 = __THREW__; __THREW__ = 0;
-      if ((($2804|0) != 0) & ((threwValue|0) != 0)) { $2805 = _testSetjmp(HEAP32[$2804>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2805|0) == 0) { _longjmp($2804|0, threwValue|0); } tempRet0 = (threwValue); } else { $2805 = -1; };
-      $2806 = tempRet0;
-      $cond1267 = ($2805|0)==(1);
-      if ($cond1267) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2806;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2807 = (($$51058) + ($2783<<3)|0);
-      __THREW__ = 0;
-      invoke_vii(133,($77|0),($2803|0));
-      $2808 = __THREW__; __THREW__ = 0;
-      if ((($2808|0) != 0) & ((threwValue|0) != 0)) { $2809 = _testSetjmp(HEAP32[$2808>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2809|0) == 0) { _longjmp($2808|0, threwValue|0); } tempRet0 = (threwValue); } else { $2809 = -1; };
-      $2810 = tempRet0;
-      $cond1268 = ($2809|0)==(1);
-      if ($cond1268) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2810;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$2807>>2]=HEAP32[$77>>2]|0;HEAP32[$2807+4>>2]=HEAP32[$77+4>>2]|0;
-      $2811 = ((($1)) + 92|0);
-      $2812 = ((($2811)) + 416|0);
-      HEAP32[$2812>>2] = $$11049;
-      $2813 = ((($$61078)) + 4|0);
-      $2814 = HEAP32[$2813>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2814;$$61078 = $2813;$$sink$reg2mem$0 = $2814;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 70:  {
-      $2815 = $$21052 >>> 23;
-      $2816 = $2815 & 511;
-      $2817 = (($$51058) + ($2816<<3)|0);
-      ;HEAP32[$78>>2]=HEAP32[$2817>>2]|0;HEAP32[$78+4>>2]=HEAP32[$2817+4>>2]|0;
-      __THREW__ = 0;
-      $2818 = (invoke_ii(141,($1|0))|0);
-      $2819 = __THREW__; __THREW__ = 0;
-      if ((($2819|0) != 0) & ((threwValue|0) != 0)) { $2820 = _testSetjmp(HEAP32[$2819>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2820|0) == 0) { _longjmp($2819|0, threwValue|0); } tempRet0 = (threwValue); } else { $2820 = -1; };
-      $2821 = tempRet0;
-      $cond1261 = ($2820|0)==(1);
-      if ($cond1261) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2821;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2822 = ((($$61078)) + 4|0);
-      $2823 = ((($2818)) + 28|0);
-      HEAP32[$2823>>2] = $2822;
-      $2824 = ((($2818)) + 40|0);
-      HEAP32[$2824>>2] = $2816;
-      HEAP32[$2818>>2] = 0;
-      $2825 = ((($1)) + 12|0);
-      $2826 = HEAP32[$2825>>2]|0;
-      $2827 = ((($2826)) + 4|0);
-      $2828 = HEAP32[$2827>>2]|0;
-      $2829 = ((($2818)) + 8|0);
-      HEAP32[$2829>>2] = $2828;
-      $2830 = ((($2818)) + 36|0);
-      HEAP32[$2830>>2] = 0;
-      $2831 = HEAP32[$78>>2]|0;
-      $2832 = ((($2818)) + 44|0);
-      HEAP32[$2832>>2] = $2831;
-      $2833 = ((($1)) + 12|0);
-      $2834 = HEAP32[$2833>>2]|0;
-      $2835 = ((($2834)) + 4|0);
-      $2836 = HEAP32[$2835>>2]|0;
-      $2837 = (($2836) + ($2816<<3)|0);
-      HEAP32[$2835>>2] = $2837;
-      $2838 = ((($$8)) + 20|0);
-      $2839 = HEAP32[$2838>>2]|0;
-      $2840 = $$21052 >>> 7;
-      $2841 = $2840 & 65535;
-      $2842 = (($2839) + ($2841<<2)|0);
-      $2843 = HEAP32[$2842>>2]|0;
-      __THREW__ = 0;
-      $2844 = (invoke_iii(195,($1|0),($2843|0))|0);
-      $2845 = __THREW__; __THREW__ = 0;
-      if ((($2845|0) != 0) & ((threwValue|0) != 0)) { $2846 = _testSetjmp(HEAP32[$2845>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2846|0) == 0) { _longjmp($2845|0, threwValue|0); } tempRet0 = (threwValue); } else { $2846 = -1; };
-      $2847 = tempRet0;
-      $cond1262 = ($2846|0)==(1);
-      if ($cond1262) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2847;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2848 = ((($2818)) + 44|0);
-      $2849 = HEAP32[$2848>>2]|0;
-      $2850 = ((($2844)) + 16|0);
-      HEAP32[$2850>>2] = $2849;
-      $2851 = ((($2818)) + 4|0);
-      HEAP32[$2851>>2] = $2844;
-      $2852 = HEAP32[$2844>>2]|0;
-      $2853 = $2852 >>> 11;
-      $2854 = $2853 & 128;
-      $2855 = ($2854|0)!=(0);
-      if (!($2855)) {
-       $2886 = ((($2844)) + 12|0);
-       $2887 = HEAP32[$2886>>2]|0;
-       $2888 = ((($2887)) + 12|0);
-       $2889 = HEAP32[$2888>>2]|0;
-       $2890 = ((($2887)) + 16|0);
-       $2891 = HEAP32[$2890>>2]|0;
-       $2892 = ((($2887)) + 2|0);
-       $2893 = HEAP16[$2892>>1]|0;
-       $2894 = $2893&65535;
-       __THREW__ = 0;
-       invoke_viii(142,($1|0),($2894|0),1);
-       $2895 = __THREW__; __THREW__ = 0;
-       if ((($2895|0) != 0) & ((threwValue|0) != 0)) { $2896 = _testSetjmp(HEAP32[$2895>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2896|0) == 0) { _longjmp($2895|0, threwValue|0); } tempRet0 = (threwValue); } else { $2896 = -1; };
-       $2897 = tempRet0;
-       $cond1263 = ($2896|0)==(1);
-       if ($cond1263) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $2891;$$11066 = $2889;$$11073 = $$61078;$$11080 = $2887;$$11087 = $$81094;$$reg2mem1002$0 = $2897;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $2898 = ((($2887)) + 2|0);
-       $2899 = HEAP16[$2898>>1]|0;
-       $2900 = $2899&65535;
-       $2901 = ((($2818)) + 12|0);
-       HEAP32[$2901>>2] = $2900;
-       $2902 = ((($1)) + 12|0);
-       $2903 = HEAP32[$2902>>2]|0;
-       $2904 = ((($2903)) + 4|0);
-       $2905 = HEAP32[$2904>>2]|0;
-       $2906 = ((($2887)) + 8|0);
-       $2907 = HEAP32[$2906>>2]|0;
-       $2908 = HEAP32[$2907>>2]|0;
-       $$81094$phi = $$81094;$$5$phi = $$5;$$21052 = $2908;$$51058 = $2905;$$6 = $2891;$$61071 = $2889;$$61078 = $2907;$$8 = $2887;$$sink$reg2mem$0 = $2908;$$81094 = $$81094$phi;$$5 = $$5$phi;
-       label = 583;
-       continue L19;
-      }
-      $2856 = ((($2818)) + 12|0);
-      HEAP32[$2856>>2] = 0;
-      $2857 = ((($1)) + 12|0);
-      $2858 = HEAP32[$2857>>2]|0;
-      $2859 = ((($2858)) + 4|0);
-      $2860 = HEAP32[$2859>>2]|0;
-      $2861 = ((($2844)) + 12|0);
-      $2862 = HEAP32[$2861>>2]|0;
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1149>>2]=HEAP32[$78>>2]|0;HEAP32[$$byval_copy1149+4>>2]=HEAP32[$78+4>>2]|0;
-      invoke_viii($2862|0,($79|0),($1|0),($$byval_copy1149|0));
-      $2863 = __THREW__; __THREW__ = 0;
-      if ((($2863|0) != 0) & ((threwValue|0) != 0)) { $2864 = _testSetjmp(HEAP32[$2863>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2864|0) == 0) { _longjmp($2863|0, threwValue|0); } tempRet0 = (threwValue); } else { $2864 = -1; };
-      $2865 = tempRet0;
-      $cond1264 = ($2864|0)==(1);
-      if ($cond1264) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2865;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$2860>>2]=HEAP32[$79>>2]|0;HEAP32[$2860+4>>2]=HEAP32[$79+4>>2]|0;
-      __THREW__ = 0;
-      invoke_vii(146,($1|0),($$11049|0));
-      $2866 = __THREW__; __THREW__ = 0;
-      if ((($2866|0) != 0) & ((threwValue|0) != 0)) { $2867 = _testSetjmp(HEAP32[$2866>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2867|0) == 0) { _longjmp($2866|0, threwValue|0); } tempRet0 = (threwValue); } else { $2867 = -1; };
-      $2868 = tempRet0;
-      $cond1265 = ($2867|0)==(1);
-      if ($cond1265) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2868;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2869 = ((($1)) + 20|0);
-      $2870 = HEAP32[$2869>>2]|0;
-      $2871 = ($2870|0)!=(0|0);
-      if ($2871) {
-       $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-       label = 272;
-       continue L19;
-      }
-      $2872 = ((($1)) + 12|0);
-      $2873 = HEAP32[$2872>>2]|0;
-      $2874 = ((($2873)) + 16|0);
-      $2875 = HEAP32[$2874>>2]|0;
-      $2876 = ((($2875)) + 8|0);
-      $2877 = HEAP32[$2876>>2]|0;
-      $2878 = ((($1)) + 12|0);
-      $2879 = HEAP32[$2878>>2]|0;
-      $2880 = ((($2879)) + 4|0);
-      HEAP32[$2880>>2] = $2877;
-      __THREW__ = 0;
-      invoke_vi(132,($1|0));
-      $2881 = __THREW__; __THREW__ = 0;
-      if ((($2881|0) != 0) & ((threwValue|0) != 0)) { $2882 = _testSetjmp(HEAP32[$2881>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2882|0) == 0) { _longjmp($2881|0, threwValue|0); } tempRet0 = (threwValue); } else { $2882 = -1; };
-      $2883 = tempRet0;
-      $cond1266 = ($2882|0)==(1);
-      if ($cond1266) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $2877;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2883;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2884 = ((($$61078)) + 4|0);
-      $2885 = HEAP32[$2884>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$5$phi = $$5;$$21052 = $2885;$$51058 = $2877;$$61078 = $2884;$$sink$reg2mem$0 = $2885;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 71:  {
-      $2909 = $$21052 >>> 23;
-      $2910 = $2909 & 511;
-      $2911 = (($$51058) + ($2910<<3)|0);
-      $2912 = HEAP32[$2911>>2]|0;
-      $2913 = (($2910) + 1)|0;
-      $2914 = (($$51058) + ($2913<<3)|0);
-      $2915 = HEAP32[$2914>>2]|0;
-      $2916 = $$21052 >>> 14;
-      $2917 = $2916 & 511;
-      $2918 = (($$6) + ($2917<<2)|0);
-      $2919 = HEAP32[$2918>>2]|0;
-      __THREW__ = 0;
-      invoke_viiii(198,($1|0),($2912|0),($2919|0),($2915|0));
-      $2920 = __THREW__; __THREW__ = 0;
-      if ((($2920|0) != 0) & ((threwValue|0) != 0)) { $2921 = _testSetjmp(HEAP32[$2920>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2921|0) == 0) { _longjmp($2920|0, threwValue|0); } tempRet0 = (threwValue); } else { $2921 = -1; };
-      $2922 = tempRet0;
-      $cond1260 = ($2921|0)==(1);
-      if ($cond1260) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2922;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2923 = ((($1)) + 92|0);
-      $2924 = ((($2923)) + 416|0);
-      HEAP32[$2924>>2] = $$11049;
-      $2925 = ((($$61078)) + 4|0);
-      $2926 = HEAP32[$2925>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2926;$$61078 = $2925;$$sink$reg2mem$0 = $2926;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 72:  {
-      $2927 = $$21052 >>> 23;
-      $2928 = $2927 & 511;
-      $2929 = (($$51058) + ($2928<<3)|0);
-      $2930 = $$21052 >>> 14;
-      $2931 = $2930 & 511;
-      $2932 = (($$51058) + ($2931<<3)|0);
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1150>>2]=HEAP32[$2932>>2]|0;HEAP32[$$byval_copy1150+4>>2]=HEAP32[$2932+4>>2]|0;
-      invoke_viii(199,($80|0),($1|0),($$byval_copy1150|0));
-      $2933 = __THREW__; __THREW__ = 0;
-      if ((($2933|0) != 0) & ((threwValue|0) != 0)) { $2934 = _testSetjmp(HEAP32[$2933>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2934|0) == 0) { _longjmp($2933|0, threwValue|0); } tempRet0 = (threwValue); } else { $2934 = -1; };
-      $2935 = tempRet0;
-      $cond1259 = ($2934|0)==(1);
-      if ($cond1259) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2935;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      ;HEAP32[$2929>>2]=HEAP32[$80>>2]|0;HEAP32[$2929+4>>2]=HEAP32[$80+4>>2]|0;
-      $2936 = ((($1)) + 92|0);
-      $2937 = ((($2936)) + 416|0);
-      HEAP32[$2937>>2] = $$11049;
-      $2938 = ((($$61078)) + 4|0);
-      $2939 = HEAP32[$2938>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2939;$$61078 = $2938;$$sink$reg2mem$0 = $2939;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     case 73:  {
-      $2940 = ((($1)) + 12|0);
-      $2941 = HEAP32[$2940>>2]|0;
-      $2942 = ((($2941)) + 16|0);
-      $2943 = HEAP32[$2942>>2]|0;
-      $2944 = ((($2943)) + 44|0);
-      $2945 = HEAP32[$2944>>2]|0;
-      $2946 = ($2945|0)!=(0|0);
-      if ($2946) {
-       $2959 = $$21052 >>> 23;
-       $2960 = $2959 & 511;
-       $2961 = (($$51058) + ($2960<<3)|0);
-       $2962 = ((($1)) + 12|0);
-       $2963 = HEAP32[$2962>>2]|0;
-       $2964 = ((($2963)) + 16|0);
-       $2965 = HEAP32[$2964>>2]|0;
-       $2966 = ((($2965)) + 44|0);
-       $2967 = HEAP32[$2966>>2]|0;
-       __THREW__ = 0;
-       invoke_vii(133,($83|0),($2967|0));
-       $2968 = __THREW__; __THREW__ = 0;
-       if ((($2968|0) != 0) & ((threwValue|0) != 0)) { $2969 = _testSetjmp(HEAP32[$2968>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2969|0) == 0) { _longjmp($2968|0, threwValue|0); } tempRet0 = (threwValue); } else { $2969 = -1; };
-       $2970 = tempRet0;
-       $cond1258 = ($2969|0)==(1);
-       if ($cond1258) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2970;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       ;HEAP32[$2961>>2]=HEAP32[$83>>2]|0;HEAP32[$2961+4>>2]=HEAP32[$83+4>>2]|0;
-       $2971 = ((($$61078)) + 4|0);
-       $2972 = HEAP32[$2971>>2]|0;
-       $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $2972;$$61078 = $2971;$$sink$reg2mem$0 = $2972;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-       label = 583;
-       continue L19;
-      }
-      __THREW__ = 0;
-      $2947 = (invoke_iii(135,($1|0),(69204|0))|0);
-      $2948 = __THREW__; __THREW__ = 0;
-      if ((($2948|0) != 0) & ((threwValue|0) != 0)) { $2949 = _testSetjmp(HEAP32[$2948>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2949|0) == 0) { _longjmp($2948|0, threwValue|0); } tempRet0 = (threwValue); } else { $2949 = -1; };
-      $2950 = tempRet0;
-      $cond1246 = ($2949|0)==(1);
-      if ($cond1246) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2950;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      __THREW__ = 0;
-      invoke_viiii(171,($82|0),($1|0),(56788|0),25);
-      $2951 = __THREW__; __THREW__ = 0;
-      if ((($2951|0) != 0) & ((threwValue|0) != 0)) { $2952 = _testSetjmp(HEAP32[$2951>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2952|0) == 0) { _longjmp($2951|0, threwValue|0); } tempRet0 = (threwValue); } else { $2952 = -1; };
-      $2953 = tempRet0;
-      $cond1247 = ($2952|0)==(1);
-      if ($cond1247) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2953;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      __THREW__ = 0;
-      ;HEAP32[$$byval_copy1151>>2]=HEAP32[$82>>2]|0;HEAP32[$$byval_copy1151+4>>2]=HEAP32[$82+4>>2]|0;
-      invoke_viiii(172,($81|0),($1|0),($2947|0),($$byval_copy1151|0));
-      $2954 = __THREW__; __THREW__ = 0;
-      if ((($2954|0) != 0) & ((threwValue|0) != 0)) { $2955 = _testSetjmp(HEAP32[$2954>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2955|0) == 0) { _longjmp($2954|0, threwValue|0); } tempRet0 = (threwValue); } else { $2955 = -1; };
-      $2956 = tempRet0;
-      $cond1248 = ($2955|0)==(1);
-      if ($cond1248) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2956;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $2957 = HEAP32[$81>>2]|0;
-      $2958 = ((($1)) + 20|0);
-      HEAP32[$2958>>2] = $2957;
-      $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-      label = 272;
-      continue L19;
-      break;
-     }
-     case 74:  {
-      $2991 = $$21052 >>> 23;
-      $2992 = $2991 & 511;
-      $2993 = $$21052 >>> 14;
-      $2994 = $2993 & 511;
-      $2995 = $$21052 >>> 7;
-      $2996 = $2995 & 127;
-      __THREW__ = 0;
-      HEAP32[$vararg_buffer>>2] = $2992;
-      $vararg_ptr1095 = ((($vararg_buffer)) + 4|0);
-      HEAP32[$vararg_ptr1095>>2] = $2994;
-      $vararg_ptr1096 = ((($vararg_buffer)) + 8|0);
-      HEAP32[$vararg_ptr1096>>2] = $2996;
-      (invoke_iii(201,(56814|0),($vararg_buffer|0))|0);
-      $2997 = __THREW__; __THREW__ = 0;
-      if ((($2997|0) != 0) & ((threwValue|0) != 0)) { $2998 = _testSetjmp(HEAP32[$2997>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($2998|0) == 0) { _longjmp($2997|0, threwValue|0); } tempRet0 = (threwValue); } else { $2998 = -1; };
-      $2999 = tempRet0;
-      $cond1245 = ($2998|0)==(1);
-      if ($cond1245) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $2999;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $3000 = ((($$61078)) + 4|0);
-      $3001 = HEAP32[$3000>>2]|0;
-      $$81094$phi = $$81094;$$8$phi = $$8;$$61071$phi = $$61071;$$6$phi = $$6;$$51058$phi = $$51058;$$5$phi = $$5;$$21052 = $3001;$$61078 = $3000;$$sink$reg2mem$0 = $3001;$$81094 = $$81094$phi;$$8 = $$8$phi;$$61071 = $$61071$phi;$$6 = $$6$phi;$$51058 = $$51058$phi;$$5 = $$5$phi;
-      label = 583;
-      continue L19;
-      break;
-     }
-     default: {
-      label = 584;
-      break L3;
-     }
-     }
-    } while(0);
-    if ((label|0) == 90) {
-     label = 0;
-     $643 = $$01050 >>> 23;
-     $644 = $643 & 511;
-     $645 = $$01050 >>> 7;
-     $646 = $645 & 127;
-     $647 = $$01050 >>> 14;
-     $648 = $647 & 511;
-     $649 = (($$6) + ($648<<2)|0);
-     $650 = HEAP32[$649>>2]|0;
-     $651 = (($$51058) + ($644<<3)|0);
-     ;HEAP32[$16>>2]=HEAP32[$651>>2]|0;HEAP32[$16+4>>2]=HEAP32[$651+4>>2]|0;
-     $652 = $$01050 & 127;
-     $653 = ($652|0)!=(33);
-     if ($653) {
-      $654 = ($646|0)==(127);
-      if ($654) {
-       $655 = (($644) + 2)|0;
-       $656 = (($$51058) + ($655<<3)|0);
-       $657 = ((($656)) + 4|0);
-       HEAP32[$657>>2] = 0;
-       $658 = (($644) + 2)|0;
-       $$sink24$reg2mem$0 = $658;
-      } else {
-       $659 = (($644) + ($646))|0;
-       $660 = (($659) + 1)|0;
-       $661 = (($$51058) + ($660<<3)|0);
-       $662 = ((($661)) + 4|0);
-       HEAP32[$662>>2] = 0;
-       $663 = (($644) + ($646))|0;
-       $664 = (($663) + 1)|0;
-       $$sink24$reg2mem$0 = $664;
-      }
-      $665 = (($$51058) + ($$sink24$reg2mem$0<<3)|0);
-      HEAP32[$665>>2] = 0;
-     }
-     __THREW__ = 0;
-     ;HEAP32[$$byval_copy1104>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy1104+4>>2]=HEAP32[$16+4>>2]|0;
-     $666 = (invoke_iii(138,($1|0),($$byval_copy1104|0))|0);
-     $667 = __THREW__; __THREW__ = 0;
-     if ((($667|0) != 0) & ((threwValue|0) != 0)) { $668 = _testSetjmp(HEAP32[$667>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($668|0) == 0) { _longjmp($667|0, threwValue|0); } tempRet0 = (threwValue); } else { $668 = -1; };
-     $669 = tempRet0;
-     $cond1367 = ($668|0)==(1);
-     if ($cond1367) {
-      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $669;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-      continue L3;
-     }
-     HEAP32[$15>>2] = $666;
-     __THREW__ = 0;
-     $670 = (invoke_iiii(139,($1|0),($15|0),($650|0))|0);
-     $671 = __THREW__; __THREW__ = 0;
-     if ((($671|0) != 0) & ((threwValue|0) != 0)) { $672 = _testSetjmp(HEAP32[$671>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($672|0) == 0) { _longjmp($671|0, threwValue|0); } tempRet0 = (threwValue); } else { $672 = -1; };
-     $673 = tempRet0;
-     $cond1368 = ($672|0)==(1);
-     if ($cond1368) {
-      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $673;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-      continue L3;
-     }
-     $674 = ($670|0)!=(0|0);
-     do {
-      if ($674) {
-       $$01037 = $650;$$01038 = $670;$$01039 = $646;
-      } else {
-       __THREW__ = 0;
-       invoke_vii(143,($18|0),($650|0));
-       $675 = __THREW__; __THREW__ = 0;
-       if ((($675|0) != 0) & ((threwValue|0) != 0)) { $676 = _testSetjmp(HEAP32[$675>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($676|0) == 0) { _longjmp($675|0, threwValue|0); } tempRet0 = (threwValue); } else { $676 = -1; };
-       $677 = tempRet0;
-       $cond1369 = ($676|0)==(1);
-       if ($cond1369) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $677;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       __THREW__ = 0;
-       $678 = (invoke_iiii(140,($1|0),(65621|0),14)|0);
-       $679 = __THREW__; __THREW__ = 0;
-       if ((($679|0) != 0) & ((threwValue|0) != 0)) { $680 = _testSetjmp(HEAP32[$679>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($680|0) == 0) { _longjmp($679|0, threwValue|0); } tempRet0 = (threwValue); } else { $680 = -1; };
-       $681 = tempRet0;
-       $cond1370 = ($680|0)==(1);
-       if ($cond1370) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $681;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       __THREW__ = 0;
-       $682 = (invoke_iiii(139,($1|0),($15|0),($678|0))|0);
-       $683 = __THREW__; __THREW__ = 0;
-       if ((($683|0) != 0) & ((threwValue|0) != 0)) { $684 = _testSetjmp(HEAP32[$683>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($684|0) == 0) { _longjmp($683|0, threwValue|0); } tempRet0 = (threwValue); } else { $684 = -1; };
-       $685 = tempRet0;
-       $cond1371 = ($684|0)==(1);
-       if ($cond1371) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $685;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $686 = ($682|0)!=(0|0);
-       if (!($686)) {
-        $687 = ($646|0)==(127);
-        if ($687) {
-         $688 = (($644) + 1)|0;
-         $689 = (($$51058) + ($688<<3)|0);
-         ;HEAP32[$19>>2]=HEAP32[$689>>2]|0;HEAP32[$19+4>>2]=HEAP32[$689+4>>2]|0;
-        } else {
-         $690 = (($$51058) + ($644<<3)|0);
-         $691 = ((($690)) + 8|0);
-         __THREW__ = 0;
-         invoke_viiii(167,($20|0),($1|0),($646|0),($691|0));
-         $692 = __THREW__; __THREW__ = 0;
-         if ((($692|0) != 0) & ((threwValue|0) != 0)) { $693 = _testSetjmp(HEAP32[$692>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($693|0) == 0) { _longjmp($692|0, threwValue|0); } tempRet0 = (threwValue); } else { $693 = -1; };
-         $694 = tempRet0;
-         $cond1372 = ($693|0)==(1);
-         if ($cond1372) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $694;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-         ;HEAP32[$19>>2]=HEAP32[$20>>2]|0;HEAP32[$19+4>>2]=HEAP32[$20+4>>2]|0;
-        }
-        __THREW__ = 0;
-        ;HEAP32[$$byval_copy1105>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy1105+4>>2]=HEAP32[$16+4>>2]|0;
-        ;HEAP32[$$byval_copy1106>>2]=HEAP32[$19>>2]|0;HEAP32[$$byval_copy1106+4>>2]=HEAP32[$19+4>>2]|0;
-        invoke_viiii(168,($1|0),($650|0),($$byval_copy1105|0),($$byval_copy1106|0));
-        $695 = __THREW__; __THREW__ = 0;
-        if ((($695|0) != 0) & ((threwValue|0) != 0)) { $696 = _testSetjmp(HEAP32[$695>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($696|0) == 0) { _longjmp($695|0, threwValue|0); } tempRet0 = (threwValue); } else { $696 = -1; };
-        $697 = tempRet0;
-        $cond1373 = ($696|0)==(1);
-        if ($cond1373) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $697;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-       }
-       $698 = ($646|0)==(127);
-       if ($698) {
-        $699 = (($644) + 1)|0;
-        $700 = (($$51058) + ($699<<3)|0);
-        __THREW__ = 0;
-        ;HEAP32[$$byval_copy1107>>2]=HEAP32[$700>>2]|0;HEAP32[$$byval_copy1107+4>>2]=HEAP32[$700+4>>2]|0;
-        ;HEAP32[$$byval_copy1108>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy1108+4>>2]=HEAP32[$18+4>>2]|0;
-        invoke_viiii(169,($21|0),($1|0),($$byval_copy1107|0),($$byval_copy1108|0));
-        $701 = __THREW__; __THREW__ = 0;
-        if ((($701|0) != 0) & ((threwValue|0) != 0)) { $702 = _testSetjmp(HEAP32[$701>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($702|0) == 0) { _longjmp($701|0, threwValue|0); } tempRet0 = (threwValue); } else { $702 = -1; };
-        $703 = tempRet0;
-        $cond1375 = ($702|0)==(1);
-        if ($cond1375) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $703;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $$01037 = $678;$$01038 = $682;$$01039 = $646;
-        break;
-       } else {
-        $704 = (($$51058) + ($644<<3)|0);
-        $705 = ((($704)) + 16|0);
-        $706 = (($$51058) + ($644<<3)|0);
-        $707 = ((($706)) + 8|0);
-        $708 = (($646) + 1)|0;
-        __THREW__ = 0;
-        invoke_viii(170,($705|0),($707|0),($708|0));
-        $709 = __THREW__; __THREW__ = 0;
-        if ((($709|0) != 0) & ((threwValue|0) != 0)) { $710 = _testSetjmp(HEAP32[$709>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($710|0) == 0) { _longjmp($709|0, threwValue|0); } tempRet0 = (threwValue); } else { $710 = -1; };
-        $711 = tempRet0;
-        $cond1374 = ($710|0)==(1);
-        if ($cond1374) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $711;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $712 = (($644) + 1)|0;
-        $713 = (($$51058) + ($712<<3)|0);
-        ;HEAP32[$713>>2]=HEAP32[$18>>2]|0;HEAP32[$713+4>>2]=HEAP32[$18+4>>2]|0;
-        $$01037 = $678;$$01038 = $682;$$01039 = $708;
-        break;
-       }
-      }
-     } while(0);
-     __THREW__ = 0;
-     $714 = (invoke_ii(141,($1|0))|0);
-     $715 = __THREW__; __THREW__ = 0;
-     if ((($715|0) != 0) & ((threwValue|0) != 0)) { $716 = _testSetjmp(HEAP32[$715>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($716|0) == 0) { _longjmp($715|0, threwValue|0); } tempRet0 = (threwValue); } else { $716 = -1; };
-     $717 = tempRet0;
-     $cond1376 = ($716|0)==(1);
-     if ($cond1376) {
-      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $717;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-      continue L3;
-     }
-     HEAP32[$714>>2] = $$01037;
-     $718 = ((($714)) + 4|0);
-     HEAP32[$718>>2] = $$01038;
-     $719 = ((($1)) + 12|0);
-     $720 = HEAP32[$719>>2]|0;
-     $721 = ((($720)) + 4|0);
-     $722 = HEAP32[$721>>2]|0;
-     $723 = ((($714)) + 8|0);
-     HEAP32[$723>>2] = $722;
-     $724 = HEAP32[$15>>2]|0;
-     $725 = ((($714)) + 44|0);
-     HEAP32[$725>>2] = $724;
-     $726 = ((($$61078)) + 4|0);
-     $727 = ((($714)) + 28|0);
-     HEAP32[$727>>2] = $726;
-     $728 = ((($714)) + 40|0);
-     HEAP32[$728>>2] = $644;
-     $729 = ((($1)) + 12|0);
-     $730 = HEAP32[$729>>2]|0;
-     $731 = ((($730)) + 4|0);
-     $732 = HEAP32[$731>>2]|0;
-     $733 = (($732) + ($644<<3)|0);
-     HEAP32[$731>>2] = $733;
-     $734 = HEAP32[$$01038>>2]|0;
-     $735 = $734 >>> 11;
-     $736 = $735 & 128;
-     $737 = ($736|0)!=(0);
-     if (!($737)) {
-      $792 = ((($1)) + 12|0);
-      $793 = HEAP32[$792>>2]|0;
-      $794 = ((($793)) + 16|0);
-      $795 = HEAP32[$794>>2]|0;
-      $796 = ((($795)) + 4|0);
-      HEAP32[$796>>2] = $$01038;
-      $797 = ((($$01038)) + 12|0);
-      $798 = HEAP32[$797>>2]|0;
-      $799 = ((($798)) + 12|0);
-      $800 = HEAP32[$799>>2]|0;
-      $801 = ((($798)) + 16|0);
-      $802 = HEAP32[$801>>2]|0;
-      $803 = ((($798)) + 2|0);
-      $804 = HEAP16[$803>>1]|0;
-      $805 = $804&65535;
-      $806 = ((($714)) + 12|0);
-      HEAP32[$806>>2] = $805;
-      $807 = ($$01039|0)==(127);
-      if ($807) {
-       $808 = ((($714)) + 36|0);
-       HEAP32[$808>>2] = -1;
-       $809 = ((($798)) + 2|0);
-       $810 = HEAP16[$809>>1]|0;
-       $811 = $810&65535;
-       $812 = ($811|0)<(3);
-       if ($812) {
-        $$reg2mem1000$0 = 3;
-       } else {
-        $813 = ((($798)) + 2|0);
-        $814 = HEAP16[$813>>1]|0;
-        $815 = $814&65535;
-        $$reg2mem1000$0 = $815;
-       }
-       __THREW__ = 0;
-       invoke_viii(142,($1|0),($$reg2mem1000$0|0),3);
-       $816 = __THREW__; __THREW__ = 0;
-       if ((($816|0) != 0) & ((threwValue|0) != 0)) { $817 = _testSetjmp(HEAP32[$816>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($817|0) == 0) { _longjmp($816|0, threwValue|0); } tempRet0 = (threwValue); } else { $817 = -1; };
-       $818 = tempRet0;
-       $cond1378 = ($817|0)==(1);
-       if ($cond1378) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $802;$$11066 = $800;$$11073 = $$61078;$$11080 = $798;$$11087 = $$01038;$$reg2mem1002$0 = $818;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-      } else {
-       $819 = ((($714)) + 36|0);
-       HEAP32[$819>>2] = $$01039;
-       $820 = ((($798)) + 2|0);
-       $821 = HEAP16[$820>>1]|0;
-       $822 = $821&65535;
-       $823 = (($$01039) + 2)|0;
-       __THREW__ = 0;
-       invoke_viii(142,($1|0),($822|0),($823|0));
-       $824 = __THREW__; __THREW__ = 0;
-       if ((($824|0) != 0) & ((threwValue|0) != 0)) { $825 = _testSetjmp(HEAP32[$824>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($825|0) == 0) { _longjmp($824|0, threwValue|0); } tempRet0 = (threwValue); } else { $825 = -1; };
-       $826 = tempRet0;
-       $cond1377 = ($825|0)==(1);
-       if ($cond1377) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $802;$$11066 = $800;$$11073 = $$61078;$$11080 = $798;$$11087 = $$01038;$$reg2mem1002$0 = $826;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-      }
-      $827 = ((($1)) + 12|0);
-      $828 = HEAP32[$827>>2]|0;
-      $829 = ((($828)) + 4|0);
-      $830 = HEAP32[$829>>2]|0;
-      $831 = ((($798)) + 8|0);
-      $832 = HEAP32[$831>>2]|0;
-      $833 = HEAP32[$832>>2]|0;
-      $$5$phi = $$5;$$21052 = $833;$$51058 = $830;$$6 = $802;$$61071 = $800;$$61078 = $832;$$8 = $798;$$81094 = $$01038;$$sink$reg2mem$0 = $833;$$5 = $$5$phi;
-      label = 583;
-      continue;
-     }
-     $738 = ($$01039|0)==(127);
-     if ($738) {
-      $739 = ((($714)) + 36|0);
-      HEAP32[$739>>2] = -1;
-      $$sink5$reg2mem$0 = 3;
-     } else {
-      $740 = ((($714)) + 36|0);
-      HEAP32[$740>>2] = $$01039;
-      $741 = (($$01039) + 2)|0;
-      $$sink5$reg2mem$0 = $741;
-     }
-     $742 = ((($714)) + 12|0);
-     HEAP32[$742>>2] = $$sink5$reg2mem$0;
-     $743 = ((($$01038)) + 12|0);
-     $744 = HEAP32[$743>>2]|0;
-     __THREW__ = 0;
-     ;HEAP32[$$byval_copy1109>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy1109+4>>2]=HEAP32[$16+4>>2]|0;
-     invoke_viii($744|0,($22|0),($1|0),($$byval_copy1109|0));
-     $745 = __THREW__; __THREW__ = 0;
-     if ((($745|0) != 0) & ((threwValue|0) != 0)) { $746 = _testSetjmp(HEAP32[$745>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($746|0) == 0) { _longjmp($745|0, threwValue|0); } tempRet0 = (threwValue); } else { $746 = -1; };
-     $747 = tempRet0;
-     $cond1379 = ($746|0)==(1);
-     if ($cond1379) {
-      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $747;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-      continue L3;
-     }
-     ;HEAP32[$17>>2]=HEAP32[$22>>2]|0;HEAP32[$17+4>>2]=HEAP32[$22+4>>2]|0;
-     $748 = ((($1)) + 12|0);
-     $749 = HEAP32[$748>>2]|0;
-     $750 = ((($749)) + 4|0);
-     $751 = HEAP32[$750>>2]|0;
-     ;HEAP32[$751>>2]=HEAP32[$17>>2]|0;HEAP32[$751+4>>2]=HEAP32[$17+4>>2]|0;
-     __THREW__ = 0;
-     invoke_vii(146,($1|0),($$11049|0));
-     $752 = __THREW__; __THREW__ = 0;
-     if ((($752|0) != 0) & ((threwValue|0) != 0)) { $753 = _testSetjmp(HEAP32[$752>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($753|0) == 0) { _longjmp($752|0, threwValue|0); } tempRet0 = (threwValue); } else { $753 = -1; };
-     $754 = tempRet0;
-     $cond1380 = ($753|0)==(1);
-     if ($cond1380) {
-      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$8;$$11087 = $$81094;$$reg2mem1002$0 = $754;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-      continue L3;
-     }
-     $755 = ((($1)) + 20|0);
-     $756 = HEAP32[$755>>2]|0;
-     $757 = ($756|0)!=(0|0);
-     if ($757) {
-      $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$8;$$51091 = $$81094;
-      label = 272;
-      continue;
-     }
-     $758 = ((($1)) + 12|0);
-     $759 = HEAP32[$758>>2]|0;
-     $760 = ((($759)) + 16|0);
-     $761 = HEAP32[$760>>2]|0;
-     $762 = ((($761)) + 44|0);
-     $763 = HEAP32[$762>>2]|0;
-     $764 = ($763|0)!=(0|0);
-     if ($764) {
-      $$21061 = $$6;$$21067 = $$61071;$$21081 = $$8;$$21088 = $$81094;
-     } else {
-      $765 = ((($761)) + -48|0);
-      $766 = ((($765)) + 4|0);
-      $767 = HEAP32[$766>>2]|0;
-      $768 = HEAP32[$767>>2]|0;
-      $769 = $768 >>> 11;
-      $770 = $769 & 128;
-      $771 = ($770|0)!=(0);
-      if ($771) {
-       $$21061 = $$6;$$21067 = $$61071;$$21081 = $$8;$$21088 = $$81094;
-      } else {
-       $772 = ((($761)) + -48|0);
-       $773 = ((($772)) + 4|0);
-       $774 = HEAP32[$773>>2]|0;
-       $775 = ((($774)) + 12|0);
-       $776 = HEAP32[$775>>2]|0;
-       $777 = ((($776)) + 12|0);
-       $778 = HEAP32[$777>>2]|0;
-       $779 = ((($776)) + 16|0);
-       $780 = HEAP32[$779>>2]|0;
-       $$21061 = $780;$$21067 = $778;$$21081 = $776;$$21088 = $774;
-      }
-     }
-     $781 = ((($761)) + 8|0);
-     $782 = HEAP32[$781>>2]|0;
-     $783 = ((($1)) + 12|0);
-     $784 = HEAP32[$783>>2]|0;
-     $785 = ((($784)) + 4|0);
-     HEAP32[$785>>2] = $782;
-     $786 = ((($761)) + 28|0);
-     $787 = HEAP32[$786>>2]|0;
-     __THREW__ = 0;
-     invoke_vi(132,($1|0));
-     $788 = __THREW__; __THREW__ = 0;
-     if ((($788|0) != 0) & ((threwValue|0) != 0)) { $789 = _testSetjmp(HEAP32[$788>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($789|0) == 0) { _longjmp($788|0, threwValue|0); } tempRet0 = (threwValue); } else { $789 = -1; };
-     $790 = tempRet0;
-     $cond1381 = ($789|0)==(1);
-     if ($cond1381) {
-      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $782;$$11060 = $$21061;$$11066 = $$21067;$$11073 = $787;$$11080 = $$21081;$$11087 = $$21088;$$reg2mem1002$0 = $790;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-      continue L3;
-     }
-     $791 = HEAP32[$787>>2]|0;
-     $$5$phi = $$5;$$21052 = $791;$$51058 = $782;$$6 = $$21061;$$61071 = $$21067;$$61078 = $787;$$8 = $$21081;$$81094 = $$21088;$$sink$reg2mem$0 = $791;$$5 = $$5$phi;
-     label = 583;
-     continue;
-    }
-    else if ((label|0) == 270) {
-     label = 0;
-     $1399 = $$21052 >>> 23;
-     $1400 = $1399 & 511;
-     $1401 = $1400 & 511;
-     $1402 = $1401 << 23;
-     $1403 = 41 | $1402;
-     $$11051 = $1403;$$41083 = $$31082;$$41090 = $$31089;
-    }
-    $1404 = ((($1)) + 20|0);
-    $1405 = HEAP32[$1404>>2]|0;
-    $1406 = ($1405|0)!=(0|0);
-    if ($1406) {
-     $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
-     label = 272;
-     continue;
-    }
-    $1547 = ((($1)) + 12|0);
-    $1548 = HEAP32[$1547>>2]|0;
-    $1549 = ((($1548)) + 16|0);
-    $1550 = HEAP32[$1549>>2]|0;
-    $1551 = ((($1)) + 12|0);
-    $1552 = HEAP32[$1551>>2]|0;
-    $1553 = ((($1552)) + 16|0);
-    $1554 = HEAP32[$1553>>2]|0;
-    $1555 = ((($1554)) + 20|0);
-    $1556 = HEAP32[$1555>>2]|0;
-    $1557 = $$11051 >>> 23;
-    $1558 = $1557 & 511;
-    $1559 = (($$51058) + ($1558<<3)|0);
-    ;HEAP32[$44>>2]=HEAP32[$1559>>2]|0;HEAP32[$44+4>>2]=HEAP32[$1559+4>>2]|0;
-    $1560 = $$11051 >>> 14;
-    $1561 = $1560 & 511;
-    L646: do {
-     switch ($1561|0) {
-     case 2:  {
-      $1562 = ((($$41090)) + 20|0);
-      $1563 = HEAP32[$1562>>2]|0;
-      $1564 = ($1563|0)!=(0|0);
-      if ($1564) {
-       $1565 = HEAP32[$$41090>>2]|0;
-       $1566 = $1565 >>> 11;
-       $1567 = $1566 & 256;
-       $1568 = ($1567|0)!=(0);
-       if ($1568) {
-        label = 309;
-       } else {
-        __THREW__ = 0;
-        $1569 = (invoke_iii(179,($1|0),($$41090|0))|0);
-        $1570 = __THREW__; __THREW__ = 0;
-        if ((($1570|0) != 0) & ((threwValue|0) != 0)) { $1571 = _testSetjmp(HEAP32[$1570>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1571|0) == 0) { _longjmp($1570|0, threwValue|0); } tempRet0 = (threwValue); } else { $1571 = -1; };
-        $1572 = tempRet0;
-        $cond1317 = ($1571|0)==(1);
-        if ($cond1317) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1572;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $1573 = ((($1569)) + 20|0);
-        $1574 = HEAP32[$1573>>2]|0;
-        $1575 = ($1574|0)>=(0);
-        if (!($1575)) {
-         __THREW__ = 0;
-         invoke_vii(180,($1|0),0);
-         $1576 = __THREW__; __THREW__ = 0;
-         if ((($1576|0) != 0) & ((threwValue|0) != 0)) { $1577 = _testSetjmp(HEAP32[$1576>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1577|0) == 0) { _longjmp($1576|0, threwValue|0); } tempRet0 = (threwValue); } else { $1577 = -1; };
-         $1578 = tempRet0;
-         $cond1318 = ($1577|0)==(1);
-         if ($cond1318) {
-          $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1578;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-          continue L3;
-         }
-         $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
-         label = 272;
-         continue L19;
-        }
-        $1579 = ((($1)) + 12|0);
-        $1580 = HEAP32[$1579>>2]|0;
-        $1581 = ((($1580)) + 20|0);
-        $1582 = HEAP32[$1581>>2]|0;
-        $1583 = ((($1569)) + 20|0);
-        $1584 = HEAP32[$1583>>2]|0;
-        $1585 = (($1582) + (($1584*48)|0)|0);
-        $1586 = ((($1)) + 12|0);
-        $1587 = HEAP32[$1586>>2]|0;
-        $1588 = ((($1587)) + 20|0);
-        $1589 = HEAP32[$1588>>2]|0;
-        $1590 = ($1585|0)==($1589|0);
-        if (!($1590)) {
-         $1594 = ((($1)) + 12|0);
-         $1595 = HEAP32[$1594>>2]|0;
-         $1596 = ((($1595)) + 16|0);
-         $1597 = HEAP32[$1596>>2]|0;
-         $1598 = ((($1597)) + 8|0);
-         $1599 = HEAP32[$1598>>2]|0;
-         $1600 = ((($1)) + 12|0);
-         $1601 = HEAP32[$1600>>2]|0;
-         $1602 = ((($1601)) + 4|0);
-         HEAP32[$1602>>2] = $1599;
-         $1603 = ((($1)) + 12|0);
-         $1604 = HEAP32[$1603>>2]|0;
-         $1605 = ((($1604)) + 16|0);
-         HEAP32[$1605>>2] = $1585;
-         $$01018 = $1556;$$11020 = $1585;
-         break L646;
-        }
-        __THREW__ = 0;
-        invoke_vii(180,($1|0),0);
-        $1591 = __THREW__; __THREW__ = 0;
-        if ((($1591|0) != 0) & ((threwValue|0) != 0)) { $1592 = _testSetjmp(HEAP32[$1591>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1592|0) == 0) { _longjmp($1591|0, threwValue|0); } tempRet0 = (threwValue); } else { $1592 = -1; };
-        $1593 = tempRet0;
-        $cond1319 = ($1592|0)==(1);
-        if ($cond1319) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1593;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
-        label = 272;
-        continue L19;
-       }
-      } else {
-       label = 309;
-      }
-      break;
-     }
-     case 0:  {
-      label = 309;
-      break;
-     }
-     case 1:  {
-      $1655 = ((($$41090)) + 20|0);
-      $1656 = HEAP32[$1655>>2]|0;
-      $1657 = ($1656|0)!=(0|0);
-      if ($1657) {
-       $1658 = ((($$41090)) + 20|0);
-       $1659 = HEAP32[$1658>>2]|0;
-       $1660 = ((($1659)) + 20|0);
-       $1661 = HEAP32[$1660>>2]|0;
-       $1662 = ($1661|0)>=(0);
-       if ($1662) {
-        $1666 = ((($1)) + 12|0);
-        $1667 = HEAP32[$1666>>2]|0;
-        $1668 = ((($1667)) + 16|0);
-        $1669 = HEAP32[$1668>>2]|0;
-        $1670 = ((($1)) + 12|0);
-        $1671 = HEAP32[$1670>>2]|0;
-        $1672 = ((($1671)) + 20|0);
-        $1673 = HEAP32[$1672>>2]|0;
-        $1674 = ($1669|0)==($1673|0);
-        if ($1674) {
-         $1675 = ((($1)) + 12|0);
-         $1676 = HEAP32[$1675>>2]|0;
-         $1677 = ((($1676)) + 16|0);
-         $1678 = HEAP32[$1677>>2]|0;
-         $1679 = ((($1678)) + 28|0);
-         $1680 = HEAP32[$1679>>2]|0;
-         $1681 = ($1680|0)!=(0|0);
-         if ($1681) {
-          $1682 = ((($1)) + 12|0);
-          $1683 = HEAP32[$1682>>2]|0;
-          $1684 = HEAP32[$1683>>2]|0;
-          $1685 = ((($1)) + 12|0);
-          HEAP32[$1685>>2] = $1684;
-          HEAP32[$1683>>2] = 0;
-         }
-        }
-        $1686 = ((($1)) + 12|0);
-        $1687 = HEAP32[$1686>>2]|0;
-        $1688 = ((($1687)) + 16|0);
-        $1689 = HEAP32[$1688>>2]|0;
-        $1690 = ((($1689)) + 8|0);
-        $1691 = HEAP32[$1690>>2]|0;
-        $1692 = ((($1)) + 12|0);
-        $1693 = HEAP32[$1692>>2]|0;
-        $1694 = ((($1693)) + 4|0);
-        HEAP32[$1694>>2] = $1691;
-        $1695 = ((($1)) + 12|0);
-        $1696 = HEAP32[$1695>>2]|0;
-        $1697 = ((($1696)) + 20|0);
-        $1698 = HEAP32[$1697>>2]|0;
-        $1699 = ((($$41090)) + 20|0);
-        $1700 = HEAP32[$1699>>2]|0;
-        $1701 = ((($1700)) + 20|0);
-        $1702 = HEAP32[$1701>>2]|0;
-        $1703 = (($1698) + (($1702*48)|0)|0);
-        $1704 = ((($1703)) + 48|0);
-        $1705 = ((($1)) + 12|0);
-        $1706 = HEAP32[$1705>>2]|0;
-        $1707 = ((($1706)) + 16|0);
-        HEAP32[$1707>>2] = $1704;
-        $$01019 = $1689;
-        while(1) {
-         $1708 = ((($1)) + 12|0);
-         $1709 = HEAP32[$1708>>2]|0;
-         $1710 = ((($1709)) + 16|0);
-         $1711 = HEAP32[$1710>>2]|0;
-         $1712 = ($$01019>>>0)>($1711>>>0);
-         if (!($1712)) {
-          $$01018 = $1556;$$11020 = $$01019;
-          break L646;
-         }
-         $1713 = ((($$01019)) + -48|0);
-         $1714 = ((($1713)) + 40|0);
-         $1715 = HEAP32[$1714>>2]|0;
-         $1716 = ($1715|0)==(-1);
-         if ($1716) {
-          break;
-         }
-         $1720 = ((($$01019)) + -48|0);
-         $$01019 = $1720;
-        }
-        $1717 = ((($1)) + 12|0);
-        $1718 = HEAP32[$1717>>2]|0;
-        $1719 = ((($1718)) + 16|0);
-        HEAP32[$1719>>2] = $$01019;
-        $$01018 = $1556;$$11020 = $$01019;
-        break L646;
-       }
-      }
-      __THREW__ = 0;
-      invoke_vii(180,($1|0),1);
-      $1663 = __THREW__; __THREW__ = 0;
-      if ((($1663|0) != 0) & ((threwValue|0) != 0)) { $1664 = _testSetjmp(HEAP32[$1663>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1664|0) == 0) { _longjmp($1663|0, threwValue|0); } tempRet0 = (threwValue); } else { $1664 = -1; };
-      $1665 = tempRet0;
-      $cond1312 = ($1664|0)==(1);
-      if ($cond1312) {
-       $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1665;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-       continue L3;
-      }
-      $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
-      label = 272;
-      continue L19;
-      break;
-     }
-     default: {
-      $$01018 = $1556;$$11020 = $1550;
-     }
-     }
-    } while(0);
-    if ((label|0) == 309) {
-     label = 0;
-     $1606 = ((($1)) + 12|0);
-     $1607 = HEAP32[$1606>>2]|0;
-     $1608 = ((($1607)) + 20|0);
-     $1609 = HEAP32[$1608>>2]|0;
-     $1610 = ($1550|0)==($1609|0);
-     do {
-      if ($1610) {
-       $1611 = ((($1)) + 12|0);
-       $1612 = HEAP32[$1611>>2]|0;
-       $1613 = HEAP32[$1612>>2]|0;
-       $1614 = ($1613|0)!=(0|0);
-       if (!($1614)) {
-        __THREW__ = 0;
-        invoke_vii(180,($1|0),0);
-        $1615 = __THREW__; __THREW__ = 0;
-        if ((($1615|0) != 0) & ((threwValue|0) != 0)) { $1616 = _testSetjmp(HEAP32[$1615>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1616|0) == 0) { _longjmp($1615|0, threwValue|0); } tempRet0 = (threwValue); } else { $1616 = -1; };
-        $1617 = tempRet0;
-        $cond1313 = ($1616|0)==(1);
-        if ($cond1313) {
-         $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1617;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-         continue L3;
-        }
-        $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
-        label = 272;
-        continue L19;
-       }
-       $1618 = ((($1)) + 12|0);
-       $1619 = HEAP32[$1618>>2]|0;
-       $1620 = HEAP32[$1619>>2]|0;
-       $1621 = ((($1620)) + 16|0);
-       $1622 = HEAP32[$1621>>2]|0;
-       $1623 = ((($1)) + 12|0);
-       $1624 = HEAP32[$1623>>2]|0;
-       $1625 = HEAP32[$1624>>2]|0;
-       $1626 = ((($1625)) + 20|0);
-       $1627 = HEAP32[$1626>>2]|0;
-       $1628 = ($1622|0)==($1627|0);
-       if (!($1628)) {
-        $1641 = ((($1)) + 12|0);
-        $1642 = HEAP32[$1641>>2]|0;
-        $1643 = ((($1642)) + 44|0);
-        HEAP32[$1643>>2] = 5;
-        $1644 = ((($1)) + 12|0);
-        $1645 = HEAP32[$1644>>2]|0;
-        $1646 = HEAP32[$1645>>2]|0;
-        $1647 = ((($1)) + 12|0);
-        HEAP32[$1647>>2] = $1646;
-        $1648 = ((($1)) + 12|0);
-        $1649 = HEAP32[$1648>>2]|0;
-        $1650 = ((($1649)) + 44|0);
-        HEAP32[$1650>>2] = 1;
-        break;
-       }
-       __THREW__ = 0;
-       $1629 = (invoke_iii(135,($1|0),(56763|0))|0);
-       $1630 = __THREW__; __THREW__ = 0;
-       if ((($1630|0) != 0) & ((threwValue|0) != 0)) { $1631 = _testSetjmp(HEAP32[$1630>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1631|0) == 0) { _longjmp($1630|0, threwValue|0); } tempRet0 = (threwValue); } else { $1631 = -1; };
-       $1632 = tempRet0;
-       $cond1314 = ($1631|0)==(1);
-       if ($cond1314) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1632;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       __THREW__ = 0;
-       invoke_viiii(171,($46|0),($1|0),(56774|0),13);
-       $1633 = __THREW__; __THREW__ = 0;
-       if ((($1633|0) != 0) & ((threwValue|0) != 0)) { $1634 = _testSetjmp(HEAP32[$1633>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1634|0) == 0) { _longjmp($1633|0, threwValue|0); } tempRet0 = (threwValue); } else { $1634 = -1; };
-       $1635 = tempRet0;
-       $cond1315 = ($1634|0)==(1);
-       if ($cond1315) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1635;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       __THREW__ = 0;
-       ;HEAP32[$$byval_copy1121>>2]=HEAP32[$46>>2]|0;HEAP32[$$byval_copy1121+4>>2]=HEAP32[$46+4>>2]|0;
-       invoke_viiii(172,($45|0),($1|0),($1629|0),($$byval_copy1121|0));
-       $1636 = __THREW__; __THREW__ = 0;
-       if ((($1636|0) != 0) & ((threwValue|0) != 0)) { $1637 = _testSetjmp(HEAP32[$1636>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1637|0) == 0) { _longjmp($1636|0, threwValue|0); } tempRet0 = (threwValue); } else { $1637 = -1; };
-       $1638 = tempRet0;
-       $cond1316 = ($1637|0)==(1);
-       if ($cond1316) {
-        $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1638;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-        continue L3;
-       }
-       $1639 = HEAP32[$45>>2]|0;
-       $1640 = ((($1)) + 20|0);
-       HEAP32[$1640>>2] = $1639;
-       $$21045 = $$5;$$21055 = $$51058;$$31062 = $$6;$$31068 = $$61071;$$31075 = $$61078;$$51084 = $$41083;$$51091 = $$41090;
-       label = 272;
-       continue L19;
-      }
-     } while(0);
-     $1651 = ((($1)) + 12|0);
-     $1652 = HEAP32[$1651>>2]|0;
-     $1653 = ((($1652)) + 16|0);
-     $1654 = HEAP32[$1653>>2]|0;
-     $$01018 = $1556;$$11020 = $1654;
-    }
-    while(1) {
-     $1721 = ((($1)) + 12|0);
-     $1722 = HEAP32[$1721>>2]|0;
-     $1723 = ((($1722)) + 16|0);
-     $1724 = HEAP32[$1723>>2]|0;
-     $1725 = ((($1724)) + -48|0);
-     $1726 = ((($1725)) + 20|0);
-     $1727 = HEAP32[$1726>>2]|0;
-     $1728 = ($$01018|0)>($1727|0);
-     if (!($1728)) {
-      break;
-     }
-     $1729 = (($$01018) + -1)|0;
-     __THREW__ = 0;
-     invoke_vii(166,($1|0),($1729|0));
-     $1730 = __THREW__; __THREW__ = 0;
-     if ((($1730|0) != 0) & ((threwValue|0) != 0)) { $1731 = _testSetjmp(HEAP32[$1730>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1731|0) == 0) { _longjmp($1730|0, threwValue|0); } tempRet0 = (threwValue); } else { $1731 = -1; };
-     $1732 = tempRet0;
-     $cond1321 = ($1731|0)==(1);
-     if ($cond1321) {
-      $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1732;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-      continue L3;
-     }
-     $$11020$phi = $$11020;$$01018 = $1729;$$11020 = $$11020$phi;
-    }
-    __THREW__ = 0;
-    invoke_vi(132,($1|0));
-    $1733 = __THREW__; __THREW__ = 0;
-    if ((($1733|0) != 0) & ((threwValue|0) != 0)) { $1734 = _testSetjmp(HEAP32[$1733>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1734|0) == 0) { _longjmp($1733|0, threwValue|0); } tempRet0 = (threwValue); } else { $1734 = -1; };
-    $1735 = tempRet0;
-    $cond1320 = ($1734|0)==(1);
-    if ($cond1320) {
-     $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$5;$$11054 = $$51058;$$11060 = $$6;$$11066 = $$61071;$$11073 = $$61078;$$11080 = $$41083;$$11087 = $$41090;$$reg2mem1002$0 = $1735;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-     continue L3;
-    }
-    $1736 = ((($$11020)) + 40|0);
-    $1737 = HEAP32[$1736>>2]|0;
-    $1738 = ((($$11020)) + 28|0);
-    $1739 = HEAP32[$1738>>2]|0;
-    $1740 = ((($$11020)) + 8|0);
-    $1741 = HEAP32[$1740>>2]|0;
-    $1742 = ((($1)) + 12|0);
-    $1743 = HEAP32[$1742>>2]|0;
-    $1744 = ((($1743)) + 4|0);
-    HEAP32[$1744>>2] = $1741;
-    $1745 = ($1737|0)==(-1);
-    if ($1745) {
-     label = 337;
-     break L3;
-    }
-    $1746 = ((($1)) + 12|0);
-    $1747 = HEAP32[$1746>>2]|0;
-    $1748 = ((($1747)) + 16|0);
-    $1749 = HEAP32[$1748>>2]|0;
-    $1750 = ((($1749)) + 4|0);
-    $1751 = HEAP32[$1750>>2]|0;
-    $1752 = ((($1751)) + 12|0);
-    $1753 = HEAP32[$1752>>2]|0;
-    $1754 = ((($1753)) + 12|0);
-    $1755 = HEAP32[$1754>>2]|0;
-    $1756 = ((($1753)) + 16|0);
-    $1757 = HEAP32[$1756>>2]|0;
-    $1758 = (($1741) + ($1737<<3)|0);
-    ;HEAP32[$1758>>2]=HEAP32[$44>>2]|0;HEAP32[$1758+4>>2]=HEAP32[$44+4>>2]|0;
-    $$3 = $$5;$$31056 = $1741;$$41063 = $1757;$$41069 = $1755;$$41076 = $1739;$$61085 = $1753;$$61092 = $1751;
-   }
-   $1759 = HEAP32[$$41076>>2]|0;
-   $$21052 = $1759;$$5 = $$3;$$51058 = $$31056;$$6 = $$41063;$$61071 = $$41069;$$61078 = $$41076;$$8 = $$61085;$$81094 = $$61092;$$sink$reg2mem$0 = $1759;
-   label = 583;
-  }
-  if ((label|0) == 283) {
-   label = 0;
-   HEAP32[$1>>2] = $$11047;
-   __THREW__ = 0;
-   invoke_vii(178,($$11047|0),1);
-   $1477 = __THREW__; __THREW__ = 0;
-   if ((($1477|0) != 0) & ((threwValue|0) != 0)) { $1478 = _testSetjmp(HEAP32[$1477>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($1478|0) == 0) { _longjmp($1477|0, threwValue|0); } tempRet0 = (threwValue); } else { $1478 = -1; };
-   $1479 = tempRet0;
-   $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$21045;$$11054 = $$21055;$$11060 = $$31062;$$11066 = $$31068;$$11073 = $$31075;$$11080 = $$51084;$$11087 = $$51091;$$reg2mem1002$0 = $1479;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-   continue;
-  }
-  else if ((label|0) == 290) {
-   label = 0;
-   $1500 = ((($1499)) + 8|0);
-   $1501 = HEAP32[$1500>>2]|0;
-   $1502 = ((($1)) + 12|0);
-   $1503 = HEAP32[$1502>>2]|0;
-   $1504 = ((($1503)) + 4|0);
-   HEAP32[$1504>>2] = $1501;
-   $$4 = $$21045;$$41057 = $1501;$$51064 = $$31062;$$51070 = $$31068;$$51077 = $$31075;$$7 = $$51084;$$71093 = $$51091;
-  }
-  $3002 = ((($1)) + 12|0);
-  $3003 = HEAP32[$3002>>2]|0;
-  $3004 = ((($3003)) + 16|0);
-  $3005 = HEAP32[$3004>>2]|0;
-  $3006 = ((($1)) + 12|0);
-  $3007 = HEAP32[$3006>>2]|0;
-  $3008 = ((($3007)) + 20|0);
-  $3009 = HEAP32[$3008>>2]|0;
-  $3010 = ($3005|0)==($3009|0);
-  if ($3010) {
-   $$reg2mem992$0 = 0;
-  } else {
-   $3011 = ((($1)) + 12|0);
-   $3012 = HEAP32[$3011>>2]|0;
-   $3013 = ((($3012)) + 16|0);
-   $3014 = HEAP32[$3013>>2]|0;
-   $3015 = ((($3014)) + -48|0);
-   $3016 = ((($3015)) + 20|0);
-   $3017 = HEAP32[$3016>>2]|0;
-   $$reg2mem992$0 = $3017;
-  }
-  $3018 = ((($1)) + 12|0);
-  $3019 = HEAP32[$3018>>2]|0;
-  $3020 = ((($3019)) + 16|0);
-  $3021 = HEAP32[$3020>>2]|0;
-  $3022 = ((($3021)) + 20|0);
-  $3023 = HEAP32[$3022>>2]|0;
-  $$0 = $3023;
-  while(1) {
-   $3024 = ($$0|0)>($$reg2mem992$0|0);
-   if (!($3024)) {
-    break;
-   }
-   $3025 = (($$0) + -1)|0;
-   __THREW__ = 0;
-   invoke_vii(166,($1|0),($3025|0));
-   $3026 = __THREW__; __THREW__ = 0;
-   if ((($3026|0) != 0) & ((threwValue|0) != 0)) { $3027 = _testSetjmp(HEAP32[$3026>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3027|0) == 0) { _longjmp($3026|0, threwValue|0); } tempRet0 = (threwValue); } else { $3027 = -1; };
-   $3028 = tempRet0;
-   $cond1244 = ($3027|0)==(1);
-   if ($cond1244) {
-    $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$4;$$11054 = $$41057;$$11060 = $$51064;$$11066 = $$51070;$$11073 = $$51077;$$11080 = $$7;$$11087 = $$71093;$$reg2mem1002$0 = $3028;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-    continue L3;
-   }
-   $$0 = $3025;
-  }
-  $3029 = ((($1)) + 12|0);
-  $3030 = HEAP32[$3029>>2]|0;
-  $3031 = ((($3030)) + 16|0);
-  $3032 = HEAP32[$3031>>2]|0;
-  $3033 = ((($3032)) + 32|0);
-  HEAP32[$3033>>2] = 0;
-  HEAP32[$1>>2] = $$11047;
-  $3034 = ((($1)) + 20|0);
-  $3035 = HEAP32[$3034>>2]|0;
-  $3036 = ($3035|0)!=(0|0);
-  if (!($3036)) {
-   label = 571;
-   break;
-  }
-  $3037 = ((($1)) + 20|0);
-  $3038 = HEAP32[$3037>>2]|0;
-  __THREW__ = 0;
-  invoke_vii(133,($0|0),($3038|0));
-  $3039 = __THREW__; __THREW__ = 0;
-  if ((($3039|0) != 0) & ((threwValue|0) != 0)) { $3040 = _testSetjmp(HEAP32[$3039>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($3040|0) == 0) { _longjmp($3039|0, threwValue|0); } tempRet0 = (threwValue); } else { $3040 = -1; };
-  $3041 = tempRet0;
-  $cond1243 = ($3040|0)==(1);
-  if ($cond1243) {
-   $$11049$phi = $$11049;$$11047$phi = $$11047;$$11044 = $$4;$$11054 = $$41057;$$11060 = $$51064;$$11066 = $$51070;$$11073 = $$51077;$$11080 = $$7;$$11087 = $$71093;$$reg2mem1002$0 = $3041;$$11049 = $$11049$phi;$$11047 = $$11047$phi;
-  } else {
-   label = 570;
-   break;
-  }
- }
- if ((label|0) == 337) {
-  HEAP32[$1>>2] = $$11047;
-  ;HEAP32[$0>>2]=HEAP32[$44>>2]|0;HEAP32[$0+4>>2]=HEAP32[$44+4>>2]|0;
-  _free(_setjmpTable|0);
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 570) {
-  _free(_setjmpTable|0);
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 571) {
-  $3042 = HEAP16[$$7>>1]|0;
-  $3043 = $3042&65535;
-  $3044 = (($$41057) + ($3043<<3)|0);
-  ;HEAP32[$0>>2]=HEAP32[$3044>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3044+4>>2]|0;
-  _free(_setjmpTable|0);
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 584) {
-  // unreachable;
- }
-}
-function _uvenv($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $6 = $3;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ((($10)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ((($12)) + 20|0);
- $14 = HEAP32[$13>>2]|0;
- $5 = $14;
- while(1) {
-  $15 = $4;
-  $16 = (($15) + -1)|0;
-  $4 = $16;
-  $17 = ($15|0)!=(0);
-  $18 = $5;
-  if (!($17)) {
-   label = 6;
-   break;
-  }
-  $19 = ($18|0)!=(0|0);
-  if (!($19)) {
-   label = 4;
-   break;
-  }
-  $20 = $5;
-  $21 = ((($20)) + 4|0);
-  $22 = HEAP32[$21>>2]|0;
-  $5 = $22;
- }
- if ((label|0) == 4) {
-  $2 = 0;
-  $23 = $2;
-  STACKTOP = sp;return ($23|0);
- }
- else if ((label|0) == 6) {
-  $2 = $18;
-  $23 = $2;
-  STACKTOP = sp;return ($23|0);
- }
- return (0)|0;
-}
-function _ecall($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
- var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
- var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
- var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
- var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
- var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $8 = sp;
- $2 = $0;
- $3 = $1;
- $9 = $2;
- $10 = ((($9)) + 12|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ((($11)) + 4|0);
- $13 = HEAP32[$12>>2]|0;
- $6 = $13;
- $14 = $3;
- $15 = ($14|0)<(0);
- if ($15) {
-  STACKTOP = sp;return;
- }
- $16 = $2;
- $17 = ((($16)) + 12|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = ((($18)) + 36|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = $3;
- $22 = (($20) + ($21<<2)|0);
- $23 = HEAP32[$22>>2]|0;
- $4 = $23;
- $24 = $4;
- $25 = ($24|0)!=(0|0);
- if (!($25)) {
-  STACKTOP = sp;return;
- }
- $26 = $2;
- $27 = ((($26)) + 12|0);
- $28 = HEAP32[$27>>2]|0;
- $29 = ((($28)) + 16|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = ((($30)) + 20|0);
- $32 = HEAP32[$31>>2]|0;
- $33 = $3;
- $34 = ($32|0)>($33|0);
- if ($34) {
-  $35 = $3;
-  $36 = $2;
-  $37 = ((($36)) + 12|0);
-  $38 = HEAP32[$37>>2]|0;
-  $39 = ((($38)) + 16|0);
-  $40 = HEAP32[$39>>2]|0;
-  $41 = ((($40)) + 20|0);
-  HEAP32[$41>>2] = $35;
- }
- $42 = $2;
- $43 = (_cipush($42)|0);
- $5 = $43;
- $44 = $2;
- $45 = ((($44)) + 12|0);
- $46 = HEAP32[$45>>2]|0;
- $47 = ((($46)) + 4|0);
- $48 = HEAP32[$47>>2]|0;
- $49 = $5;
- $50 = ((($49)) + 8|0);
- HEAP32[$50>>2] = $48;
- $51 = $5;
- $52 = ((($51)) + -48|0);
- $53 = HEAP32[$52>>2]|0;
- $54 = $5;
- HEAP32[$54>>2] = $53;
- $55 = $5;
- $56 = ((($55)) + 40|0);
- HEAP32[$56>>2] = -1;
- $57 = $5;
- $58 = ((($57)) + 36|0);
- HEAP32[$58>>2] = 0;
- $59 = $4;
- $60 = $5;
- $61 = ((($60)) + 4|0);
- HEAP32[$61>>2] = $59;
- $62 = $4;
- $63 = ((($62)) + 12|0);
- $64 = HEAP32[$63>>2]|0;
- $65 = ((($64)) + 2|0);
- $66 = HEAP16[$65>>1]|0;
- $67 = $66&65535;
- $68 = $5;
- $69 = ((($68)) + 12|0);
- HEAP32[$69>>2] = $67;
- $70 = $4;
- $71 = ((($70)) + 16|0);
- $72 = HEAP32[$71>>2]|0;
- $73 = $5;
- $74 = ((($73)) + 44|0);
- HEAP32[$74>>2] = $72;
- $75 = $2;
- $76 = ((($75)) + 12|0);
- $77 = HEAP32[$76>>2]|0;
- $78 = ((($77)) + 4|0);
- $79 = HEAP32[$78>>2]|0;
- $80 = $5;
- $81 = ((($80)) + -48|0);
- $82 = ((($81)) + 12|0);
- $83 = HEAP32[$82>>2]|0;
- $84 = (($79) + ($83<<3)|0);
- $85 = $2;
- $86 = ((($85)) + 12|0);
- $87 = HEAP32[$86>>2]|0;
- $88 = ((($87)) + 4|0);
- HEAP32[$88>>2] = $84;
- $89 = $2;
- $90 = ((($89)) + 20|0);
- $91 = HEAP32[$90>>2]|0;
- $7 = $91;
- $92 = $2;
- $93 = ((($92)) + 20|0);
- HEAP32[$93>>2] = 0;
- $94 = $2;
- $95 = $4;
- $96 = $6;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$96>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$96+4>>2]|0;
- _mrb_run($8,$94,$95,$$byval_copy);
- $97 = $2;
- $98 = ((($97)) + 12|0);
- $99 = HEAP32[$98>>2]|0;
- $100 = ((($99)) + 36|0);
- $101 = HEAP32[$100>>2]|0;
- $102 = $3;
- $103 = (($101) + ($102<<2)|0);
- HEAP32[$103>>2] = 0;
- $104 = $2;
- $105 = ((($104)) + 20|0);
- $106 = HEAP32[$105>>2]|0;
- $107 = ($106|0)!=(0|0);
- if ($107) {
-  STACKTOP = sp;return;
- }
- $108 = $7;
- $109 = $2;
- $110 = ((($109)) + 20|0);
- HEAP32[$110>>2] = $108;
- STACKTOP = sp;return;
-}
-function _value_move($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = ($6>>>0)>($7>>>0);
- if ($8) {
-  $9 = $3;
-  $10 = $4;
-  $11 = $5;
-  $12 = (($10) + ($11<<3)|0);
-  $13 = ($9>>>0)<($12>>>0);
-  if ($13) {
-   $14 = $5;
-   $15 = $3;
-   $16 = (($15) + ($14<<3)|0);
-   $3 = $16;
-   $17 = $5;
-   $18 = $4;
-   $19 = (($18) + ($17<<3)|0);
-   $4 = $19;
-   while(1) {
-    $20 = $5;
-    $21 = (($20) + -1)|0;
-    $5 = $21;
-    $22 = ($20>>>0)>(0);
-    if (!($22)) {
-     break;
-    }
-    $23 = $3;
-    $24 = ((($23)) + -8|0);
-    $3 = $24;
-    $25 = $4;
-    $26 = ((($25)) + -8|0);
-    $4 = $26;
-    ;HEAP32[$24>>2]=HEAP32[$26>>2]|0;HEAP32[$24+4>>2]=HEAP32[$26+4>>2]|0;
-   }
-   STACKTOP = sp;return;
-  }
- }
- $27 = $3;
- $28 = $4;
- $29 = ($27|0)!=($28|0);
- if (!($29)) {
-  STACKTOP = sp;return;
- }
- while(1) {
-  $30 = $5;
-  $31 = (($30) + -1)|0;
-  $5 = $31;
-  $32 = ($30>>>0)>(0);
-  if (!($32)) {
-   break;
-  }
-  $33 = $3;
-  $34 = ((($33)) + 8|0);
-  $3 = $34;
-  $35 = $4;
-  $36 = ((($35)) + 8|0);
-  $4 = $36;
-  ;HEAP32[$33>>2]=HEAP32[$35>>2]|0;HEAP32[$33+4>>2]=HEAP32[$35+4>>2]|0;
- }
- STACKTOP = sp;return;
-}
-function _argnum_error($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
- $$byval_copy = sp + 128|0;
- $vararg_buffer3 = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 112|0;
- $5 = sp + 104|0;
- $6 = sp + 96|0;
- $7 = sp + 88|0;
- $8 = sp + 80|0;
- $9 = sp + 72|0;
- $10 = sp + 64|0;
- $11 = sp + 56|0;
- $12 = sp + 48|0;
- $13 = sp + 40|0;
- $2 = $0;
- $3 = $1;
- $14 = $2;
- $15 = ((($14)) + 12|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = ((($16)) + 16|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = HEAP32[$18>>2]|0;
- $20 = ($19|0)!=(0);
- $21 = $2;
- $22 = $2;
- if ($20) {
-  $23 = $2;
-  $24 = ((($23)) + 12|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = ((($25)) + 16|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = HEAP32[$27>>2]|0;
-  _mrb_sym2str($6,$22,$28);
-  $29 = $2;
-  $30 = ((($29)) + 12|0);
-  $31 = HEAP32[$30>>2]|0;
-  $32 = ((($31)) + 16|0);
-  $33 = HEAP32[$32>>2]|0;
-  $34 = ((($33)) + 36|0);
-  $35 = HEAP32[$34>>2]|0;
-  _mrb_fixnum_value_421($7,$35);
-  $36 = $3;
-  _mrb_fixnum_value_421($8,$36);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$6+7>>0]|0;
-  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
-  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$7+7>>0]|0;
-  $vararg_ptr2 = ((($vararg_buffer)) + 16|0);
-  ;HEAP8[$vararg_ptr2>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$8+7>>0]|0;
-  _mrb_format($9,$21,56884,$vararg_buffer);
-  ;HEAP32[$5>>2]=HEAP32[$9>>2]|0;HEAP32[$5+4>>2]=HEAP32[$9+4>>2]|0;
-  $44 = $2;
-  $45 = $2;
-  $46 = (_mrb_class_get($45,69160)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
-  _mrb_exc_new_str($13,$44,$46,$$byval_copy);
-  ;HEAP32[$4>>2]=HEAP32[$13>>2]|0;HEAP32[$4+4>>2]=HEAP32[$13+4>>2]|0;
-  $47 = HEAP32[$4>>2]|0;
-  $48 = $2;
-  $49 = ((($48)) + 20|0);
-  HEAP32[$49>>2] = $47;
-  STACKTOP = sp;return;
- } else {
-  $37 = ((($22)) + 12|0);
-  $38 = HEAP32[$37>>2]|0;
-  $39 = ((($38)) + 16|0);
-  $40 = HEAP32[$39>>2]|0;
-  $41 = ((($40)) + 36|0);
-  $42 = HEAP32[$41>>2]|0;
-  _mrb_fixnum_value_421($10,$42);
-  $43 = $3;
-  _mrb_fixnum_value_421($11,$43);
-  ;HEAP8[$vararg_buffer3>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_buffer3+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_buffer3+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_buffer3+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_buffer3+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_buffer3+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_buffer3+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_buffer3+7>>0]=HEAP8[$10+7>>0]|0;
-  $vararg_ptr6 = ((($vararg_buffer3)) + 8|0);
-  ;HEAP8[$vararg_ptr6>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_ptr6+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_ptr6+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_ptr6+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_ptr6+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_ptr6+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_ptr6+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_ptr6+7>>0]=HEAP8[$11+7>>0]|0;
-  _mrb_format($12,$21,56928,$vararg_buffer3);
-  ;HEAP32[$5>>2]=HEAP32[$12>>2]|0;HEAP32[$5+4>>2]=HEAP32[$12+4>>2]|0;
-  $44 = $2;
-  $45 = $2;
-  $46 = (_mrb_class_get($45,69160)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
-  _mrb_exc_new_str($13,$44,$46,$$byval_copy);
-  ;HEAP32[$4>>2]=HEAP32[$13>>2]|0;HEAP32[$4+4>>2]=HEAP32[$13+4>>2]|0;
-  $47 = HEAP32[$4>>2]|0;
-  $48 = $2;
-  $49 = ((($48)) + 20|0);
-  HEAP32[$49>>2] = $47;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_cptr_value($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $5 = sp;
- $3 = $1;
- $4 = $2;
- $6 = ((($5)) + 4|0);
- HEAP32[$6>>2] = 7;
- $7 = $4;
- HEAP32[$5>>2] = $7;
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _top_env($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $6 = $4;
- $7 = ((($6)) + 20|0);
- $8 = HEAP32[$7>>2]|0;
- $5 = $8;
- $9 = $3;
- $10 = $5;
- $11 = (_is_strict($9,$10)|0);
- $12 = ($11<<24>>24)!=(0);
- if ($12) {
-  $13 = $5;
-  $2 = $13;
-  $26 = $2;
-  STACKTOP = sp;return ($26|0);
- }
- while(1) {
-  $14 = $5;
-  $15 = ((($14)) + 4|0);
-  $16 = HEAP32[$15>>2]|0;
-  $17 = ($16|0)!=(0|0);
-  $18 = $5;
-  if (!($17)) {
-   label = 6;
-   break;
-  }
-  $19 = ((($18)) + 4|0);
-  $20 = HEAP32[$19>>2]|0;
-  $5 = $20;
-  $21 = $3;
-  $22 = $5;
-  $23 = (_is_strict($21,$22)|0);
-  $24 = ($23<<24>>24)!=(0);
-  if ($24) {
-   label = 5;
-   break;
-  }
- }
- if ((label|0) == 5) {
-  $25 = $5;
-  $2 = $25;
-  $26 = $2;
-  STACKTOP = sp;return ($26|0);
- }
- else if ((label|0) == 6) {
-  $2 = $18;
-  $26 = $2;
-  STACKTOP = sp;return ($26|0);
- }
- return (0)|0;
-}
-function _localjump_error($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy2 = sp + 72|0;
- $$byval_copy1 = sp + 64|0;
- $$byval_copy = sp + 56|0;
- $4 = sp + 83|0;
- $5 = sp + 80|0;
- $6 = sp + 40|0;
- $7 = sp + 32|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $10 = sp + 8|0;
- $11 = sp;
- $2 = $0;
- $3 = $1;
- dest=$4; src=56848; stop=dest+21|0; do { HEAP8[dest>>0]=HEAP8[src>>0]|0; dest=dest+1|0; src=src+1|0; } while ((dest|0) < (stop|0));
- ;HEAP8[$5>>0]=HEAP8[56869>>0]|0;HEAP8[$5+1>>0]=HEAP8[56869+1>>0]|0;HEAP8[$5+2>>0]=HEAP8[56869+2>>0]|0;
- $12 = $2;
- _mrb_str_buf_new($8,$12,19);
- ;HEAP32[$6>>2]=HEAP32[$8>>2]|0;HEAP32[$6+4>>2]=HEAP32[$8+4>>2]|0;
- $13 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_str_cat($9,$13,$$byval_copy,56872,11);
- $14 = $2;
- $15 = $3;
- $16 = (($4) + (($15*7)|0)|0);
- $17 = $3;
- $18 = (($5) + ($17)|0);
- $19 = HEAP8[$18>>0]|0;
- $20 = $19 << 24 >> 24;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_str_cat($10,$14,$$byval_copy1,$16,$20);
- $21 = $2;
- $22 = $2;
- $23 = (_mrb_class_get($22,56833)|0);
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_exc_new_str($11,$21,$23,$$byval_copy2);
- ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
- $24 = HEAP32[$7>>2]|0;
- $25 = $2;
- $26 = ((($25)) + 20|0);
- HEAP32[$26>>2] = $24;
- STACKTOP = sp;return;
-}
-function _mrb_int_add_overflow_434($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$arith = 0, $$ispos = 0, $$negcheck = 0, $$negtemp = 0, $$poscheck = 0, $$postemp = 0, $$select = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = $4;
- $$arith = (($8) + ($9))|0;
- $$postemp = (($8) + -2147483648)|0;
- $$negtemp = (($8) + 2147483647)|0;
- $$poscheck = ($$arith|0)<($$postemp|0);
- $$negcheck = ($$arith|0)>($$negtemp|0);
- $$ispos = ($8|0)>=(0);
- $$select = $$ispos ? $$poscheck : $$negcheck;
- $7 = $$arith;
- $10 = $7;
- $11 = ($10|0)>(2147483647);
- $or$cond = $$select | $11;
- if ($or$cond) {
-  $15 = 1;
- } else {
-  $12 = $7;
-  $13 = ($12|0)<(-2147483648);
-  $15 = $13;
- }
- $14 = $15&1;
- $16 = $14&255;
- $6 = $16;
- $17 = $7;
- $18 = $5;
- HEAP32[$18>>2] = $17;
- $19 = $6;
- STACKTOP = sp;return ($19|0);
-}
-function _mrb_int_sub_overflow_435($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$arith = 0, $$ispos = 0, $$negcheck = 0, $$negtemp = 0, $$poscheck = 0, $$postemp = 0, $$select = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = $4;
- $$arith = (($8) - ($9))|0;
- $$postemp = (($8) + -2147483647)|0;
- $$negtemp = (($8) + -2147483648)|0;
- $$poscheck = ($$arith|0)<($$postemp|0);
- $$negcheck = ($$arith|0)>($$negtemp|0);
- $$ispos = ($8|0)>=(0);
- $$select = $$ispos ? $$poscheck : $$negcheck;
- $7 = $$arith;
- $10 = $7;
- $11 = ($10|0)>(2147483647);
- $or$cond = $$select | $11;
- if ($or$cond) {
-  $15 = 1;
- } else {
-  $12 = $7;
-  $13 = ($12|0)<(-2147483648);
-  $15 = $13;
- }
- $14 = $15&1;
- $16 = $14&255;
- $6 = $16;
- $17 = $7;
- $18 = $5;
- HEAP32[$18>>2] = $17;
- $19 = $6;
- STACKTOP = sp;return ($19|0);
-}
-function _is_strict($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $6 = $4;
- $7 = ((($6)) + 20|0);
- $8 = HEAP32[$7>>2]|0;
- $5 = $8;
- $9 = $4;
- $10 = ((($9)) + 20|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)>=(0);
- if ($12) {
-  $13 = $3;
-  $14 = ((($13)) + 12|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = ((($15)) + 20|0);
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $5;
-  $19 = (($17) + (($18*48)|0)|0);
-  $20 = ((($19)) + 4|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = ($21|0)!=(0|0);
-  if ($22) {
-   $23 = $3;
-   $24 = ((($23)) + 12|0);
-   $25 = HEAP32[$24>>2]|0;
-   $26 = ((($25)) + 20|0);
-   $27 = HEAP32[$26>>2]|0;
-   $28 = $5;
-   $29 = (($27) + (($28*48)|0)|0);
-   $30 = ((($29)) + 4|0);
-   $31 = HEAP32[$30>>2]|0;
-   $32 = HEAP32[$31>>2]|0;
-   $33 = $32 >>> 11;
-   $34 = $33 & 256;
-   $35 = ($34|0)!=(0);
-   if ($35) {
-    $2 = 1;
-    $36 = $2;
-    STACKTOP = sp;return ($36|0);
-   }
-  }
- }
- $2 = 0;
- $36 = $2;
- STACKTOP = sp;return ($36|0);
-}
-function _stack_extend_alloc($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
- var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $9 = $3;
- $10 = ((($9)) + 12|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ((($11)) + 8|0);
- $13 = HEAP32[$12>>2]|0;
- $6 = $13;
- $14 = $3;
- $15 = ((($14)) + 12|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = ((($16)) + 12|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = $3;
- $20 = ((($19)) + 12|0);
- $21 = HEAP32[$20>>2]|0;
- $22 = ((($21)) + 8|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = $18;
- $25 = $23;
- $26 = (($24) - ($25))|0;
- $27 = (($26|0) / 8)&-1;
- $7 = $27;
- $28 = $3;
- $29 = ((($28)) + 12|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = ((($30)) + 4|0);
- $32 = HEAP32[$31>>2]|0;
- $33 = $3;
- $34 = ((($33)) + 12|0);
- $35 = HEAP32[$34>>2]|0;
- $36 = ((($35)) + 8|0);
- $37 = HEAP32[$36>>2]|0;
- $38 = $32;
- $39 = $37;
- $40 = (($38) - ($39))|0;
- $41 = (($40|0) / 8)&-1;
- $8 = $41;
- $42 = $4;
- $43 = ($42|0)<=(128);
- if ($43) {
-  $44 = $7;
-  $45 = (($44) + 128)|0;
-  $7 = $45;
- } else {
-  $46 = $4;
-  $47 = $7;
-  $48 = (($47) + ($46))|0;
-  $7 = $48;
- }
- $49 = $3;
- $50 = $3;
- $51 = ((($50)) + 12|0);
- $52 = HEAP32[$51>>2]|0;
- $53 = ((($52)) + 8|0);
- $54 = HEAP32[$53>>2]|0;
- $55 = $7;
- $56 = $55<<3;
- $57 = (_mrb_realloc($49,$54,$56)|0);
- $58 = $3;
- $59 = ((($58)) + 12|0);
- $60 = HEAP32[$59>>2]|0;
- $61 = ((($60)) + 8|0);
- HEAP32[$61>>2] = $57;
- $62 = $3;
- $63 = ((($62)) + 12|0);
- $64 = HEAP32[$63>>2]|0;
- $65 = ((($64)) + 8|0);
- $66 = HEAP32[$65>>2]|0;
- $67 = $8;
- $68 = (($66) + ($67<<3)|0);
- $69 = $3;
- $70 = ((($69)) + 12|0);
- $71 = HEAP32[$70>>2]|0;
- $72 = ((($71)) + 4|0);
- HEAP32[$72>>2] = $68;
- $73 = $3;
- $74 = ((($73)) + 12|0);
- $75 = HEAP32[$74>>2]|0;
- $76 = ((($75)) + 8|0);
- $77 = HEAP32[$76>>2]|0;
- $78 = $7;
- $79 = (($77) + ($78<<3)|0);
- $80 = $3;
- $81 = ((($80)) + 12|0);
- $82 = HEAP32[$81>>2]|0;
- $83 = ((($82)) + 12|0);
- HEAP32[$83>>2] = $79;
- $84 = $3;
- $85 = $6;
- $86 = $3;
- $87 = ((($86)) + 12|0);
- $88 = HEAP32[$87>>2]|0;
- $89 = ((($88)) + 8|0);
- $90 = HEAP32[$89>>2]|0;
- _envadjust($84,$85,$90);
- $91 = $7;
- $92 = ($91|0)>(262016);
- if ($92) {
-  $93 = $3;
-  $94 = $4;
-  $95 = $5;
-  _init_new_stack_space($93,$94,$95);
-  $96 = $3;
-  $97 = $3;
-  $98 = (_mrb_class_get($97,68052)|0);
-  _mrb_raise($96,$98,56966);
-  // unreachable;
- } else {
-  STACKTOP = sp;return;
- }
-}
-function _init_new_stack_space($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $4;
- $7 = $5;
- $8 = ($6|0)>($7|0);
- if (!($8)) {
-  STACKTOP = sp;return;
- }
- $9 = $3;
- $10 = ((($9)) + 12|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ((($11)) + 4|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $5;
- $15 = (($13) + ($14<<3)|0);
- $16 = $4;
- $17 = $5;
- $18 = (($16) - ($17))|0;
- _stack_clear($15,$18);
- STACKTOP = sp;return;
-}
-function _stack_clear($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- while(1) {
-  $4 = $3;
-  $5 = (($4) + -1)|0;
-  $3 = $5;
-  $6 = ($4>>>0)>(0);
-  if (!($6)) {
-   break;
-  }
-  $7 = $2;
-  $8 = ((($7)) + 8|0);
-  $2 = $8;
-  ;HEAP32[$7>>2]=HEAP32[73452>>2]|0;HEAP32[$7+4>>2]=HEAP32[73452+4>>2]|0;
- }
- STACKTOP = sp;return;
-}
-function _envadjust($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $9 = $3;
- $10 = ((($9)) + 12|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ((($11)) + 20|0);
- $13 = HEAP32[$12>>2]|0;
- $6 = $13;
- $14 = $5;
- $15 = $4;
- $16 = ($14|0)==($15|0);
- if ($16) {
-  STACKTOP = sp;return;
- }
- while(1) {
-  $17 = $6;
-  $18 = $3;
-  $19 = ((($18)) + 12|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = ((($20)) + 16|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = ($17>>>0)<=($22>>>0);
-  if (!($23)) {
-   break;
-  }
-  $24 = $6;
-  $25 = ((($24)) + 24|0);
-  $26 = HEAP32[$25>>2]|0;
-  $7 = $26;
-  $27 = $7;
-  $28 = ($27|0)!=(0|0);
-  if ($28) {
-   $29 = $7;
-   $30 = ((($29)) + 20|0);
-   $31 = HEAP32[$30>>2]|0;
-   $32 = ($31|0)>=(0);
-   if ($32) {
-    $33 = $7;
-    $34 = ((($33)) + 12|0);
-    $35 = HEAP32[$34>>2]|0;
-    $36 = $4;
-    $37 = $35;
-    $38 = $36;
-    $39 = (($37) - ($38))|0;
-    $40 = (($39|0) / 8)&-1;
-    $8 = $40;
-    $41 = $5;
-    $42 = $8;
-    $43 = (($41) + ($42<<3)|0);
-    $44 = $7;
-    $45 = ((($44)) + 12|0);
-    HEAP32[$45>>2] = $43;
-   }
-  }
-  $46 = $5;
-  $47 = $6;
-  $48 = ((($47)) + 8|0);
-  $49 = HEAP32[$48>>2]|0;
-  $50 = $4;
-  $51 = $49;
-  $52 = $50;
-  $53 = (($51) - ($52))|0;
-  $54 = (($53|0) / 8)&-1;
-  $55 = (($46) + ($54<<3)|0);
-  $56 = $6;
-  $57 = ((($56)) + 8|0);
-  HEAP32[$57>>2] = $55;
-  $58 = $6;
-  $59 = ((($58)) + 48|0);
-  $6 = $59;
- }
- STACKTOP = sp;return;
-}
-function _mrb_f_send($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0;
- var $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0;
- var $131 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
- var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
- var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
- var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
- var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy7 = sp + 104|0;
- $$byval_copy6 = sp + 96|0;
- $$byval_copy5 = sp + 88|0;
- $$byval_copy4 = sp + 80|0;
- $$byval_copy = sp + 72|0;
- $vararg_buffer = sp;
- $4 = sp + 64|0;
- $5 = sp + 56|0;
- $6 = sp + 52|0;
- $8 = sp + 44|0;
- $12 = sp + 28|0;
- $14 = sp + 16|0;
- $3 = $1;
- $15 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $6;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- HEAP32[$vararg_ptr2>>2] = $8;
- $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
- HEAP32[$vararg_ptr3>>2] = $5;
- (_mrb_get_args($15,57012,$vararg_buffer)|0);
- $16 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $17 = (_mrb_class_423($16,$$byval_copy)|0);
- HEAP32[$12>>2] = $17;
- $18 = $3;
- $19 = HEAP32[$4>>2]|0;
- $20 = (_mrb_method_search_vm($18,$12,$19)|0);
- $11 = $20;
- $21 = $11;
- $22 = ($21|0)!=(0|0);
- $23 = $3;
- if (!($22)) {
-  $24 = HEAP32[$4>>2]|0;
-  $25 = HEAP32[$8>>2]|0;
-  $26 = HEAP32[$6>>2]|0;
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;
-  _mrb_funcall_with_block($0,$23,$$byval_copy4,$24,$25,$26,$$byval_copy5);
-  STACKTOP = sp;return;
- }
- $27 = ((($23)) + 12|0);
- $28 = HEAP32[$27>>2]|0;
- $29 = ((($28)) + 16|0);
- $30 = HEAP32[$29>>2]|0;
- $13 = $30;
- $31 = HEAP32[$4>>2]|0;
- $32 = $13;
- HEAP32[$32>>2] = $31;
- $33 = HEAP32[$12>>2]|0;
- $34 = $13;
- $35 = ((($34)) + 44|0);
- HEAP32[$35>>2] = $33;
- $36 = $11;
- $37 = $13;
- $38 = ((($37)) + 4|0);
- HEAP32[$38>>2] = $36;
- $39 = $3;
- $40 = ((($39)) + 12|0);
- $41 = HEAP32[$40>>2]|0;
- $42 = ((($41)) + 4|0);
- $43 = HEAP32[$42>>2]|0;
- $44 = ((($43)) + 8|0);
- $7 = $44;
- $45 = $13;
- $46 = ((($45)) + 36|0);
- $47 = HEAP32[$46>>2]|0;
- $48 = ($47|0)>=(0);
- if ($48) {
-  $9 = 0;
-  $49 = $13;
-  $50 = ((($49)) + 36|0);
-  $51 = HEAP32[$50>>2]|0;
-  $10 = $51;
-  while(1) {
-   $52 = $9;
-   $53 = $10;
-   $54 = ($52|0)<($53|0);
-   if (!($54)) {
-    break;
-   }
-   $55 = $7;
-   $56 = $9;
-   $57 = (($55) + ($56<<3)|0);
-   $58 = $7;
-   $59 = $9;
-   $60 = (($59) + 1)|0;
-   $61 = (($58) + ($60<<3)|0);
-   ;HEAP32[$57>>2]=HEAP32[$61>>2]|0;HEAP32[$57+4>>2]=HEAP32[$61+4>>2]|0;
-   $62 = $9;
-   $63 = (($62) + 1)|0;
-   $9 = $63;
-  }
-  $64 = $13;
-  $65 = ((($64)) + 36|0);
-  $66 = HEAP32[$65>>2]|0;
-  $67 = (($66) + -1)|0;
-  HEAP32[$65>>2] = $67;
- } else {
-  $68 = $3;
-  $69 = $7;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$69>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$69+4>>2]|0;
-  _mrb_ary_shift($14,$68,$$byval_copy6);
- }
- $70 = $11;
- $71 = HEAP32[$70>>2]|0;
- $72 = $71 >>> 11;
- $73 = $72 & 128;
- $74 = ($73|0)!=(0);
- if ($74) {
-  $75 = $11;
-  $76 = ((($75)) + 12|0);
-  $77 = HEAP32[$76>>2]|0;
-  $78 = $3;
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;
-  FUNCTION_TABLE_viii[$77 & 511]($0,$78,$$byval_copy7);
-  STACKTOP = sp;return;
- }
- $79 = $13;
- $80 = ((($79)) + 36|0);
- $81 = HEAP32[$80>>2]|0;
- $82 = ($81|0)<(0);
- $83 = $3;
- $84 = $11;
- $85 = ((($84)) + 12|0);
- $86 = HEAP32[$85>>2]|0;
- $87 = ((($86)) + 2|0);
- $88 = HEAP16[$87>>1]|0;
- $89 = $88&65535;
- if ($82) {
-  $90 = ($89|0)<(3);
-  if ($90) {
-   $97 = 3;
-  } else {
-   $91 = $11;
-   $92 = ((($91)) + 12|0);
-   $93 = HEAP32[$92>>2]|0;
-   $94 = ((($93)) + 2|0);
-   $95 = HEAP16[$94>>1]|0;
-   $96 = $95&65535;
-   $97 = $96;
-  }
-  _stack_extend($83,$97,3);
- } else {
-  $98 = $13;
-  $99 = ((($98)) + 36|0);
-  $100 = HEAP32[$99>>2]|0;
-  $101 = (($100) + 2)|0;
-  _stack_extend($83,$89,$101);
- }
- $102 = $11;
- $103 = ((($102)) + 12|0);
- $104 = HEAP32[$103>>2]|0;
- $105 = ((($104)) + 2|0);
- $106 = HEAP16[$105>>1]|0;
- $107 = $106&65535;
- $108 = $13;
- $109 = ((($108)) + 12|0);
- HEAP32[$109>>2] = $107;
- $110 = $3;
- $111 = (_cipush($110)|0);
- $13 = $111;
- $112 = $13;
- $113 = ((($112)) + 12|0);
- HEAP32[$113>>2] = 0;
- $114 = $13;
- $115 = ((($114)) + 44|0);
- HEAP32[$115>>2] = 0;
- $116 = $11;
- $117 = ((($116)) + 12|0);
- $118 = HEAP32[$117>>2]|0;
- $119 = ((($118)) + 8|0);
- $120 = HEAP32[$119>>2]|0;
- $121 = $13;
- $122 = ((($121)) + 28|0);
- HEAP32[$122>>2] = $120;
- $123 = $3;
- $124 = ((($123)) + 12|0);
- $125 = HEAP32[$124>>2]|0;
- $126 = ((($125)) + 4|0);
- $127 = HEAP32[$126>>2]|0;
- $128 = $13;
- $129 = ((($128)) + 8|0);
- HEAP32[$129>>2] = $127;
- $130 = $13;
- $131 = ((($130)) + 40|0);
- HEAP32[$131>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_module_eval($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- $7 = (_mrb_get_args($6,57016,$vararg_buffer)|0);
- $8 = ($7|0)==(1);
- $9 = $3;
- if ($8) {
-  $10 = $3;
-  $11 = (_mrb_class_get($10,65108)|0);
-  _mrb_raise($9,$11,57020);
-  // unreachable;
- } else {
-  $12 = HEAP32[$2>>2]|0;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
-  _eval_under($0,$9,$$byval_copy,$$byval_copy2,$12);
-  STACKTOP = sp;return;
- }
-}
-function _eval_under($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 32|0;
- $$byval_copy1 = sp + 24|0;
- $$byval_copy = sp + 16|0;
- $5 = $1;
- $6 = $4;
- $9 = ((($3)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(0);
- if ($11) {
-  $12 = HEAP32[$3>>2]|0;
-  $13 = ($12|0)!=(0);
-  if (!($13)) {
-   $14 = $5;
-   $15 = $5;
-   $16 = (_mrb_class_get($15,69160)|0);
-   _mrb_raise($14,$16,68709);
-   // unreachable;
-  }
- }
- $17 = $5;
- $18 = ((($17)) + 12|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = ((($19)) + 16|0);
- $21 = HEAP32[$20>>2]|0;
- $8 = $21;
- $22 = $8;
- $23 = ((($22)) + 40|0);
- $24 = HEAP32[$23>>2]|0;
- $25 = ($24|0)==(-2);
- if ($25) {
-  $26 = $5;
-  $27 = $6;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_yield_with_class($0,$26,$$byval_copy,0,0,$$byval_copy1,$27);
-  STACKTOP = sp;return;
- }
- $28 = $6;
- $29 = $8;
- $30 = ((($29)) + 44|0);
- HEAP32[$30>>2] = $28;
- $31 = HEAP32[$3>>2]|0;
- $7 = $31;
- $32 = $7;
- $33 = $8;
- $34 = ((($33)) + 4|0);
- HEAP32[$34>>2] = $32;
- $35 = $7;
- $36 = HEAP32[$35>>2]|0;
- $37 = $36 >>> 11;
- $38 = $37 & 128;
- $39 = ($38|0)!=(0);
- $40 = $7;
- $41 = ((($40)) + 12|0);
- if ($39) {
-  $42 = HEAP32[$41>>2]|0;
-  $43 = $5;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-  FUNCTION_TABLE_viii[$42 & 511]($0,$43,$$byval_copy2);
-  STACKTOP = sp;return;
- } else {
-  $44 = HEAP32[$41>>2]|0;
-  $45 = ((($44)) + 2|0);
-  $46 = HEAP16[$45>>1]|0;
-  $47 = $46&65535;
-  $48 = $8;
-  $49 = ((($48)) + 12|0);
-  HEAP32[$49>>2] = $47;
-  $50 = $5;
-  $51 = (_cipush($50)|0);
-  $8 = $51;
-  $52 = $8;
-  $53 = ((($52)) + 12|0);
-  HEAP32[$53>>2] = 0;
-  $54 = $8;
-  $55 = ((($54)) + 44|0);
-  HEAP32[$55>>2] = 0;
-  $56 = $7;
-  $57 = ((($56)) + 12|0);
-  $58 = HEAP32[$57>>2]|0;
-  $59 = ((($58)) + 8|0);
-  $60 = HEAP32[$59>>2]|0;
-  $61 = $8;
-  $62 = ((($61)) + 28|0);
-  HEAP32[$62>>2] = $60;
-  $63 = $5;
-  $64 = ((($63)) + 12|0);
-  $65 = HEAP32[$64>>2]|0;
-  $66 = ((($65)) + 4|0);
-  $67 = HEAP32[$66>>2]|0;
-  $68 = $8;
-  $69 = ((($68)) + 8|0);
-  HEAP32[$69>>2] = $67;
-  $70 = $8;
-  $71 = ((($70)) + 40|0);
-  HEAP32[$71>>2] = 0;
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_yield_with_class($0,$1,$2,$3,$4,$5,$6) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- $6 = $6|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
- var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
- var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
- var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0;
- var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $60 = 0;
- var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
- var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
- var $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy1 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $15 = sp + 24|0;
- $16 = sp + 16|0;
- $17 = sp + 8|0;
- $18 = sp;
- $7 = $1;
- $8 = $3;
- $9 = $4;
- $10 = $6;
- $19 = $7;
- $20 = ((($19)) + 12|0);
- $21 = HEAP32[$20>>2]|0;
- $22 = ((($21)) + 16|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = HEAP32[$23>>2]|0;
- $12 = $24;
- $25 = $7;
- $26 = ((($25)) + 12|0);
- $27 = HEAP32[$26>>2]|0;
- $28 = ((($27)) + 16|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = ((($29)) + 12|0);
- $31 = HEAP32[$30>>2]|0;
- $14 = $31;
- $32 = ((($2)) + 4|0);
- $33 = HEAP32[$32>>2]|0;
- $34 = ($33|0)==(0);
- if ($34) {
-  $35 = HEAP32[$2>>2]|0;
-  $36 = ($35|0)!=(0);
-  if (!($36)) {
-   $37 = $7;
-   $38 = $7;
-   $39 = (_mrb_class_get($38,69160)|0);
-   _mrb_raise($37,$39,68709);
-   // unreachable;
-  }
- }
- $40 = HEAP32[$2>>2]|0;
- $11 = $40;
- $41 = $7;
- $42 = (_cipush($41)|0);
- $13 = $42;
- $43 = $12;
- $44 = $13;
- HEAP32[$44>>2] = $43;
- $45 = $11;
- $46 = $13;
- $47 = ((($46)) + 4|0);
- HEAP32[$47>>2] = $45;
- $48 = $7;
- $49 = ((($48)) + 12|0);
- $50 = HEAP32[$49>>2]|0;
- $51 = ((($50)) + 4|0);
- $52 = HEAP32[$51>>2]|0;
- $53 = $13;
- $54 = ((($53)) + 8|0);
- HEAP32[$54>>2] = $52;
- $55 = $8;
- $56 = $13;
- $57 = ((($56)) + 36|0);
- HEAP32[$57>>2] = $55;
- $58 = $10;
- $59 = $13;
- $60 = ((($59)) + 44|0);
- HEAP32[$60>>2] = $58;
- $61 = $13;
- $62 = ((($61)) + 40|0);
- HEAP32[$62>>2] = -1;
- $63 = $7;
- $64 = ((($63)) + 12|0);
- $65 = HEAP32[$64>>2]|0;
- $66 = ((($65)) + 4|0);
- $67 = HEAP32[$66>>2]|0;
- $68 = $14;
- $69 = (($67) + ($68<<3)|0);
- $70 = $7;
- $71 = ((($70)) + 12|0);
- $72 = HEAP32[$71>>2]|0;
- $73 = ((($72)) + 4|0);
- HEAP32[$73>>2] = $69;
- $74 = $11;
- $75 = HEAP32[$74>>2]|0;
- $76 = $75 >>> 11;
- $77 = $76 & 128;
- $78 = ($77|0)!=(0);
- if ($78) {
-  $79 = $8;
-  $80 = (($79) + 2)|0;
-  $81 = $13;
-  $82 = ((($81)) + 12|0);
-  HEAP32[$82>>2] = $80;
-  $83 = $7;
-  $84 = $13;
-  $85 = ((($84)) + 12|0);
-  $86 = HEAP32[$85>>2]|0;
-  _stack_extend($83,$86,0);
- } else {
-  $87 = $11;
-  $88 = ((($87)) + 12|0);
-  $89 = HEAP32[$88>>2]|0;
-  $90 = ((($89)) + 2|0);
-  $91 = HEAP16[$90>>1]|0;
-  $92 = $91&65535;
-  $93 = $13;
-  $94 = ((($93)) + 12|0);
-  HEAP32[$94>>2] = $92;
-  $95 = $7;
-  $96 = $13;
-  $97 = ((($96)) + 12|0);
-  $98 = HEAP32[$97>>2]|0;
-  $99 = $8;
-  $100 = (($99) + 2)|0;
-  _stack_extend($95,$98,$100);
- }
- $101 = $7;
- $102 = ((($101)) + 12|0);
- $103 = HEAP32[$102>>2]|0;
- $104 = ((($103)) + 4|0);
- $105 = HEAP32[$104>>2]|0;
- ;HEAP32[$105>>2]=HEAP32[$5>>2]|0;HEAP32[$105+4>>2]=HEAP32[$5+4>>2]|0;
- $106 = $8;
- $107 = ($106|0)>(0);
- if ($107) {
-  $108 = $7;
-  $109 = ((($108)) + 12|0);
-  $110 = HEAP32[$109>>2]|0;
-  $111 = ((($110)) + 4|0);
-  $112 = HEAP32[$111>>2]|0;
-  $113 = ((($112)) + 8|0);
-  $114 = $9;
-  $115 = $8;
-  _stack_copy($113,$114,$115);
- }
- $116 = $7;
- $117 = ((($116)) + 12|0);
- $118 = HEAP32[$117>>2]|0;
- $119 = ((($118)) + 4|0);
- $120 = HEAP32[$119>>2]|0;
- $121 = $8;
- $122 = (($121) + 1)|0;
- $123 = (($120) + ($122<<3)|0);
- _mrb_nil_value_419($16);
- ;HEAP32[$123>>2]=HEAP32[$16>>2]|0;HEAP32[$123+4>>2]=HEAP32[$16+4>>2]|0;
- $124 = $11;
- $125 = HEAP32[$124>>2]|0;
- $126 = $125 >>> 11;
- $127 = $126 & 128;
- $128 = ($127|0)!=(0);
- if ($128) {
-  $129 = $11;
-  $130 = ((($129)) + 12|0);
-  $131 = HEAP32[$130>>2]|0;
-  $132 = $7;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
-  FUNCTION_TABLE_viii[$131 & 511]($17,$132,$$byval_copy);
-  ;HEAP32[$15>>2]=HEAP32[$17>>2]|0;HEAP32[$15+4>>2]=HEAP32[$17+4>>2]|0;
-  $133 = $7;
-  $134 = ((($133)) + 12|0);
-  $135 = HEAP32[$134>>2]|0;
-  $136 = ((($135)) + 16|0);
-  $137 = HEAP32[$136>>2]|0;
-  $138 = ((($137)) + 8|0);
-  $139 = HEAP32[$138>>2]|0;
-  $140 = $7;
-  $141 = ((($140)) + 12|0);
-  $142 = HEAP32[$141>>2]|0;
-  $143 = ((($142)) + 4|0);
-  HEAP32[$143>>2] = $139;
-  $144 = $7;
-  _cipop($144);
-  ;HEAP32[$0>>2]=HEAP32[$15>>2]|0;HEAP32[$0+4>>2]=HEAP32[$15+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  $145 = $7;
-  $146 = $11;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;
-  _mrb_run($18,$145,$146,$$byval_copy1);
-  ;HEAP32[$15>>2]=HEAP32[$18>>2]|0;HEAP32[$15+4>>2]=HEAP32[$18+4>>2]|0;
-  ;HEAP32[$0>>2]=HEAP32[$15>>2]|0;HEAP32[$0+4>>2]=HEAP32[$15+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_obj_instance_eval($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy3 = sp + 72|0;
- $$byval_copy2 = sp + 64|0;
- $$byval_copy = sp + 56|0;
- $vararg_buffer = sp;
- $4 = sp + 40|0;
- $5 = sp + 32|0;
- $6 = sp + 24|0;
- $8 = sp + 8|0;
- $3 = $1;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- $10 = (_mrb_get_args($9,57016,$vararg_buffer)|0);
- $11 = ($10|0)==(1);
- if ($11) {
-  $12 = $3;
-  $13 = $3;
-  $14 = (_mrb_class_get($13,65108)|0);
-  _mrb_raise($12,$14,57071);
-  // unreachable;
- }
- $15 = ((($2)) + 4|0);
- $16 = HEAP32[$15>>2]|0;
- switch ($16|0) {
- case 6: case 3: case 4:  {
-  $7 = 0;
-  break;
- }
- default: {
-  $17 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_singleton_class($8,$17,$$byval_copy);
-  ;HEAP32[$6>>2]=HEAP32[$8>>2]|0;HEAP32[$6+4>>2]=HEAP32[$8+4>>2]|0;
-  $18 = HEAP32[$6>>2]|0;
-  $7 = $18;
- }
- }
- $19 = $3;
- $20 = $7;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
- _eval_under($0,$19,$$byval_copy2,$$byval_copy3,$20);
- STACKTOP = sp;return;
-}
-function _mrb_toplevel_run_keep($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $10 = sp + 8|0;
- $11 = sp;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $12 = $4;
- $13 = ((($12)) + 12|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ((($14)) + 20|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = ($16|0)!=(0|0);
- if ($17) {
-  $18 = $4;
-  $19 = ((($18)) + 12|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = ((($20)) + 16|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $4;
-  $24 = ((($23)) + 12|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = ((($25)) + 20|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = ($22|0)==($27|0);
-  if (!($28)) {
-   $33 = $4;
-   $34 = (_cipush($33)|0);
-   $7 = $34;
-   $35 = $7;
-   $36 = ((($35)) + 12|0);
-   HEAP32[$36>>2] = 1;
-   $37 = $7;
-   $38 = ((($37)) + 40|0);
-   HEAP32[$38>>2] = -1;
-   $39 = $4;
-   $40 = ((($39)) + 32|0);
-   $41 = HEAP32[$40>>2]|0;
-   $42 = $7;
-   $43 = ((($42)) + 44|0);
-   HEAP32[$43>>2] = $41;
-   $44 = $4;
-   $45 = $5;
-   $46 = $4;
-   _mrb_top_self($10,$46);
-   $47 = $6;
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
-   _mrb_context_run($11,$44,$45,$$byval_copy1,$47);
-   ;HEAP32[$8>>2]=HEAP32[$11>>2]|0;HEAP32[$8+4>>2]=HEAP32[$11+4>>2]|0;
-   $48 = $4;
-   _cipop($48);
-   ;HEAP32[$0>>2]=HEAP32[$8>>2]|0;HEAP32[$0+4>>2]=HEAP32[$8+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- $29 = $4;
- $30 = $5;
- $31 = $4;
- _mrb_top_self($9,$31);
- $32 = $6;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$9+4>>2]|0;
- _mrb_context_run($0,$29,$30,$$byval_copy,$32);
- STACKTOP = sp;return;
-}
-function _mrb_parser_parse($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$reg2mem24$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $cond = 0, $cond26 = 0, $cond27 = 0, $cond28 = 0, $cond29 = 0;
- var $cond30 = 0, $cond31 = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
- _setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
- $2 = sp;
- $3 = ((($0)) + 1404|0);
- HEAP32[$3>>2] = $2;
- $4 = ((($0)) + 1404|0);
- $5 = HEAP32[$4>>2]|0;
- _setjmpTable = _saveSetjmp($5,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
- __THREW__ = 0;
- $6 = __THREW__; __THREW__ = 0;
- if ((($6|0) != 0) & ((threwValue|0) != 0)) { $7 = _testSetjmp(HEAP32[$6>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($7|0) == 0) { _longjmp($6|0, threwValue|0); } tempRet0 = (threwValue); } else { $7 = -1; };
- $8 = tempRet0;
- $cond = ($7|0)==(1);
- if ($cond) {
-  $$reg2mem24$0 = $8;
- } else {
-  $$reg2mem24$0 = 0;
- }
- while(1) {
-  $9 = ($$reg2mem24$0|0)==(0);
-  if (!($9)) {
-   __THREW__ = 0;
-   invoke_vii(207,($0|0),(57113|0));
-   $49 = __THREW__; __THREW__ = 0;
-   if ((($49|0) != 0) & ((threwValue|0) != 0)) { $50 = _testSetjmp(HEAP32[$49>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($50|0) == 0) { _longjmp($49|0, threwValue|0); } tempRet0 = (threwValue); } else { $50 = -1; };
-   $51 = tempRet0;
-   $cond26 = ($50|0)==(1);
-   if ($cond26) {
-    $$reg2mem24$0 = $51;
-    continue;
-   } else {
-    label = 15;
-    break;
-   }
-  }
-  $10 = ((($0)) + 72|0);
-  $11 = HEAP8[$10>>0]|0;
-  $12 = $11 & -2;
-  $13 = $12 | 1;
-  HEAP8[$10>>0] = $13;
-  $14 = ((($0)) + 68|0);
-  HEAP32[$14>>2] = 0;
-  $15 = ((($0)) + 64|0);
-  HEAP32[$15>>2] = 0;
-  $16 = ((($0)) + 1140|0);
-  HEAP32[$16>>2] = 0;
-  $17 = ((($0)) + 1136|0);
-  HEAP32[$17>>2] = 0;
-  $18 = ((($0)) + 44|0);
-  HEAP32[$18>>2] = 0;
-  __THREW__ = 0;
-  invoke_vii(202,($0|0),($1|0));
-  $19 = __THREW__; __THREW__ = 0;
-  if ((($19|0) != 0) & ((threwValue|0) != 0)) { $20 = _testSetjmp(HEAP32[$19>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($20|0) == 0) { _longjmp($19|0, threwValue|0); } tempRet0 = (threwValue); } else { $20 = -1; };
-  $21 = tempRet0;
-  $cond27 = ($20|0)==(1);
-  if ($cond27) {
-   $$reg2mem24$0 = $21;
-   continue;
-  }
-  __THREW__ = 0;
-  (invoke_ii(203,($0|0))|0);
-  $22 = __THREW__; __THREW__ = 0;
-  if ((($22|0) != 0) & ((threwValue|0) != 0)) { $23 = _testSetjmp(HEAP32[$22>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($23|0) == 0) { _longjmp($22|0, threwValue|0); } tempRet0 = (threwValue); } else { $23 = -1; };
-  $24 = tempRet0;
-  $cond28 = ($23|0)==(1);
-  if ($cond28) {
-   $$reg2mem24$0 = $24;
-   continue;
-  }
-  $25 = ((($0)) + 1144|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = ($26|0)!=(0|0);
-  if (!($27)) {
-   __THREW__ = 0;
-   $28 = (invoke_ii(204,($0|0))|0);
-   $29 = __THREW__; __THREW__ = 0;
-   if ((($29|0) != 0) & ((threwValue|0) != 0)) { $30 = _testSetjmp(HEAP32[$29>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($30|0) == 0) { _longjmp($29|0, threwValue|0); } tempRet0 = (threwValue); } else { $30 = -1; };
-   $31 = tempRet0;
-   $cond29 = ($30|0)==(1);
-   if ($cond29) {
-    $$reg2mem24$0 = $31;
-    continue;
-   }
-   $32 = ((($0)) + 1144|0);
-   HEAP32[$32>>2] = $28;
-  }
-  __THREW__ = 0;
-  invoke_vii(205,($0|0),($1|0));
-  $33 = __THREW__; __THREW__ = 0;
-  if ((($33|0) != 0) & ((threwValue|0) != 0)) { $34 = _testSetjmp(HEAP32[$33>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($34|0) == 0) { _longjmp($33|0, threwValue|0); } tempRet0 = (threwValue); } else { $34 = -1; };
-  $35 = tempRet0;
-  $cond30 = ($34|0)==(1);
-  if ($cond30) {
-   $$reg2mem24$0 = $35;
-   continue;
-  }
-  $36 = ($1|0)!=(0|0);
-  if (!($36)) {
-   label = 16;
-   break;
-  }
-  $37 = ((($1)) + 28|0);
-  $38 = HEAP8[$37>>0]|0;
-  $39 = ($38&255) >>> 1;
-  $40 = $39 & 1;
-  $41 = $40&255;
-  $42 = ($41|0)!=(0);
-  if (!($42)) {
-   label = 16;
-   break;
-  }
-  $43 = HEAP32[$0>>2]|0;
-  $44 = ((($0)) + 1144|0);
-  $45 = HEAP32[$44>>2]|0;
-  __THREW__ = 0;
-  invoke_viii(206,($43|0),($45|0),0);
-  $46 = __THREW__; __THREW__ = 0;
-  if ((($46|0) != 0) & ((threwValue|0) != 0)) { $47 = _testSetjmp(HEAP32[$46>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($47|0) == 0) { _longjmp($46|0, threwValue|0); } tempRet0 = (threwValue); } else { $47 = -1; };
-  $48 = tempRet0;
-  $cond31 = ($47|0)==(1);
-  if ($cond31) {
-   $$reg2mem24$0 = $48;
-  } else {
-   label = 13;
-   break;
-  }
- }
- if ((label|0) == 13) {
-  _free(_setjmpTable|0);
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 15) {
-  $52 = ((($0)) + 1136|0);
-  $53 = HEAP32[$52>>2]|0;
-  $54 = (($53) + 1)|0;
-  HEAP32[$52>>2] = $54;
-  $55 = ((($0)) + 1144|0);
-  HEAP32[$55>>2] = 0;
-  _free(_setjmpTable|0);
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 16) {
-  _free(_setjmpTable|0);
-  STACKTOP = sp;return;
- }
-}
-function _parser_init_cxt($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $3;
- $6 = ($5|0)!=(0|0);
- if (!($6)) {
-  STACKTOP = sp;return;
- }
- $7 = $3;
- $8 = ((($7)) + 8|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ($9|0)!=(0|0);
- if ($10) {
-  $11 = $2;
-  $12 = $3;
-  $13 = ((($12)) + 8|0);
-  $14 = HEAP32[$13>>2]|0;
-  _mrb_parser_set_filename($11,$14);
- }
- $15 = $3;
- $16 = ((($15)) + 12|0);
- $17 = HEAP16[$16>>1]|0;
- $18 = ($17<<16>>16)!=(0);
- if ($18) {
-  $19 = $3;
-  $20 = ((($19)) + 12|0);
-  $21 = HEAP16[$20>>1]|0;
-  $22 = $21 << 16 >> 16;
-  $23 = $2;
-  $24 = ((($23)) + 32|0);
-  HEAP32[$24>>2] = $22;
- }
- $25 = $3;
- $26 = HEAP32[$25>>2]|0;
- $27 = ($26|0)!=(0|0);
- L10: do {
-  if ($27) {
-   $28 = $2;
-   $29 = (_cons_gen($28,0,0)|0);
-   $30 = $2;
-   $31 = ((($30)) + 76|0);
-   HEAP32[$31>>2] = $29;
-   $4 = 0;
-   while(1) {
-    $32 = $4;
-    $33 = $3;
-    $34 = ((($33)) + 4|0);
-    $35 = HEAP32[$34>>2]|0;
-    $36 = ($32|0)<($35|0);
-    if (!($36)) {
-     break L10;
-    }
-    $37 = $2;
-    $38 = $3;
-    $39 = HEAP32[$38>>2]|0;
-    $40 = $4;
-    $41 = (($39) + ($40<<2)|0);
-    $42 = HEAP32[$41>>2]|0;
-    _local_add_f($37,$42);
-    $43 = $4;
-    $44 = (($43) + 1)|0;
-    $4 = $44;
-   }
-  }
- } while(0);
- $45 = $3;
- $46 = ((($45)) + 28|0);
- $47 = HEAP8[$46>>0]|0;
- $48 = $47 & 1;
- $49 = $2;
- $50 = ((($49)) + 1148|0);
- $51 = HEAP8[$50>>0]|0;
- $52 = $48 & 1;
- $53 = ($52 << 1)&255;
- $54 = $51 & -3;
- $55 = $54 | $53;
- HEAP8[$50>>0] = $55;
- $56 = $3;
- $57 = ((($56)) + 28|0);
- $58 = HEAP8[$57>>0]|0;
- $59 = ($58&255) >>> 4;
- $60 = $59 & 1;
- $61 = $2;
- $62 = ((($61)) + 1148|0);
- $63 = HEAP8[$62>>0]|0;
- $64 = $60 & 1;
- $65 = $63 & -2;
- $66 = $65 | $64;
- HEAP8[$62>>0] = $66;
- $67 = $3;
- $68 = ((($67)) + 16|0);
- $69 = HEAP32[$68>>2]|0;
- $70 = ($69|0)!=(0|0);
- if (!($70)) {
-  STACKTOP = sp;return;
- }
- $71 = $3;
- $72 = $2;
- $73 = ((($72)) + 24|0);
- HEAP32[$73>>2] = $71;
- STACKTOP = sp;return;
-}
-function _yyparse($0) {
- $0 = $0|0;
- var $$ = 0, $$19 = 0, $$sink = 0, $$sink5 = 0, $$sink7 = 0, $$sink9 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0;
- var $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0;
- var $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0;
- var $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0;
- var $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0;
- var $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0;
- var $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0;
- var $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0;
- var $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0;
- var $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0;
- var $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0;
- var $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0;
- var $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0;
- var $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0;
- var $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0;
- var $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0;
- var $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0;
- var $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0;
- var $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0;
- var $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0;
- var $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0;
- var $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0;
- var $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0;
- var $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0;
- var $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0;
- var $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0;
- var $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0;
- var $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0;
- var $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0;
- var $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0;
- var $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0;
- var $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0;
- var $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0;
- var $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0;
- var $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0;
- var $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0;
- var $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0;
- var $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0;
- var $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0;
- var $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0;
- var $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0;
- var $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0;
- var $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0;
- var $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0;
- var $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0;
- var $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0;
- var $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0;
- var $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0;
- var $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0;
- var $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0;
- var $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0;
- var $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0;
- var $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0;
- var $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0;
- var $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0;
- var $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0;
- var $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0;
- var $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0;
- var $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0, $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0;
- var $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0;
- var $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0, $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0;
- var $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0, $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0;
- var $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0, $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0;
- var $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0, $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0;
- var $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0, $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0;
- var $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0;
- var $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0, $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0;
- var $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0, $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0;
- var $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0, $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0;
- var $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0, $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0;
- var $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0, $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0;
- var $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0, $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0;
- var $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0, $2297 = 0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0, $2302 = 0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0;
- var $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0, $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0;
- var $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0, $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0;
- var $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0, $235 = 0, $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0;
- var $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0, $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0, $2377 = 0, $2378 = 0, $2379 = 0;
- var $238 = 0, $2380 = 0, $2381 = 0, $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0, $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0;
- var $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0, $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0, $2412 = 0, $2413 = 0, $2414 = 0;
- var $2415 = 0, $2416 = 0, $2417 = 0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0, $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0;
- var $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0, $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0;
- var $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0, $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0;
- var $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0, $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0;
- var $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0, $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0;
- var $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0, $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0;
- var $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0, $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0;
- var $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0, $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0;
- var $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0, $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0;
- var $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0, $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0;
- var $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0, $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0;
- var $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0, $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0;
- var $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0, $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0;
- var $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0, $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0;
- var $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0, $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0;
- var $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0, $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0;
- var $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0, $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0;
- var $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0, $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0;
- var $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0, $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0;
- var $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0, $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0;
- var $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0, $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0;
- var $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0, $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0;
- var $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0, $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0;
- var $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0, $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0;
- var $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0, $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0;
- var $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0, $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0;
- var $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0, $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0;
- var $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0, $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0;
- var $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0, $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0;
- var $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0, $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0;
- var $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0, $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0;
- var $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0, $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0;
- var $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0, $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0;
- var $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0, $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0;
- var $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0, $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0;
- var $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0, $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0;
- var $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0, $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0;
- var $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0, $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0;
- var $31 = 0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0, $3103 = 0, $3104 = 0, $3105 = 0, $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0;
- var $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0, $3120 = 0, $3121 = 0, $3122 = 0, $3123 = 0, $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0;
- var $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0, $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0;
- var $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0, $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0;
- var $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0, $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0;
- var $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0, $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0;
- var $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0, $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0;
- var $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0, $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0, $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0;
- var $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0, $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0, $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0;
- var $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0, $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0, $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0;
- var $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0, $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0, $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0;
- var $3298 = 0, $3299 = 0, $33 = 0, $330 = 0, $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0, $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0;
- var $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0, $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0, $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0;
- var $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0, $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0, $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0;
- var $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0, $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0, $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0;
- var $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0, $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0, $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0;
- var $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0, $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0, $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0;
- var $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0, $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0, $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0;
- var $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0, $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0, $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0;
- var $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0, $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0;
- var $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0, $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0, $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0;
- var $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0, $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0, $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0;
- var $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0, $35 = 0, $350 = 0, $3500 = 0, $3501 = 0, $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0;
- var $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0, $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0, $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0;
- var $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0, $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0, $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0;
- var $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0, $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0, $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0;
- var $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0, $3572 = 0, $3573 = 0, $3574 = 0, $3575 = 0, $3576 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0;
- var $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0;
- var $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0;
- var $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0;
- var $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0;
- var $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0;
- var $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0;
- var $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0;
- var $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0;
- var $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0;
- var $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0;
- var $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0;
- var $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0;
- var $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0;
- var $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0;
- var $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0;
- var $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0;
- var $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0;
- var $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0;
- var $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0;
- var $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0;
- var $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0;
- var $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0;
- var $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0;
- var $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0;
- var $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0;
- var $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0;
- var $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0;
- var $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0;
- var $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0;
- var $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0;
- var $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0;
- var $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0;
- var $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0;
- var $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0;
- var $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0;
- var $998 = 0, $999 = 0, $or$cond = 0, $or$cond12 = 0, $or$cond14 = 0, $or$cond16 = 0, $or$cond18 = 0, $or$cond3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 1472|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1472|0);
- $vararg_buffer = sp;
- $3 = sp + 908|0;
- $7 = sp + 920|0;
- $10 = sp + 88|0;
- $17 = sp + 56|0;
- $18 = sp + 1336|0;
- $30 = sp + 1320|0;
- $1 = $0;
- $19 = $18;
- $20 = 128;
- $21 = 0;
- $16 = 0;
- $8 = $7;
- $11 = $10;
- $13 = 200;
- $5 = 0;
- $6 = 0;
- $4 = 0;
- $2 = -2;
- $33 = $8;
- $9 = $33;
- $34 = $11;
- $12 = $34;
- L1: while(1) {
-  $37 = $5;
-  $38 = $37&65535;
-  $39 = $9;
-  HEAP16[$39>>1] = $38;
-  $40 = $8;
-  $41 = $13;
-  $42 = (($40) + ($41<<1)|0);
-  $43 = ((($42)) + -2|0);
-  $44 = $9;
-  $45 = ($43>>>0)<=($44>>>0);
-  if ($45) {
-   $46 = $9;
-   $47 = $8;
-   $48 = $46;
-   $49 = $47;
-   $50 = (($48) - ($49))|0;
-   $51 = (($50|0) / 2)&-1;
-   $52 = (($51) + 1)|0;
-   $22 = $52;
-   $53 = $13;
-   $54 = (10000)<=($53>>>0);
-   if ($54) {
-    label = 538;
-    break;
-   }
-   $55 = $13;
-   $56 = $55<<1;
-   $13 = $56;
-   $57 = $13;
-   $58 = (10000)<($57>>>0);
-   $$ = $58 ? 10000 : $56;
-   $13 = $$;
-   $59 = $8;
-   $23 = $59;
-   $60 = $1;
-   $61 = HEAP32[$60>>2]|0;
-   $62 = $13;
-   $63 = ($62*6)|0;
-   $64 = (($63) + 3)|0;
-   $65 = (_mrb_malloc($61,$64)|0);
-   $24 = $65;
-   $66 = $24;
-   $67 = ($66|0)!=(0|0);
-   if (!($67)) {
-    label = 538;
-    break;
-   }
-   $68 = $24;
-   $69 = $8;
-   $70 = $22;
-   $71 = $70<<1;
-   _memcpy(($68|0),($69|0),($71|0))|0;
-   $72 = $24;
-   $8 = $72;
-   $73 = $13;
-   $74 = $73<<1;
-   $75 = (($74) + 3)|0;
-   $25 = $75;
-   $76 = $25;
-   $77 = (($76>>>0) / 4)&-1;
-   $78 = $24;
-   $79 = (($78) + ($77<<2)|0);
-   $24 = $79;
-   $80 = $24;
-   $81 = $11;
-   $82 = $22;
-   $83 = $82<<2;
-   _memcpy(($80|0),($81|0),($83|0))|0;
-   $84 = $24;
-   $11 = $84;
-   $85 = $13;
-   $86 = $85<<2;
-   $87 = (($86) + 3)|0;
-   $26 = $87;
-   $88 = $26;
-   $89 = (($88>>>0) / 4)&-1;
-   $90 = $24;
-   $91 = (($90) + ($89<<2)|0);
-   $24 = $91;
-   $92 = $23;
-   $93 = ($92|0)!=($7|0);
-   if ($93) {
-    $94 = $1;
-    $95 = HEAP32[$94>>2]|0;
-    $96 = $23;
-    _mrb_free($95,$96);
-   }
-   $97 = $8;
-   $98 = $22;
-   $99 = (($97) + ($98<<1)|0);
-   $100 = ((($99)) + -2|0);
-   $9 = $100;
-   $101 = $11;
-   $102 = $22;
-   $103 = (($101) + ($102<<2)|0);
-   $104 = ((($103)) + -4|0);
-   $12 = $104;
-   $105 = $8;
-   $106 = $13;
-   $107 = (($105) + ($106<<1)|0);
-   $108 = ((($107)) + -2|0);
-   $109 = $9;
-   $110 = ($108>>>0)<=($109>>>0);
-   if ($110) {
-    label = 537;
-    break;
-   }
-  }
-  $111 = $5;
-  $112 = ($111|0)==(3);
-  if ($112) {
-   label = 536;
-   break;
-  }
-  $113 = $5;
-  $114 = (3344 + ($113<<1)|0);
-  $115 = HEAP16[$114>>1]|0;
-  $116 = $115 << 16 >> 16;
-  $14 = $116;
-  $117 = $14;
-  $118 = ($117|0)==(-771);
-  do {
-   if ($118) {
-    label = 26;
-   } else {
-    $119 = $2;
-    $120 = ($119|0)==(-2);
-    if ($120) {
-     $121 = $1;
-     $122 = (_yylex($3,$121)|0);
-     $2 = $122;
-    }
-    $123 = $2;
-    $124 = ($123|0)<=(0);
-    if ($124) {
-     $16 = 0;
-     $2 = 0;
-    } else {
-     $125 = $2;
-     $126 = ($125>>>0)<=(372);
-     if ($126) {
-      $127 = $2;
-      $128 = (58442 + ($127)|0);
-      $129 = HEAP8[$128>>0]|0;
-      $130 = $129&255;
-      $131 = $130;
-     } else {
-      $131 = 2;
-     }
-     $16 = $131;
-    }
-    $132 = $16;
-    $133 = $14;
-    $134 = (($133) + ($132))|0;
-    $14 = $134;
-    $135 = $14;
-    $136 = ($135|0)<(0);
-    $137 = $14;
-    $138 = (10639)<($137|0);
-    $or$cond = $136 | $138;
-    if ($or$cond) {
-     label = 26;
-    } else {
-     $139 = $14;
-     $140 = (5280 + ($139<<1)|0);
-     $141 = HEAP16[$140>>1]|0;
-     $142 = $141 << 16 >> 16;
-     $143 = $16;
-     $144 = ($142|0)!=($143|0);
-     if ($144) {
-      label = 26;
-     } else {
-      $145 = $14;
-      $146 = (26560 + ($145<<1)|0);
-      $147 = HEAP16[$146>>1]|0;
-      $148 = $147 << 16 >> 16;
-      $14 = $148;
-      $149 = $14;
-      $150 = ($149|0)<=(0);
-      if ($150) {
-       $151 = $14;
-       $152 = ($151|0)==(0);
-       $153 = $14;
-       $154 = ($153|0)==(-556);
-       $or$cond3 = $152 | $154;
-       if ($or$cond3) {
-        label = 513;
-        break;
-       }
-       $155 = $14;
-       $156 = (0 - ($155))|0;
-       $14 = $156;
-       label = 27;
-       break;
-      }
-      $157 = $6;
-      $158 = ($157|0)!=(0);
-      if ($158) {
-       $159 = $6;
-       $160 = (($159) + -1)|0;
-       $6 = $160;
-      }
-      $2 = -2;
-      $161 = $14;
-      $5 = $161;
-      $162 = $12;
-      $163 = ((($162)) + 4|0);
-      $12 = $163;
-      ;HEAP32[$163>>2]=HEAP32[$3>>2]|0;
-     }
-    }
-   }
-  } while(0);
-  if ((label|0) == 26) {
-   label = 0;
-   $164 = $5;
-   $165 = (47840 + ($164<<1)|0);
-   $166 = HEAP16[$165>>1]|0;
-   $167 = $166&65535;
-   $14 = $167;
-   $168 = $14;
-   $169 = ($168|0)==(0);
-   if ($169) {
-    label = 513;
-   } else {
-    label = 27;
-   }
-  }
-  do {
-   if ((label|0) == 27) {
-    label = 0;
-    $170 = $14;
-    $171 = (58815 + ($170)|0);
-    $172 = HEAP8[$171>>0]|0;
-    $173 = $172&255;
-    $21 = $173;
-    $174 = $12;
-    $175 = $21;
-    $176 = (1 - ($175))|0;
-    $177 = (($174) + ($176<<2)|0);
-    ;HEAP32[$17>>2]=HEAP32[$177>>2]|0;
-    $178 = $14;
-    do {
-     switch ($178|0) {
-     case 2:  {
-      $179 = $1;
-      $180 = ((($179)) + 40|0);
-      HEAP32[$180>>2] = 0;
-      $181 = $1;
-      $182 = ((($181)) + 76|0);
-      $183 = HEAP32[$182>>2]|0;
-      $184 = ($183|0)!=(0|0);
-      if (!($184)) {
-       $185 = $1;
-       $186 = (_cons_gen($185,0,0)|0);
-       $187 = $1;
-       $188 = ((($187)) + 76|0);
-       HEAP32[$188>>2] = $186;
-      }
-      break;
-     }
-     case 3:  {
-      $189 = $1;
-      $190 = $12;
-      $191 = HEAP32[$190>>2]|0;
-      $192 = (_new_scope($189,$191)|0);
-      $193 = $1;
-      $194 = ((($193)) + 1144|0);
-      HEAP32[$194>>2] = $192;
-      $195 = $12;
-      $196 = HEAP32[$195>>2]|0;
-      $197 = ($196|0)!=(0|0);
-      if ($197) {
-       $198 = $12;
-       $199 = HEAP32[$198>>2]|0;
-       $200 = ((($199)) + 10|0);
-       $201 = HEAP16[$200>>1]|0;
-       $202 = $1;
-       $203 = ((($202)) + 1144|0);
-       $204 = HEAP32[$203>>2]|0;
-       $205 = ((($204)) + 10|0);
-       HEAP16[$205>>1] = $201;
-       $206 = $12;
-       $207 = HEAP32[$206>>2]|0;
-       $208 = ((($207)) + 8|0);
-       $209 = HEAP16[$208>>1]|0;
-       $210 = $1;
-       $211 = ((($210)) + 1144|0);
-       $212 = HEAP32[$211>>2]|0;
-       $213 = ((($212)) + 8|0);
-       HEAP16[$213>>1] = $209;
-      }
-      break;
-     }
-     case 4:  {
-      $214 = $12;
-      $215 = ((($214)) + -4|0);
-      $216 = HEAP32[$215>>2]|0;
-      HEAP32[$17>>2] = $216;
-      break;
-     }
-     case 5:  {
-      $217 = $1;
-      $218 = (_new_begin($217,0)|0);
-      HEAP32[$17>>2] = $218;
-      break;
-     }
-     case 6:  {
-      $219 = $1;
-      $220 = $12;
-      $221 = HEAP32[$220>>2]|0;
-      $222 = (_new_begin($219,$221)|0);
-      HEAP32[$17>>2] = $222;
-      $223 = $12;
-      $224 = HEAP32[$223>>2]|0;
-      $225 = ($224|0)!=(0|0);
-      if ($225) {
-       $226 = $12;
-       $227 = HEAP32[$226>>2]|0;
-       $228 = ((($227)) + 10|0);
-       $229 = HEAP16[$228>>1]|0;
-       $230 = HEAP32[$17>>2]|0;
-       $231 = ((($230)) + 10|0);
-       HEAP16[$231>>1] = $229;
-       $232 = $12;
-       $233 = HEAP32[$232>>2]|0;
-       $234 = ((($233)) + 8|0);
-       $235 = HEAP16[$234>>1]|0;
-       $236 = HEAP32[$17>>2]|0;
-       $237 = ((($236)) + 8|0);
-       HEAP16[$237>>1] = $235;
-      }
-      break;
-     }
-     case 7:  {
-      $238 = $1;
-      $239 = $12;
-      $240 = ((($239)) + -8|0);
-      $241 = HEAP32[$240>>2]|0;
-      $242 = $1;
-      $243 = $12;
-      $244 = HEAP32[$243>>2]|0;
-      $245 = (_list1_gen($242,$244)|0);
-      $246 = (_append_gen($238,$241,$245)|0);
-      HEAP32[$17>>2] = $246;
-      break;
-     }
-     case 8:  {
-      $247 = $1;
-      $248 = (_new_begin($247,0)|0);
-      HEAP32[$17>>2] = $248;
-      break;
-     }
-     case 10:  {
-      $249 = $1;
-      $250 = (_local_switch($249)|0);
-      HEAP32[$17>>2] = $250;
-      break;
-     }
-     case 11:  {
-      $251 = $1;
-      _yyerror($251,59371);
-      $252 = $1;
-      $253 = $12;
-      $254 = ((($253)) + -12|0);
-      $255 = HEAP32[$254>>2]|0;
-      _local_resume($252,$255);
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 12:  {
-      $256 = $12;
-      $257 = ((($256)) + -8|0);
-      $258 = HEAP32[$257>>2]|0;
-      $259 = ($258|0)!=(0|0);
-      if ($259) {
-       $260 = $1;
-       $261 = $12;
-       $262 = ((($261)) + -12|0);
-       $263 = HEAP32[$262>>2]|0;
-       $264 = $12;
-       $265 = ((($264)) + -8|0);
-       $266 = HEAP32[$265>>2]|0;
-       $267 = $12;
-       $268 = ((($267)) + -4|0);
-       $269 = HEAP32[$268>>2]|0;
-       $270 = (_new_rescue($260,$263,$266,$269)|0);
-       HEAP32[$17>>2] = $270;
-       $271 = $12;
-       $272 = ((($271)) + -12|0);
-       $273 = HEAP32[$272>>2]|0;
-       $274 = ($273|0)!=(0|0);
-       if ($274) {
-        $275 = $12;
-        $276 = ((($275)) + -12|0);
-        $277 = HEAP32[$276>>2]|0;
-        $278 = ((($277)) + 10|0);
-        $279 = HEAP16[$278>>1]|0;
-        $280 = HEAP32[$17>>2]|0;
-        $281 = ((($280)) + 10|0);
-        HEAP16[$281>>1] = $279;
-        $282 = $12;
-        $283 = ((($282)) + -12|0);
-        $284 = HEAP32[$283>>2]|0;
-        $285 = ((($284)) + 8|0);
-        $286 = HEAP16[$285>>1]|0;
-        $287 = HEAP32[$17>>2]|0;
-        $288 = ((($287)) + 8|0);
-        HEAP16[$288>>1] = $286;
-       }
-      } else {
-       $289 = $12;
-       $290 = ((($289)) + -4|0);
-       $291 = HEAP32[$290>>2]|0;
-       $292 = ($291|0)!=(0|0);
-       if ($292) {
-        $293 = $1;
-        _yywarn($293,59391);
-        $294 = $1;
-        $295 = $12;
-        $296 = ((($295)) + -12|0);
-        $297 = HEAP32[$296>>2]|0;
-        $298 = $1;
-        $299 = $12;
-        $300 = ((($299)) + -4|0);
-        $301 = HEAP32[$300>>2]|0;
-        $302 = (_list1_gen($298,$301)|0);
-        $303 = (_append_gen($294,$297,$302)|0);
-        $$sink = $303;
-       } else {
-        $304 = $12;
-        $305 = ((($304)) + -12|0);
-        $306 = HEAP32[$305>>2]|0;
-        $$sink = $306;
-       }
-       HEAP32[$17>>2] = $$sink;
-      }
-      $307 = $12;
-      $308 = HEAP32[$307>>2]|0;
-      $309 = ($308|0)!=(0|0);
-      if ($309) {
-       $310 = HEAP32[$17>>2]|0;
-       $311 = ($310|0)!=(0|0);
-       $312 = $1;
-       if ($311) {
-        $313 = HEAP32[$17>>2]|0;
-        $314 = $12;
-        $315 = HEAP32[$314>>2]|0;
-        $316 = (_new_ensure($312,$313,$315)|0);
-        $$sink5 = $316;
-       } else {
-        $317 = $12;
-        $318 = HEAP32[$317>>2]|0;
-        $319 = $1;
-        $320 = $1;
-        $321 = (_new_nil($320)|0);
-        $322 = (_list1_gen($319,$321)|0);
-        $323 = (_append_gen($312,$318,$322)|0);
-        $$sink5 = $323;
-       }
-       HEAP32[$17>>2] = $$sink5;
-      }
-      break;
-     }
-     case 13:  {
-      $324 = $12;
-      $325 = ((($324)) + -4|0);
-      $326 = HEAP32[$325>>2]|0;
-      HEAP32[$17>>2] = $326;
-      break;
-     }
-     case 14:  {
-      $327 = $1;
-      $328 = (_new_begin($327,0)|0);
-      HEAP32[$17>>2] = $328;
-      break;
-     }
-     case 15:  {
-      $329 = $1;
-      $330 = $12;
-      $331 = HEAP32[$330>>2]|0;
-      $332 = (_new_begin($329,$331)|0);
-      HEAP32[$17>>2] = $332;
-      $333 = $12;
-      $334 = HEAP32[$333>>2]|0;
-      $335 = ($334|0)!=(0|0);
-      if ($335) {
-       $336 = $12;
-       $337 = HEAP32[$336>>2]|0;
-       $338 = ((($337)) + 10|0);
-       $339 = HEAP16[$338>>1]|0;
-       $340 = HEAP32[$17>>2]|0;
-       $341 = ((($340)) + 10|0);
-       HEAP16[$341>>1] = $339;
-       $342 = $12;
-       $343 = HEAP32[$342>>2]|0;
-       $344 = ((($343)) + 8|0);
-       $345 = HEAP16[$344>>1]|0;
-       $346 = HEAP32[$17>>2]|0;
-       $347 = ((($346)) + 8|0);
-       HEAP16[$347>>1] = $345;
-      }
-      break;
-     }
-     case 16:  {
-      $348 = $1;
-      $349 = $12;
-      $350 = ((($349)) + -8|0);
-      $351 = HEAP32[$350>>2]|0;
-      $352 = $1;
-      $353 = $12;
-      $354 = HEAP32[$353>>2]|0;
-      $355 = (_list1_gen($352,$354)|0);
-      $356 = (_append_gen($348,$351,$355)|0);
-      HEAP32[$17>>2] = $356;
-      break;
-     }
-     case 17:  {
-      $357 = $1;
-      $358 = $12;
-      $359 = HEAP32[$358>>2]|0;
-      $360 = (_new_begin($357,$359)|0);
-      HEAP32[$17>>2] = $360;
-      break;
-     }
-     case 18:  {
-      $361 = $1;
-      $362 = ((($361)) + 40|0);
-      HEAP32[$362>>2] = 7;
-      break;
-     }
-     case 19:  {
-      $363 = $1;
-      $364 = $12;
-      $365 = ((($364)) + -8|0);
-      $366 = HEAP32[$365>>2]|0;
-      $367 = $12;
-      $368 = HEAP32[$367>>2]|0;
-      $369 = (_new_alias($363,$366,$368)|0);
-      HEAP32[$17>>2] = $369;
-      break;
-     }
-     case 20:  {
-      $370 = $12;
-      $371 = HEAP32[$370>>2]|0;
-      HEAP32[$17>>2] = $371;
-      break;
-     }
-     case 21:  {
-      $372 = $1;
-      $373 = $12;
-      $374 = HEAP32[$373>>2]|0;
-      $375 = (_cond($374)|0);
-      $376 = $12;
-      $377 = ((($376)) + -8|0);
-      $378 = HEAP32[$377>>2]|0;
-      $379 = (_new_if($372,$375,$378,0)|0);
-      HEAP32[$17>>2] = $379;
-      break;
-     }
-     case 22:  {
-      $380 = $1;
-      $381 = $12;
-      $382 = HEAP32[$381>>2]|0;
-      $383 = (_cond($382)|0);
-      $384 = $12;
-      $385 = ((($384)) + -8|0);
-      $386 = HEAP32[$385>>2]|0;
-      $387 = (_new_unless($380,$383,$386,0)|0);
-      HEAP32[$17>>2] = $387;
-      break;
-     }
-     case 23:  {
-      $388 = $1;
-      $389 = $12;
-      $390 = HEAP32[$389>>2]|0;
-      $391 = (_cond($390)|0);
-      $392 = $12;
-      $393 = ((($392)) + -8|0);
-      $394 = HEAP32[$393>>2]|0;
-      $395 = (_new_while($388,$391,$394)|0);
-      HEAP32[$17>>2] = $395;
-      break;
-     }
-     case 24:  {
-      $396 = $1;
-      $397 = $12;
-      $398 = HEAP32[$397>>2]|0;
-      $399 = (_cond($398)|0);
-      $400 = $12;
-      $401 = ((($400)) + -8|0);
-      $402 = HEAP32[$401>>2]|0;
-      $403 = (_new_until($396,$399,$402)|0);
-      HEAP32[$17>>2] = $403;
-      break;
-     }
-     case 25:  {
-      $404 = $1;
-      $405 = $12;
-      $406 = ((($405)) + -8|0);
-      $407 = HEAP32[$406>>2]|0;
-      $408 = $1;
-      $409 = $1;
-      $410 = $12;
-      $411 = HEAP32[$410>>2]|0;
-      $412 = (_list3_gen($409,0,0,$411)|0);
-      $413 = (_list1_gen($408,$412)|0);
-      $414 = (_new_rescue($404,$407,$413,0)|0);
-      HEAP32[$17>>2] = $414;
-      break;
-     }
-     case 26:  {
-      $415 = $1;
-      _yyerror($415,59422);
-      $416 = $1;
-      $417 = $12;
-      $418 = ((($417)) + -4|0);
-      $419 = HEAP32[$418>>2]|0;
-      $420 = (_new_postexe($416,$419)|0);
-      HEAP32[$17>>2] = $420;
-      break;
-     }
-     case 28:  {
-      $421 = $1;
-      $422 = $12;
-      $423 = ((($422)) + -8|0);
-      $424 = HEAP32[$423>>2]|0;
-      $425 = $12;
-      $426 = HEAP32[$425>>2]|0;
-      $427 = (_new_masgn($421,$424,$426)|0);
-      HEAP32[$17>>2] = $427;
-      break;
-     }
-     case 29:  {
-      $428 = $1;
-      $429 = $12;
-      $430 = ((($429)) + -8|0);
-      $431 = HEAP32[$430>>2]|0;
-      $432 = $12;
-      $433 = ((($432)) + -4|0);
-      $434 = HEAP32[$433>>2]|0;
-      $435 = $12;
-      $436 = HEAP32[$435>>2]|0;
-      $437 = (_new_op_asgn($428,$431,$434,$436)|0);
-      HEAP32[$17>>2] = $437;
-      break;
-     }
-     case 30:  {
-      $438 = $1;
-      $439 = $1;
-      $440 = $12;
-      $441 = ((($440)) + -20|0);
-      $442 = HEAP32[$441>>2]|0;
-      $443 = $1;
-      $444 = (_intern_gen($443,69083,2)|0);
-      $445 = $12;
-      $446 = ((($445)) + -12|0);
-      $447 = HEAP32[$446>>2]|0;
-      $448 = (_new_call($439,$442,$444,$447)|0);
-      $449 = $12;
-      $450 = ((($449)) + -4|0);
-      $451 = HEAP32[$450>>2]|0;
-      $452 = $12;
-      $453 = HEAP32[$452>>2]|0;
-      $454 = (_new_op_asgn($438,$448,$451,$453)|0);
-      HEAP32[$17>>2] = $454;
-      break;
-     }
-     case 31:  {
-      $455 = $1;
-      $456 = $1;
-      $457 = $12;
-      $458 = ((($457)) + -16|0);
-      $459 = HEAP32[$458>>2]|0;
-      $460 = $12;
-      $461 = ((($460)) + -8|0);
-      $462 = HEAP32[$461>>2]|0;
-      $463 = (_new_call($456,$459,$462,0)|0);
-      $464 = $12;
-      $465 = ((($464)) + -4|0);
-      $466 = HEAP32[$465>>2]|0;
-      $467 = $12;
-      $468 = HEAP32[$467>>2]|0;
-      $469 = (_new_op_asgn($455,$463,$466,$468)|0);
-      HEAP32[$17>>2] = $469;
-      break;
-     }
-     case 32:  {
-      $470 = $1;
-      $471 = $1;
-      $472 = $12;
-      $473 = ((($472)) + -16|0);
-      $474 = HEAP32[$473>>2]|0;
-      $475 = $12;
-      $476 = ((($475)) + -8|0);
-      $477 = HEAP32[$476>>2]|0;
-      $478 = (_new_call($471,$474,$477,0)|0);
-      $479 = $12;
-      $480 = ((($479)) + -4|0);
-      $481 = HEAP32[$480>>2]|0;
-      $482 = $12;
-      $483 = HEAP32[$482>>2]|0;
-      $484 = (_new_op_asgn($470,$478,$481,$483)|0);
-      HEAP32[$17>>2] = $484;
-      break;
-     }
-     case 33:  {
-      $485 = $1;
-      _yyerror($485,59439);
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 34:  {
-      $486 = $1;
-      $487 = $1;
-      $488 = $12;
-      $489 = ((($488)) + -16|0);
-      $490 = HEAP32[$489>>2]|0;
-      $491 = $12;
-      $492 = ((($491)) + -8|0);
-      $493 = HEAP32[$492>>2]|0;
-      $494 = (_new_call($487,$490,$493,0)|0);
-      $495 = $12;
-      $496 = ((($495)) + -4|0);
-      $497 = HEAP32[$496>>2]|0;
-      $498 = $12;
-      $499 = HEAP32[$498>>2]|0;
-      $500 = (_new_op_asgn($486,$494,$497,$499)|0);
-      HEAP32[$17>>2] = $500;
-      break;
-     }
-     case 35:  {
-      $501 = $1;
-      $502 = $12;
-      $503 = ((($502)) + -8|0);
-      $504 = HEAP32[$503>>2]|0;
-      _backref_error($501,$504);
-      $505 = $1;
-      $506 = (_new_begin($505,0)|0);
-      HEAP32[$17>>2] = $506;
-      break;
-     }
-     case 36:  {
-      $507 = $1;
-      $508 = $12;
-      $509 = ((($508)) + -8|0);
-      $510 = HEAP32[$509>>2]|0;
-      $511 = $1;
-      $512 = $12;
-      $513 = HEAP32[$512>>2]|0;
-      $514 = (_new_array($511,$513)|0);
-      $515 = (_new_asgn($507,$510,$514)|0);
-      HEAP32[$17>>2] = $515;
-      break;
-     }
-     case 37:  {
-      $516 = $1;
-      $517 = $12;
-      $518 = ((($517)) + -8|0);
-      $519 = HEAP32[$518>>2]|0;
-      $520 = $12;
-      $521 = HEAP32[$520>>2]|0;
-      $522 = (_new_masgn($516,$519,$521)|0);
-      HEAP32[$17>>2] = $522;
-      break;
-     }
-     case 38:  {
-      $523 = $1;
-      $524 = $12;
-      $525 = ((($524)) + -8|0);
-      $526 = HEAP32[$525>>2]|0;
-      $527 = $1;
-      $528 = $12;
-      $529 = HEAP32[$528>>2]|0;
-      $530 = (_new_array($527,$529)|0);
-      $531 = (_new_masgn($523,$526,$530)|0);
-      HEAP32[$17>>2] = $531;
-      break;
-     }
-     case 40:  {
-      $532 = $1;
-      $533 = $12;
-      $534 = ((($533)) + -8|0);
-      $535 = HEAP32[$534>>2]|0;
-      $536 = $12;
-      $537 = HEAP32[$536>>2]|0;
-      $538 = (_new_asgn($532,$535,$537)|0);
-      HEAP32[$17>>2] = $538;
-      break;
-     }
-     case 41:  {
-      $539 = $1;
-      $540 = $12;
-      $541 = ((($540)) + -8|0);
-      $542 = HEAP32[$541>>2]|0;
-      $543 = $12;
-      $544 = HEAP32[$543>>2]|0;
-      $545 = (_new_asgn($539,$542,$544)|0);
-      HEAP32[$17>>2] = $545;
-      break;
-     }
-     case 43:  {
-      $546 = $1;
-      $547 = $12;
-      $548 = ((($547)) + -8|0);
-      $549 = HEAP32[$548>>2]|0;
-      $550 = $12;
-      $551 = HEAP32[$550>>2]|0;
-      $552 = (_new_and($546,$549,$551)|0);
-      HEAP32[$17>>2] = $552;
-      break;
-     }
-     case 44:  {
-      $553 = $1;
-      $554 = $12;
-      $555 = ((($554)) + -8|0);
-      $556 = HEAP32[$555>>2]|0;
-      $557 = $12;
-      $558 = HEAP32[$557>>2]|0;
-      $559 = (_new_or($553,$556,$558)|0);
-      HEAP32[$17>>2] = $559;
-      break;
-     }
-     case 45:  {
-      $560 = $1;
-      $561 = $12;
-      $562 = HEAP32[$561>>2]|0;
-      $563 = (_cond($562)|0);
-      $564 = (_call_uni_op($560,$563,65619)|0);
-      HEAP32[$17>>2] = $564;
-      break;
-     }
-     case 46:  {
-      $565 = $1;
-      $566 = $12;
-      $567 = HEAP32[$566>>2]|0;
-      $568 = (_cond($567)|0);
-      $569 = (_call_uni_op($565,$568,65619)|0);
-      HEAP32[$17>>2] = $569;
-      break;
-     }
-     case 48:  {
-      $570 = $12;
-      $571 = HEAP32[$570>>2]|0;
-      $572 = ($571|0)!=(0|0);
-      if ($572) {
-       $575 = $12;
-       $576 = HEAP32[$575>>2]|0;
-       $$sink7 = $576;
-      } else {
-       $573 = $1;
-       $574 = (_new_nil($573)|0);
-       $$sink7 = $574;
-      }
-      HEAP32[$17>>2] = $$sink7;
-      break;
-     }
-     case 53:  {
-      $577 = $1;
-      _local_nest($577);
-      break;
-     }
-     case 54:  {
-      $578 = $1;
-      $579 = $12;
-      $580 = ((($579)) + -8|0);
-      $581 = HEAP32[$580>>2]|0;
-      $582 = $12;
-      $583 = ((($582)) + -4|0);
-      $584 = HEAP32[$583>>2]|0;
-      $585 = (_new_block($578,$581,$584)|0);
-      HEAP32[$17>>2] = $585;
-      $586 = $1;
-      _local_unnest($586);
-      break;
-     }
-     case 55:  {
-      $587 = $1;
-      $588 = $12;
-      $589 = ((($588)) + -4|0);
-      $590 = HEAP32[$589>>2]|0;
-      $591 = $12;
-      $592 = HEAP32[$591>>2]|0;
-      $593 = (_new_fcall($587,$590,$592)|0);
-      HEAP32[$17>>2] = $593;
-      break;
-     }
-     case 56:  {
-      $594 = $1;
-      $595 = $12;
-      $596 = ((($595)) + -4|0);
-      $597 = HEAP32[$596>>2]|0;
-      $598 = $12;
-      $599 = HEAP32[$598>>2]|0;
-      _args_with_block($594,$597,$599);
-      $600 = $1;
-      $601 = $12;
-      $602 = ((($601)) + -8|0);
-      $603 = HEAP32[$602>>2]|0;
-      $604 = $12;
-      $605 = ((($604)) + -4|0);
-      $606 = HEAP32[$605>>2]|0;
-      $607 = (_new_fcall($600,$603,$606)|0);
-      HEAP32[$17>>2] = $607;
-      break;
-     }
-     case 57:  {
-      $608 = $1;
-      $609 = $12;
-      $610 = ((($609)) + -12|0);
-      $611 = HEAP32[$610>>2]|0;
-      $612 = $12;
-      $613 = ((($612)) + -4|0);
-      $614 = HEAP32[$613>>2]|0;
-      $615 = $12;
-      $616 = HEAP32[$615>>2]|0;
-      $617 = (_new_call($608,$611,$614,$616)|0);
-      HEAP32[$17>>2] = $617;
-      break;
-     }
-     case 58:  {
-      $618 = $1;
-      $619 = $12;
-      $620 = ((($619)) + -4|0);
-      $621 = HEAP32[$620>>2]|0;
-      $622 = $12;
-      $623 = HEAP32[$622>>2]|0;
-      _args_with_block($618,$621,$623);
-      $624 = $1;
-      $625 = $12;
-      $626 = ((($625)) + -16|0);
-      $627 = HEAP32[$626>>2]|0;
-      $628 = $12;
-      $629 = ((($628)) + -8|0);
-      $630 = HEAP32[$629>>2]|0;
-      $631 = $12;
-      $632 = ((($631)) + -4|0);
-      $633 = HEAP32[$632>>2]|0;
-      $634 = (_new_call($624,$627,$630,$633)|0);
-      HEAP32[$17>>2] = $634;
-      break;
-     }
-     case 59:  {
-      $635 = $1;
-      $636 = $12;
-      $637 = ((($636)) + -12|0);
-      $638 = HEAP32[$637>>2]|0;
-      $639 = $12;
-      $640 = ((($639)) + -4|0);
-      $641 = HEAP32[$640>>2]|0;
-      $642 = $12;
-      $643 = HEAP32[$642>>2]|0;
-      $644 = (_new_call($635,$638,$641,$643)|0);
-      HEAP32[$17>>2] = $644;
-      break;
-     }
-     case 60:  {
-      $645 = $1;
-      $646 = $12;
-      $647 = ((($646)) + -4|0);
-      $648 = HEAP32[$647>>2]|0;
-      $649 = $12;
-      $650 = HEAP32[$649>>2]|0;
-      _args_with_block($645,$648,$650);
-      $651 = $1;
-      $652 = $12;
-      $653 = ((($652)) + -16|0);
-      $654 = HEAP32[$653>>2]|0;
-      $655 = $12;
-      $656 = ((($655)) + -8|0);
-      $657 = HEAP32[$656>>2]|0;
-      $658 = $12;
-      $659 = ((($658)) + -4|0);
-      $660 = HEAP32[$659>>2]|0;
-      $661 = (_new_call($651,$654,$657,$660)|0);
-      HEAP32[$17>>2] = $661;
-      break;
-     }
-     case 61:  {
-      $662 = $1;
-      $663 = $12;
-      $664 = HEAP32[$663>>2]|0;
-      $665 = (_new_super($662,$664)|0);
-      HEAP32[$17>>2] = $665;
-      break;
-     }
-     case 62:  {
-      $666 = $1;
-      $667 = $12;
-      $668 = HEAP32[$667>>2]|0;
-      $669 = (_new_yield($666,$668)|0);
-      HEAP32[$17>>2] = $669;
-      break;
-     }
-     case 63:  {
-      $670 = $1;
-      $671 = $1;
-      $672 = $12;
-      $673 = HEAP32[$672>>2]|0;
-      $674 = (_ret_args($671,$673)|0);
-      $675 = (_new_return($670,$674)|0);
-      HEAP32[$17>>2] = $675;
-      break;
-     }
-     case 64:  {
-      $676 = $1;
-      $677 = $1;
-      $678 = $12;
-      $679 = HEAP32[$678>>2]|0;
-      $680 = (_ret_args($677,$679)|0);
-      $681 = (_new_break($676,$680)|0);
-      HEAP32[$17>>2] = $681;
-      break;
-     }
-     case 65:  {
-      $682 = $1;
-      $683 = $1;
-      $684 = $12;
-      $685 = HEAP32[$684>>2]|0;
-      $686 = (_ret_args($683,$685)|0);
-      $687 = (_new_next($682,$686)|0);
-      HEAP32[$17>>2] = $687;
-      break;
-     }
-     case 66:  {
-      $688 = $12;
-      $689 = HEAP32[$688>>2]|0;
-      HEAP32[$17>>2] = $689;
-      break;
-     }
-     case 67:  {
-      $690 = $12;
-      $691 = ((($690)) + -4|0);
-      $692 = HEAP32[$691>>2]|0;
-      HEAP32[$17>>2] = $692;
-      break;
-     }
-     case 69:  {
-      $693 = $12;
-      $694 = ((($693)) + -4|0);
-      $695 = HEAP32[$694>>2]|0;
-      HEAP32[$17>>2] = $695;
-      break;
-     }
-     case 70:  {
-      $696 = $1;
-      $697 = $12;
-      $698 = HEAP32[$697>>2]|0;
-      $699 = (_list1_gen($696,$698)|0);
-      HEAP32[$17>>2] = $699;
-      break;
-     }
-     case 71:  {
-      $700 = $1;
-      $701 = $1;
-      $702 = $12;
-      $703 = ((($702)) + -4|0);
-      $704 = HEAP32[$703>>2]|0;
-      $705 = $1;
-      $706 = $12;
-      $707 = HEAP32[$706>>2]|0;
-      $708 = (_list1_gen($705,$707)|0);
-      $709 = (_append_gen($701,$704,$708)|0);
-      $710 = (_list1_gen($700,$709)|0);
-      HEAP32[$17>>2] = $710;
-      break;
-     }
-     case 72:  {
-      $711 = $1;
-      $712 = $12;
-      $713 = ((($712)) + -8|0);
-      $714 = HEAP32[$713>>2]|0;
-      $715 = $12;
-      $716 = HEAP32[$715>>2]|0;
-      $717 = (_list2_gen($711,$714,$716)|0);
-      HEAP32[$17>>2] = $717;
-      break;
-     }
-     case 73:  {
-      $718 = $1;
-      $719 = $12;
-      $720 = ((($719)) + -16|0);
-      $721 = HEAP32[$720>>2]|0;
-      $722 = $12;
-      $723 = ((($722)) + -8|0);
-      $724 = HEAP32[$723>>2]|0;
-      $725 = $12;
-      $726 = HEAP32[$725>>2]|0;
-      $727 = (_list3_gen($718,$721,$724,$726)|0);
-      HEAP32[$17>>2] = $727;
-      break;
-     }
-     case 74:  {
-      $728 = $1;
-      $729 = $12;
-      $730 = ((($729)) + -4|0);
-      $731 = HEAP32[$730>>2]|0;
-      $732 = $1;
-      $733 = (_new_nil($732)|0);
-      $734 = (_list2_gen($728,$731,$733)|0);
-      HEAP32[$17>>2] = $734;
-      break;
-     }
-     case 75:  {
-      $735 = $1;
-      $736 = $12;
-      $737 = ((($736)) + -12|0);
-      $738 = HEAP32[$737>>2]|0;
-      $739 = $1;
-      $740 = (_new_nil($739)|0);
-      $741 = $12;
-      $742 = HEAP32[$741>>2]|0;
-      $743 = (_list3_gen($735,$738,$740,$742)|0);
-      HEAP32[$17>>2] = $743;
-      break;
-     }
-     case 76:  {
-      $744 = $1;
-      $745 = $12;
-      $746 = HEAP32[$745>>2]|0;
-      $747 = (_list2_gen($744,0,$746)|0);
-      HEAP32[$17>>2] = $747;
-      break;
-     }
-     case 77:  {
-      $748 = $1;
-      $749 = $12;
-      $750 = ((($749)) + -8|0);
-      $751 = HEAP32[$750>>2]|0;
-      $752 = $12;
-      $753 = HEAP32[$752>>2]|0;
-      $754 = (_list3_gen($748,0,$751,$753)|0);
-      HEAP32[$17>>2] = $754;
-      break;
-     }
-     case 78:  {
-      $755 = $1;
-      $756 = $1;
-      $757 = (_new_nil($756)|0);
-      $758 = (_list2_gen($755,0,$757)|0);
-      HEAP32[$17>>2] = $758;
-      break;
-     }
-     case 79:  {
-      $759 = $1;
-      $760 = $1;
-      $761 = (_new_nil($760)|0);
-      $762 = $12;
-      $763 = HEAP32[$762>>2]|0;
-      $764 = (_list3_gen($759,0,$761,$763)|0);
-      HEAP32[$17>>2] = $764;
-      break;
-     }
-     case 81:  {
-      $765 = $1;
-      $766 = $12;
-      $767 = ((($766)) + -4|0);
-      $768 = HEAP32[$767>>2]|0;
-      $769 = (_new_masgn($765,$768,0)|0);
-      HEAP32[$17>>2] = $769;
-      break;
-     }
-     case 82:  {
-      $770 = $1;
-      $771 = $12;
-      $772 = ((($771)) + -4|0);
-      $773 = HEAP32[$772>>2]|0;
-      $774 = (_list1_gen($770,$773)|0);
-      HEAP32[$17>>2] = $774;
-      break;
-     }
-     case 83:  {
-      $775 = $1;
-      $776 = $12;
-      $777 = ((($776)) + -8|0);
-      $778 = HEAP32[$777>>2]|0;
-      $779 = $1;
-      $780 = $12;
-      $781 = ((($780)) + -4|0);
-      $782 = HEAP32[$781>>2]|0;
-      $783 = (_list1_gen($779,$782)|0);
-      $784 = (_append_gen($775,$778,$783)|0);
-      HEAP32[$17>>2] = $784;
-      break;
-     }
-     case 84:  {
-      $785 = $1;
-      $786 = $12;
-      $787 = HEAP32[$786>>2]|0;
-      $788 = (_list1_gen($785,$787)|0);
-      HEAP32[$17>>2] = $788;
-      break;
-     }
-     case 85:  {
-      $789 = $1;
-      $790 = $12;
-      $791 = ((($790)) + -4|0);
-      $792 = HEAP32[$791>>2]|0;
-      $793 = $1;
-      $794 = $12;
-      $795 = HEAP32[$794>>2]|0;
-      $796 = (_list1_gen($793,$795)|0);
-      $797 = (_append_gen($789,$792,$796)|0);
-      HEAP32[$17>>2] = $797;
-      break;
-     }
-     case 86:  {
-      $798 = $1;
-      $799 = $12;
-      $800 = HEAP32[$799>>2]|0;
-      _assignable($798,$800);
-      break;
-     }
-     case 87:  {
-      $801 = $1;
-      $802 = $12;
-      $803 = ((($802)) + -12|0);
-      $804 = HEAP32[$803>>2]|0;
-      $805 = $1;
-      $806 = (_intern_gen($805,69083,2)|0);
-      $807 = $12;
-      $808 = ((($807)) + -4|0);
-      $809 = HEAP32[$808>>2]|0;
-      $810 = (_new_call($801,$804,$806,$809)|0);
-      HEAP32[$17>>2] = $810;
-      break;
-     }
-     case 88:  {
-      $811 = $1;
-      $812 = $12;
-      $813 = ((($812)) + -8|0);
-      $814 = HEAP32[$813>>2]|0;
-      $815 = $12;
-      $816 = HEAP32[$815>>2]|0;
-      $817 = (_new_call($811,$814,$816,0)|0);
-      HEAP32[$17>>2] = $817;
-      break;
-     }
-     case 89:  {
-      $818 = $1;
-      $819 = $12;
-      $820 = ((($819)) + -8|0);
-      $821 = HEAP32[$820>>2]|0;
-      $822 = $12;
-      $823 = HEAP32[$822>>2]|0;
-      $824 = (_new_call($818,$821,$823,0)|0);
-      HEAP32[$17>>2] = $824;
-      break;
-     }
-     case 90:  {
-      $825 = $1;
-      $826 = $12;
-      $827 = ((($826)) + -8|0);
-      $828 = HEAP32[$827>>2]|0;
-      $829 = $12;
-      $830 = HEAP32[$829>>2]|0;
-      $831 = (_new_call($825,$828,$830,0)|0);
-      HEAP32[$17>>2] = $831;
-      break;
-     }
-     case 91:  {
-      $832 = $1;
-      $833 = ((($832)) + 64|0);
-      $834 = HEAP32[$833>>2]|0;
-      $835 = ($834|0)!=(0);
-      if ($835) {
-       label = 126;
-      } else {
-       $836 = $1;
-       $837 = ((($836)) + 68|0);
-       $838 = HEAP32[$837>>2]|0;
-       $839 = ($838|0)!=(0);
-       if ($839) {
-        label = 126;
-       }
-      }
-      if ((label|0) == 126) {
-       label = 0;
-       $840 = $1;
-       _yyerror($840,59462);
-      }
-      $841 = $1;
-      $842 = $12;
-      $843 = ((($842)) + -8|0);
-      $844 = HEAP32[$843>>2]|0;
-      $845 = $12;
-      $846 = HEAP32[$845>>2]|0;
-      $847 = (_new_colon2($841,$844,$846)|0);
-      HEAP32[$17>>2] = $847;
-      break;
-     }
-     case 92:  {
-      $848 = $1;
-      $849 = ((($848)) + 64|0);
-      $850 = HEAP32[$849>>2]|0;
-      $851 = ($850|0)!=(0);
-      if ($851) {
-       label = 130;
-      } else {
-       $852 = $1;
-       $853 = ((($852)) + 68|0);
-       $854 = HEAP32[$853>>2]|0;
-       $855 = ($854|0)!=(0);
-       if ($855) {
-        label = 130;
-       }
-      }
-      if ((label|0) == 130) {
-       label = 0;
-       $856 = $1;
-       _yyerror($856,59462);
-      }
-      $857 = $1;
-      $858 = $12;
-      $859 = HEAP32[$858>>2]|0;
-      $860 = (_new_colon3($857,$859)|0);
-      HEAP32[$17>>2] = $860;
-      break;
-     }
-     case 93:  {
-      $861 = $1;
-      $862 = $12;
-      $863 = HEAP32[$862>>2]|0;
-      _backref_error($861,$863);
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 94:  {
-      $864 = $1;
-      $865 = $12;
-      $866 = HEAP32[$865>>2]|0;
-      _assignable($864,$866);
-      break;
-     }
-     case 95:  {
-      $867 = $1;
-      $868 = $12;
-      $869 = ((($868)) + -12|0);
-      $870 = HEAP32[$869>>2]|0;
-      $871 = $1;
-      $872 = (_intern_gen($871,69083,2)|0);
-      $873 = $12;
-      $874 = ((($873)) + -4|0);
-      $875 = HEAP32[$874>>2]|0;
-      $876 = (_new_call($867,$870,$872,$875)|0);
-      HEAP32[$17>>2] = $876;
-      break;
-     }
-     case 96:  {
-      $877 = $1;
-      $878 = $12;
-      $879 = ((($878)) + -8|0);
-      $880 = HEAP32[$879>>2]|0;
-      $881 = $12;
-      $882 = HEAP32[$881>>2]|0;
-      $883 = (_new_call($877,$880,$882,0)|0);
-      HEAP32[$17>>2] = $883;
-      break;
-     }
-     case 97:  {
-      $884 = $1;
-      $885 = $12;
-      $886 = ((($885)) + -8|0);
-      $887 = HEAP32[$886>>2]|0;
-      $888 = $12;
-      $889 = HEAP32[$888>>2]|0;
-      $890 = (_new_call($884,$887,$889,0)|0);
-      HEAP32[$17>>2] = $890;
-      break;
-     }
-     case 98:  {
-      $891 = $1;
-      $892 = $12;
-      $893 = ((($892)) + -8|0);
-      $894 = HEAP32[$893>>2]|0;
-      $895 = $12;
-      $896 = HEAP32[$895>>2]|0;
-      $897 = (_new_call($891,$894,$896,0)|0);
-      HEAP32[$17>>2] = $897;
-      break;
-     }
-     case 99:  {
-      $898 = $1;
-      $899 = ((($898)) + 64|0);
-      $900 = HEAP32[$899>>2]|0;
-      $901 = ($900|0)!=(0);
-      if ($901) {
-       label = 140;
-      } else {
-       $902 = $1;
-       $903 = ((($902)) + 68|0);
-       $904 = HEAP32[$903>>2]|0;
-       $905 = ($904|0)!=(0);
-       if ($905) {
-        label = 140;
-       }
-      }
-      if ((label|0) == 140) {
-       label = 0;
-       $906 = $1;
-       _yyerror($906,59462);
-      }
-      $907 = $1;
-      $908 = $12;
-      $909 = ((($908)) + -8|0);
-      $910 = HEAP32[$909>>2]|0;
-      $911 = $12;
-      $912 = HEAP32[$911>>2]|0;
-      $913 = (_new_colon2($907,$910,$912)|0);
-      HEAP32[$17>>2] = $913;
-      break;
-     }
-     case 100:  {
-      $914 = $1;
-      $915 = ((($914)) + 64|0);
-      $916 = HEAP32[$915>>2]|0;
-      $917 = ($916|0)!=(0);
-      if ($917) {
-       label = 144;
-      } else {
-       $918 = $1;
-       $919 = ((($918)) + 68|0);
-       $920 = HEAP32[$919>>2]|0;
-       $921 = ($920|0)!=(0);
-       if ($921) {
-        label = 144;
-       }
-      }
-      if ((label|0) == 144) {
-       label = 0;
-       $922 = $1;
-       _yyerror($922,59462);
-      }
-      $923 = $1;
-      $924 = $12;
-      $925 = HEAP32[$924>>2]|0;
-      $926 = (_new_colon3($923,$925)|0);
-      HEAP32[$17>>2] = $926;
-      break;
-     }
-     case 101:  {
-      $927 = $1;
-      $928 = $12;
-      $929 = HEAP32[$928>>2]|0;
-      _backref_error($927,$929);
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 102:  {
-      $930 = $1;
-      _yyerror($930,59490);
-      break;
-     }
-     case 104:  {
-      $931 = $1;
-      $932 = $12;
-      $933 = HEAP32[$932>>2]|0;
-      $934 = $933;
-      $935 = (_cons_gen($931,(1),$934)|0);
-      HEAP32[$17>>2] = $935;
-      break;
-     }
-     case 105:  {
-      $936 = $1;
-      $937 = $12;
-      $938 = HEAP32[$937>>2]|0;
-      $939 = $938;
-      $940 = (_cons_gen($936,0,$939)|0);
-      HEAP32[$17>>2] = $940;
-      break;
-     }
-     case 106:  {
-      $941 = $1;
-      $942 = $12;
-      $943 = ((($942)) + -8|0);
-      $944 = HEAP32[$943>>2]|0;
-      $945 = $12;
-      $946 = HEAP32[$945>>2]|0;
-      $947 = $946;
-      $948 = (_cons_gen($941,$944,$947)|0);
-      HEAP32[$17>>2] = $948;
-      break;
-     }
-     case 110:  {
-      $949 = $1;
-      $950 = ((($949)) + 40|0);
-      HEAP32[$950>>2] = 3;
-      $951 = $12;
-      $952 = HEAP32[$951>>2]|0;
-      HEAP32[$17>>2] = $952;
-      break;
-     }
-     case 111:  {
-      $953 = $1;
-      $954 = ((($953)) + 40|0);
-      HEAP32[$954>>2] = 3;
-      $955 = $12;
-      $956 = HEAP32[$955>>2]|0;
-      HEAP32[$17>>2] = $956;
-      break;
-     }
-     case 114:  {
-      $957 = $1;
-      $958 = $12;
-      $959 = HEAP32[$958>>2]|0;
-      $960 = (_new_undef($957,$959)|0);
-      HEAP32[$17>>2] = $960;
-      break;
-     }
-     case 115:  {
-      $961 = $1;
-      $962 = ((($961)) + 40|0);
-      HEAP32[$962>>2] = 7;
-      break;
-     }
-     case 116:  {
-      $963 = $1;
-      $964 = $12;
-      $965 = ((($964)) + -12|0);
-      $966 = HEAP32[$965>>2]|0;
-      $967 = $1;
-      $968 = $12;
-      $969 = HEAP32[$968>>2]|0;
-      $970 = $969;
-      $971 = (_list1_gen($967,$970)|0);
-      $972 = (_append_gen($963,$966,$971)|0);
-      HEAP32[$17>>2] = $972;
-      break;
-     }
-     case 117:  {
-      $973 = $1;
-      $974 = (_intern_gen_c($973,124)|0);
-      HEAP32[$17>>2] = $974;
-      break;
-     }
-     case 118:  {
-      $975 = $1;
-      $976 = (_intern_gen_c($975,94)|0);
-      HEAP32[$17>>2] = $976;
-      break;
-     }
-     case 119:  {
-      $977 = $1;
-      $978 = (_intern_gen_c($977,38)|0);
-      HEAP32[$17>>2] = $978;
-      break;
-     }
-     case 120:  {
-      $979 = $1;
-      $980 = (_intern_gen($979,69156,3)|0);
-      HEAP32[$17>>2] = $980;
-      break;
-     }
-     case 121:  {
-      $981 = $1;
-      $982 = (_intern_gen($981,69201,2)|0);
-      HEAP32[$17>>2] = $982;
-      break;
-     }
-     case 122:  {
-      $983 = $1;
-      $984 = (_intern_gen($983,69591,3)|0);
-      HEAP32[$17>>2] = $984;
-      break;
-     }
-     case 123:  {
-      $985 = $1;
-      $986 = (_intern_gen($985,59525,2)|0);
-      HEAP32[$17>>2] = $986;
-      break;
-     }
-     case 124:  {
-      $987 = $1;
-      $988 = (_intern_gen($987,59528,2)|0);
-      HEAP32[$17>>2] = $988;
-      break;
-     }
-     case 125:  {
-      $989 = $1;
-      $990 = (_intern_gen_c($989,62)|0);
-      HEAP32[$17>>2] = $990;
-      break;
-     }
-     case 126:  {
-      $991 = $1;
-      $992 = (_intern_gen($991,59531,2)|0);
-      HEAP32[$17>>2] = $992;
-      break;
-     }
-     case 127:  {
-      $993 = $1;
-      $994 = (_intern_gen_c($993,60)|0);
-      HEAP32[$17>>2] = $994;
-      break;
-     }
-     case 128:  {
-      $995 = $1;
-      $996 = (_intern_gen($995,59534,2)|0);
-      HEAP32[$17>>2] = $996;
-      break;
-     }
-     case 129:  {
-      $997 = $1;
-      $998 = (_intern_gen($997,68364,2)|0);
-      HEAP32[$17>>2] = $998;
-      break;
-     }
-     case 130:  {
-      $999 = $1;
-      $1000 = (_intern_gen($999,64616,2)|0);
-      HEAP32[$17>>2] = $1000;
-      break;
-     }
-     case 131:  {
-      $1001 = $1;
-      $1002 = (_intern_gen($1001,59537,2)|0);
-      HEAP32[$17>>2] = $1002;
-      break;
-     }
-     case 132:  {
-      $1003 = $1;
-      $1004 = (_intern_gen_c($1003,43)|0);
-      HEAP32[$17>>2] = $1004;
-      break;
-     }
-     case 133:  {
-      $1005 = $1;
-      $1006 = (_intern_gen_c($1005,45)|0);
-      HEAP32[$17>>2] = $1006;
-      break;
-     }
-     case 134:  {
-      $1007 = $1;
-      $1008 = (_intern_gen_c($1007,42)|0);
-      HEAP32[$17>>2] = $1008;
-      break;
-     }
-     case 135:  {
-      $1009 = $1;
-      $1010 = (_intern_gen_c($1009,42)|0);
-      HEAP32[$17>>2] = $1010;
-      break;
-     }
-     case 136:  {
-      $1011 = $1;
-      $1012 = (_intern_gen_c($1011,47)|0);
-      HEAP32[$17>>2] = $1012;
-      break;
-     }
-     case 137:  {
-      $1013 = $1;
-      $1014 = (_intern_gen_c($1013,37)|0);
-      HEAP32[$17>>2] = $1014;
-      break;
-     }
-     case 138:  {
-      $1015 = $1;
-      $1016 = (_intern_gen($1015,59540,2)|0);
-      HEAP32[$17>>2] = $1016;
-      break;
-     }
-     case 139:  {
-      $1017 = $1;
-      $1018 = (_intern_gen_c($1017,33)|0);
-      HEAP32[$17>>2] = $1018;
-      break;
-     }
-     case 140:  {
-      $1019 = $1;
-      $1020 = (_intern_gen_c($1019,126)|0);
-      HEAP32[$17>>2] = $1020;
-      break;
-     }
-     case 141:  {
-      $1021 = $1;
-      $1022 = (_intern_gen($1021,59543,2)|0);
-      HEAP32[$17>>2] = $1022;
-      break;
-     }
-     case 142:  {
-      $1023 = $1;
-      $1024 = (_intern_gen($1023,59546,2)|0);
-      HEAP32[$17>>2] = $1024;
-      break;
-     }
-     case 143:  {
-      $1025 = $1;
-      $1026 = (_intern_gen($1025,69083,2)|0);
-      HEAP32[$17>>2] = $1026;
-      break;
-     }
-     case 144:  {
-      $1027 = $1;
-      $1028 = (_intern_gen($1027,64619,3)|0);
-      HEAP32[$17>>2] = $1028;
-      break;
-     }
-     case 145:  {
-      $1029 = $1;
-      $1030 = (_intern_gen_c($1029,96)|0);
-      HEAP32[$17>>2] = $1030;
-      break;
-     }
-     case 186:  {
-      $1031 = $1;
-      $1032 = $12;
-      $1033 = ((($1032)) + -8|0);
-      $1034 = HEAP32[$1033>>2]|0;
-      $1035 = $12;
-      $1036 = HEAP32[$1035>>2]|0;
-      $1037 = (_new_asgn($1031,$1034,$1036)|0);
-      HEAP32[$17>>2] = $1037;
-      break;
-     }
-     case 187:  {
-      $1038 = $1;
-      $1039 = $12;
-      $1040 = ((($1039)) + -16|0);
-      $1041 = HEAP32[$1040>>2]|0;
-      $1042 = $1;
-      $1043 = $12;
-      $1044 = ((($1043)) + -8|0);
-      $1045 = HEAP32[$1044>>2]|0;
-      $1046 = $1;
-      $1047 = $1;
-      $1048 = $12;
-      $1049 = HEAP32[$1048>>2]|0;
-      $1050 = (_list3_gen($1047,0,0,$1049)|0);
-      $1051 = (_list1_gen($1046,$1050)|0);
-      $1052 = (_new_rescue($1042,$1045,$1051,0)|0);
-      $1053 = (_new_asgn($1038,$1041,$1052)|0);
-      HEAP32[$17>>2] = $1053;
-      break;
-     }
-     case 188:  {
-      $1054 = $1;
-      $1055 = $12;
-      $1056 = ((($1055)) + -8|0);
-      $1057 = HEAP32[$1056>>2]|0;
-      $1058 = $12;
-      $1059 = ((($1058)) + -4|0);
-      $1060 = HEAP32[$1059>>2]|0;
-      $1061 = $12;
-      $1062 = HEAP32[$1061>>2]|0;
-      $1063 = (_new_op_asgn($1054,$1057,$1060,$1062)|0);
-      HEAP32[$17>>2] = $1063;
-      break;
-     }
-     case 189:  {
-      $1064 = $1;
-      $1065 = $12;
-      $1066 = ((($1065)) + -16|0);
-      $1067 = HEAP32[$1066>>2]|0;
-      $1068 = $12;
-      $1069 = ((($1068)) + -12|0);
-      $1070 = HEAP32[$1069>>2]|0;
-      $1071 = $1;
-      $1072 = $12;
-      $1073 = ((($1072)) + -8|0);
-      $1074 = HEAP32[$1073>>2]|0;
-      $1075 = $1;
-      $1076 = $1;
-      $1077 = $12;
-      $1078 = HEAP32[$1077>>2]|0;
-      $1079 = (_list3_gen($1076,0,0,$1078)|0);
-      $1080 = (_list1_gen($1075,$1079)|0);
-      $1081 = (_new_rescue($1071,$1074,$1080,0)|0);
-      $1082 = (_new_op_asgn($1064,$1067,$1070,$1081)|0);
-      HEAP32[$17>>2] = $1082;
-      break;
-     }
-     case 190:  {
-      $1083 = $1;
-      $1084 = $1;
-      $1085 = $12;
-      $1086 = ((($1085)) + -20|0);
-      $1087 = HEAP32[$1086>>2]|0;
-      $1088 = $1;
-      $1089 = (_intern_gen($1088,69083,2)|0);
-      $1090 = $12;
-      $1091 = ((($1090)) + -12|0);
-      $1092 = HEAP32[$1091>>2]|0;
-      $1093 = (_new_call($1084,$1087,$1089,$1092)|0);
-      $1094 = $12;
-      $1095 = ((($1094)) + -4|0);
-      $1096 = HEAP32[$1095>>2]|0;
-      $1097 = $12;
-      $1098 = HEAP32[$1097>>2]|0;
-      $1099 = (_new_op_asgn($1083,$1093,$1096,$1098)|0);
-      HEAP32[$17>>2] = $1099;
-      break;
-     }
-     case 191:  {
-      $1100 = $1;
-      $1101 = $1;
-      $1102 = $12;
-      $1103 = ((($1102)) + -16|0);
-      $1104 = HEAP32[$1103>>2]|0;
-      $1105 = $12;
-      $1106 = ((($1105)) + -8|0);
-      $1107 = HEAP32[$1106>>2]|0;
-      $1108 = (_new_call($1101,$1104,$1107,0)|0);
-      $1109 = $12;
-      $1110 = ((($1109)) + -4|0);
-      $1111 = HEAP32[$1110>>2]|0;
-      $1112 = $12;
-      $1113 = HEAP32[$1112>>2]|0;
-      $1114 = (_new_op_asgn($1100,$1108,$1111,$1113)|0);
-      HEAP32[$17>>2] = $1114;
-      break;
-     }
-     case 192:  {
-      $1115 = $1;
-      $1116 = $1;
-      $1117 = $12;
-      $1118 = ((($1117)) + -16|0);
-      $1119 = HEAP32[$1118>>2]|0;
-      $1120 = $12;
-      $1121 = ((($1120)) + -8|0);
-      $1122 = HEAP32[$1121>>2]|0;
-      $1123 = (_new_call($1116,$1119,$1122,0)|0);
-      $1124 = $12;
-      $1125 = ((($1124)) + -4|0);
-      $1126 = HEAP32[$1125>>2]|0;
-      $1127 = $12;
-      $1128 = HEAP32[$1127>>2]|0;
-      $1129 = (_new_op_asgn($1115,$1123,$1126,$1128)|0);
-      HEAP32[$17>>2] = $1129;
-      break;
-     }
-     case 193:  {
-      $1130 = $1;
-      $1131 = $1;
-      $1132 = $12;
-      $1133 = ((($1132)) + -16|0);
-      $1134 = HEAP32[$1133>>2]|0;
-      $1135 = $12;
-      $1136 = ((($1135)) + -8|0);
-      $1137 = HEAP32[$1136>>2]|0;
-      $1138 = (_new_call($1131,$1134,$1137,0)|0);
-      $1139 = $12;
-      $1140 = ((($1139)) + -4|0);
-      $1141 = HEAP32[$1140>>2]|0;
-      $1142 = $12;
-      $1143 = HEAP32[$1142>>2]|0;
-      $1144 = (_new_op_asgn($1130,$1138,$1141,$1143)|0);
-      HEAP32[$17>>2] = $1144;
-      break;
-     }
-     case 194:  {
-      $1145 = $1;
-      _yyerror($1145,59439);
-      $1146 = $1;
-      $1147 = (_new_begin($1146,0)|0);
-      HEAP32[$17>>2] = $1147;
-      break;
-     }
-     case 195:  {
-      $1148 = $1;
-      _yyerror($1148,59439);
-      $1149 = $1;
-      $1150 = (_new_begin($1149,0)|0);
-      HEAP32[$17>>2] = $1150;
-      break;
-     }
-     case 196:  {
-      $1151 = $1;
-      $1152 = $12;
-      $1153 = ((($1152)) + -8|0);
-      $1154 = HEAP32[$1153>>2]|0;
-      _backref_error($1151,$1154);
-      $1155 = $1;
-      $1156 = (_new_begin($1155,0)|0);
-      HEAP32[$17>>2] = $1156;
-      break;
-     }
-     case 197:  {
-      $1157 = $1;
-      $1158 = $12;
-      $1159 = ((($1158)) + -8|0);
-      $1160 = HEAP32[$1159>>2]|0;
-      $1161 = $12;
-      $1162 = HEAP32[$1161>>2]|0;
-      $1163 = (_new_dot2($1157,$1160,$1162)|0);
-      HEAP32[$17>>2] = $1163;
-      break;
-     }
-     case 198:  {
-      $1164 = $1;
-      $1165 = $12;
-      $1166 = ((($1165)) + -8|0);
-      $1167 = HEAP32[$1166>>2]|0;
-      $1168 = $12;
-      $1169 = HEAP32[$1168>>2]|0;
-      $1170 = (_new_dot3($1164,$1167,$1169)|0);
-      HEAP32[$17>>2] = $1170;
-      break;
-     }
-     case 199:  {
-      $1171 = $1;
-      $1172 = $12;
-      $1173 = ((($1172)) + -8|0);
-      $1174 = HEAP32[$1173>>2]|0;
-      $1175 = $12;
-      $1176 = HEAP32[$1175>>2]|0;
-      $1177 = (_call_bin_op($1171,$1174,64614,$1176)|0);
-      HEAP32[$17>>2] = $1177;
-      break;
-     }
-     case 200:  {
-      $1178 = $1;
-      $1179 = $12;
-      $1180 = ((($1179)) + -8|0);
-      $1181 = HEAP32[$1180>>2]|0;
-      $1182 = $12;
-      $1183 = HEAP32[$1182>>2]|0;
-      $1184 = (_call_bin_op($1178,$1181,69660,$1183)|0);
-      HEAP32[$17>>2] = $1184;
-      break;
-     }
-     case 201:  {
-      $1185 = $1;
-      $1186 = $12;
-      $1187 = ((($1186)) + -8|0);
-      $1188 = HEAP32[$1187>>2]|0;
-      $1189 = $12;
-      $1190 = HEAP32[$1189>>2]|0;
-      $1191 = (_call_bin_op($1185,$1188,68856,$1190)|0);
-      HEAP32[$17>>2] = $1191;
-      break;
-     }
-     case 202:  {
-      $1192 = $1;
-      $1193 = $12;
-      $1194 = ((($1193)) + -8|0);
-      $1195 = HEAP32[$1194>>2]|0;
-      $1196 = $12;
-      $1197 = HEAP32[$1196>>2]|0;
-      $1198 = (_call_bin_op($1192,$1195,59549,$1197)|0);
-      HEAP32[$17>>2] = $1198;
-      break;
-     }
-     case 203:  {
-      $1199 = $1;
-      $1200 = $12;
-      $1201 = ((($1200)) + -8|0);
-      $1202 = HEAP32[$1201>>2]|0;
-      $1203 = $12;
-      $1204 = HEAP32[$1203>>2]|0;
-      $1205 = (_call_bin_op($1199,$1202,59551,$1204)|0);
-      HEAP32[$17>>2] = $1205;
-      break;
-     }
-     case 204:  {
-      $1206 = $1;
-      $1207 = $12;
-      $1208 = ((($1207)) + -8|0);
-      $1209 = HEAP32[$1208>>2]|0;
-      $1210 = $12;
-      $1211 = HEAP32[$1210>>2]|0;
-      $1212 = (_call_bin_op($1206,$1209,59540,$1211)|0);
-      HEAP32[$17>>2] = $1212;
-      break;
-     }
-     case 205:  {
-      $1213 = $1;
-      $1214 = $1;
-      $1215 = $12;
-      $1216 = ((($1215)) + -8|0);
-      $1217 = HEAP32[$1216>>2]|0;
-      $1218 = $12;
-      $1219 = HEAP32[$1218>>2]|0;
-      $1220 = (_call_bin_op($1214,$1217,59540,$1219)|0);
-      $1221 = (_call_uni_op($1213,$1220,59546)|0);
-      HEAP32[$17>>2] = $1221;
-      break;
-     }
-     case 206:  {
-      $1222 = $1;
-      $1223 = $1;
-      $1224 = $12;
-      $1225 = ((($1224)) + -8|0);
-      $1226 = HEAP32[$1225>>2]|0;
-      $1227 = $12;
-      $1228 = HEAP32[$1227>>2]|0;
-      $1229 = (_call_bin_op($1223,$1226,59540,$1228)|0);
-      $1230 = (_call_uni_op($1222,$1229,59546)|0);
-      HEAP32[$17>>2] = $1230;
-      break;
-     }
-     case 207:  {
-      $1231 = $1;
-      $1232 = $12;
-      $1233 = HEAP32[$1232>>2]|0;
-      $1234 = (_call_uni_op($1231,$1233,59543)|0);
-      HEAP32[$17>>2] = $1234;
-      break;
-     }
-     case 208:  {
-      $1235 = $1;
-      $1236 = $12;
-      $1237 = HEAP32[$1236>>2]|0;
-      $1238 = (_call_uni_op($1235,$1237,59546)|0);
-      HEAP32[$17>>2] = $1238;
-      break;
-     }
-     case 209:  {
-      $1239 = $1;
-      $1240 = $12;
-      $1241 = ((($1240)) + -8|0);
-      $1242 = HEAP32[$1241>>2]|0;
-      $1243 = $12;
-      $1244 = HEAP32[$1243>>2]|0;
-      $1245 = (_call_bin_op($1239,$1242,59553,$1244)|0);
-      HEAP32[$17>>2] = $1245;
-      break;
-     }
-     case 210:  {
-      $1246 = $1;
-      $1247 = $12;
-      $1248 = ((($1247)) + -8|0);
-      $1249 = HEAP32[$1248>>2]|0;
-      $1250 = $12;
-      $1251 = HEAP32[$1250>>2]|0;
-      $1252 = (_call_bin_op($1246,$1249,59555,$1251)|0);
-      HEAP32[$17>>2] = $1252;
-      break;
-     }
-     case 211:  {
-      $1253 = $1;
-      $1254 = $12;
-      $1255 = ((($1254)) + -8|0);
-      $1256 = HEAP32[$1255>>2]|0;
-      $1257 = $12;
-      $1258 = HEAP32[$1257>>2]|0;
-      $1259 = (_call_bin_op($1253,$1256,69093,$1258)|0);
-      HEAP32[$17>>2] = $1259;
-      break;
-     }
-     case 212:  {
-      $1260 = $1;
-      $1261 = $12;
-      $1262 = ((($1261)) + -8|0);
-      $1263 = HEAP32[$1262>>2]|0;
-      $1264 = $12;
-      $1265 = HEAP32[$1264>>2]|0;
-      $1266 = (_call_bin_op($1260,$1263,69156,$1265)|0);
-      HEAP32[$17>>2] = $1266;
-      break;
-     }
-     case 213:  {
-      $1267 = $1;
-      $1268 = $12;
-      $1269 = ((($1268)) + -8|0);
-      $1270 = HEAP32[$1269>>2]|0;
-      $1271 = $12;
-      $1272 = HEAP32[$1271>>2]|0;
-      $1273 = (_call_bin_op($1267,$1270,65540,$1272)|0);
-      HEAP32[$17>>2] = $1273;
-      break;
-     }
-     case 214:  {
-      $1274 = $1;
-      $1275 = $12;
-      $1276 = ((($1275)) + -8|0);
-      $1277 = HEAP32[$1276>>2]|0;
-      $1278 = $12;
-      $1279 = HEAP32[$1278>>2]|0;
-      $1280 = (_call_bin_op($1274,$1277,59531,$1279)|0);
-      HEAP32[$17>>2] = $1280;
-      break;
-     }
-     case 215:  {
-      $1281 = $1;
-      $1282 = $12;
-      $1283 = ((($1282)) + -8|0);
-      $1284 = HEAP32[$1283>>2]|0;
-      $1285 = $12;
-      $1286 = HEAP32[$1285>>2]|0;
-      $1287 = (_call_bin_op($1281,$1284,59557,$1286)|0);
-      HEAP32[$17>>2] = $1287;
-      break;
-     }
-     case 216:  {
-      $1288 = $1;
-      $1289 = $12;
-      $1290 = ((($1289)) + -8|0);
-      $1291 = HEAP32[$1290>>2]|0;
-      $1292 = $12;
-      $1293 = HEAP32[$1292>>2]|0;
-      $1294 = (_call_bin_op($1288,$1291,59534,$1293)|0);
-      HEAP32[$17>>2] = $1294;
-      break;
-     }
-     case 217:  {
-      $1295 = $1;
-      $1296 = $12;
-      $1297 = ((($1296)) + -8|0);
-      $1298 = HEAP32[$1297>>2]|0;
-      $1299 = $12;
-      $1300 = HEAP32[$1299>>2]|0;
-      $1301 = (_call_bin_op($1295,$1298,69201,$1300)|0);
-      HEAP32[$17>>2] = $1301;
-      break;
-     }
-     case 218:  {
-      $1302 = $1;
-      $1303 = $12;
-      $1304 = ((($1303)) + -8|0);
-      $1305 = HEAP32[$1304>>2]|0;
-      $1306 = $12;
-      $1307 = HEAP32[$1306>>2]|0;
-      $1308 = (_call_bin_op($1302,$1305,69591,$1307)|0);
-      HEAP32[$17>>2] = $1308;
-      break;
-     }
-     case 219:  {
-      $1309 = $1;
-      $1310 = $12;
-      $1311 = ((($1310)) + -8|0);
-      $1312 = HEAP32[$1311>>2]|0;
-      $1313 = $12;
-      $1314 = HEAP32[$1313>>2]|0;
-      $1315 = (_call_bin_op($1309,$1312,68364,$1314)|0);
-      HEAP32[$17>>2] = $1315;
-      break;
-     }
-     case 220:  {
-      $1316 = $1;
-      $1317 = $12;
-      $1318 = ((($1317)) + -8|0);
-      $1319 = HEAP32[$1318>>2]|0;
-      $1320 = $12;
-      $1321 = HEAP32[$1320>>2]|0;
-      $1322 = (_call_bin_op($1316,$1319,59525,$1321)|0);
-      HEAP32[$17>>2] = $1322;
-      break;
-     }
-     case 221:  {
-      $1323 = $1;
-      $1324 = $12;
-      $1325 = ((($1324)) + -8|0);
-      $1326 = HEAP32[$1325>>2]|0;
-      $1327 = $12;
-      $1328 = HEAP32[$1327>>2]|0;
-      $1329 = (_call_bin_op($1323,$1326,59528,$1328)|0);
-      HEAP32[$17>>2] = $1329;
-      break;
-     }
-     case 222:  {
-      $1330 = $1;
-      $1331 = $12;
-      $1332 = HEAP32[$1331>>2]|0;
-      $1333 = (_cond($1332)|0);
-      $1334 = (_call_uni_op($1330,$1333,65619)|0);
-      HEAP32[$17>>2] = $1334;
-      break;
-     }
-     case 223:  {
-      $1335 = $1;
-      $1336 = $12;
-      $1337 = HEAP32[$1336>>2]|0;
-      $1338 = (_cond($1337)|0);
-      $1339 = (_call_uni_op($1335,$1338,59559)|0);
-      HEAP32[$17>>2] = $1339;
-      break;
-     }
-     case 224:  {
-      $1340 = $1;
-      $1341 = $12;
-      $1342 = ((($1341)) + -8|0);
-      $1343 = HEAP32[$1342>>2]|0;
-      $1344 = $12;
-      $1345 = HEAP32[$1344>>2]|0;
-      $1346 = (_call_bin_op($1340,$1343,64616,$1345)|0);
-      HEAP32[$17>>2] = $1346;
-      break;
-     }
-     case 225:  {
-      $1347 = $1;
-      $1348 = $12;
-      $1349 = ((($1348)) + -8|0);
-      $1350 = HEAP32[$1349>>2]|0;
-      $1351 = $12;
-      $1352 = HEAP32[$1351>>2]|0;
-      $1353 = (_call_bin_op($1347,$1350,59537,$1352)|0);
-      HEAP32[$17>>2] = $1353;
-      break;
-     }
-     case 226:  {
-      $1354 = $1;
-      $1355 = $12;
-      $1356 = ((($1355)) + -8|0);
-      $1357 = HEAP32[$1356>>2]|0;
-      $1358 = $12;
-      $1359 = HEAP32[$1358>>2]|0;
-      $1360 = (_new_and($1354,$1357,$1359)|0);
-      HEAP32[$17>>2] = $1360;
-      break;
-     }
-     case 227:  {
-      $1361 = $1;
-      $1362 = $12;
-      $1363 = ((($1362)) + -8|0);
-      $1364 = HEAP32[$1363>>2]|0;
-      $1365 = $12;
-      $1366 = HEAP32[$1365>>2]|0;
-      $1367 = (_new_or($1361,$1364,$1366)|0);
-      HEAP32[$17>>2] = $1367;
-      break;
-     }
-     case 228:  {
-      $1368 = $1;
-      $1369 = $12;
-      $1370 = ((($1369)) + -20|0);
-      $1371 = HEAP32[$1370>>2]|0;
-      $1372 = (_cond($1371)|0);
-      $1373 = $12;
-      $1374 = ((($1373)) + -12|0);
-      $1375 = HEAP32[$1374>>2]|0;
-      $1376 = $12;
-      $1377 = HEAP32[$1376>>2]|0;
-      $1378 = (_new_if($1368,$1372,$1375,$1377)|0);
-      HEAP32[$17>>2] = $1378;
-      break;
-     }
-     case 229:  {
-      $1379 = $12;
-      $1380 = HEAP32[$1379>>2]|0;
-      HEAP32[$17>>2] = $1380;
-      break;
-     }
-     case 230:  {
-      $1381 = $12;
-      $1382 = HEAP32[$1381>>2]|0;
-      HEAP32[$17>>2] = $1382;
-      $1383 = HEAP32[$17>>2]|0;
-      $1384 = ($1383|0)!=(0|0);
-      if (!($1384)) {
-       $1385 = $1;
-       $1386 = (_new_nil($1385)|0);
-       HEAP32[$17>>2] = $1386;
-      }
-      break;
-     }
-     case 232:  {
-      $1387 = $12;
-      $1388 = ((($1387)) + -4|0);
-      $1389 = HEAP32[$1388>>2]|0;
-      HEAP32[$17>>2] = $1389;
-      $1390 = $12;
-      $1391 = ((($1390)) + -4|0);
-      $1392 = HEAP32[$1391>>2]|0;
-      $1393 = ($1392|0)!=(0|0);
-      if ($1393) {
-       $1394 = $12;
-       $1395 = ((($1394)) + -4|0);
-       $1396 = HEAP32[$1395>>2]|0;
-       $1397 = ((($1396)) + 10|0);
-       $1398 = HEAP16[$1397>>1]|0;
-       $1399 = HEAP32[$17>>2]|0;
-       $1400 = ((($1399)) + 10|0);
-       HEAP16[$1400>>1] = $1398;
-       $1401 = $12;
-       $1402 = ((($1401)) + -4|0);
-       $1403 = HEAP32[$1402>>2]|0;
-       $1404 = ((($1403)) + 8|0);
-       $1405 = HEAP16[$1404>>1]|0;
-       $1406 = HEAP32[$17>>2]|0;
-       $1407 = ((($1406)) + 8|0);
-       HEAP16[$1407>>1] = $1405;
-      }
-      break;
-     }
-     case 233:  {
-      $1408 = $1;
-      $1409 = $12;
-      $1410 = ((($1409)) + -12|0);
-      $1411 = HEAP32[$1410>>2]|0;
-      $1412 = $1;
-      $1413 = $1;
-      $1414 = $12;
-      $1415 = ((($1414)) + -4|0);
-      $1416 = HEAP32[$1415>>2]|0;
-      $1417 = (_new_hash($1413,$1416)|0);
-      $1418 = (_list1_gen($1412,$1417)|0);
-      $1419 = (_append_gen($1408,$1411,$1418)|0);
-      HEAP32[$17>>2] = $1419;
-      break;
-     }
-     case 234:  {
-      $1420 = $1;
-      $1421 = $1;
-      $1422 = $12;
-      $1423 = ((($1422)) + -4|0);
-      $1424 = HEAP32[$1423>>2]|0;
-      $1425 = (_new_hash($1421,$1424)|0);
-      $1426 = (_cons_gen($1420,$1425,0)|0);
-      HEAP32[$17>>2] = $1426;
-      $1427 = $12;
-      $1428 = ((($1427)) + -4|0);
-      $1429 = HEAP32[$1428>>2]|0;
-      $1430 = ($1429|0)!=(0|0);
-      if ($1430) {
-       $1431 = $12;
-       $1432 = ((($1431)) + -4|0);
-       $1433 = HEAP32[$1432>>2]|0;
-       $1434 = ((($1433)) + 10|0);
-       $1435 = HEAP16[$1434>>1]|0;
-       $1436 = HEAP32[$17>>2]|0;
-       $1437 = ((($1436)) + 10|0);
-       HEAP16[$1437>>1] = $1435;
-       $1438 = $12;
-       $1439 = ((($1438)) + -4|0);
-       $1440 = HEAP32[$1439>>2]|0;
-       $1441 = ((($1440)) + 8|0);
-       $1442 = HEAP16[$1441>>1]|0;
-       $1443 = HEAP32[$17>>2]|0;
-       $1444 = ((($1443)) + 8|0);
-       HEAP16[$1444>>1] = $1442;
-      }
-      break;
-     }
-     case 235:  {
-      $1445 = $12;
-      $1446 = ((($1445)) + -4|0);
-      $1447 = HEAP32[$1446>>2]|0;
-      HEAP32[$17>>2] = $1447;
-      break;
-     }
-     case 240:  {
-      $1448 = $1;
-      $1449 = $12;
-      $1450 = ((($1449)) + -4|0);
-      $1451 = HEAP32[$1450>>2]|0;
-      $1452 = (_cons_gen($1448,$1451,0)|0);
-      HEAP32[$17>>2] = $1452;
-      $1453 = $12;
-      $1454 = ((($1453)) + -4|0);
-      $1455 = HEAP32[$1454>>2]|0;
-      $1456 = ($1455|0)!=(0|0);
-      if ($1456) {
-       $1457 = $12;
-       $1458 = ((($1457)) + -4|0);
-       $1459 = HEAP32[$1458>>2]|0;
-       $1460 = ((($1459)) + 10|0);
-       $1461 = HEAP16[$1460>>1]|0;
-       $1462 = HEAP32[$17>>2]|0;
-       $1463 = ((($1462)) + 10|0);
-       HEAP16[$1463>>1] = $1461;
-       $1464 = $12;
-       $1465 = ((($1464)) + -4|0);
-       $1466 = HEAP32[$1465>>2]|0;
-       $1467 = ((($1466)) + 8|0);
-       $1468 = HEAP16[$1467>>1]|0;
-       $1469 = HEAP32[$17>>2]|0;
-       $1470 = ((($1469)) + 8|0);
-       HEAP16[$1470>>1] = $1468;
-      }
-      break;
-     }
-     case 241:  {
-      $1471 = $1;
-      $1472 = $1;
-      $1473 = $12;
-      $1474 = ((($1473)) + -12|0);
-      $1475 = HEAP32[$1474>>2]|0;
-      $1476 = $1;
-      $1477 = $1;
-      $1478 = $12;
-      $1479 = ((($1478)) + -4|0);
-      $1480 = HEAP32[$1479>>2]|0;
-      $1481 = (_new_hash($1477,$1480)|0);
-      $1482 = (_list1_gen($1476,$1481)|0);
-      $1483 = (_append_gen($1472,$1475,$1482)|0);
-      $1484 = (_cons_gen($1471,$1483,0)|0);
-      HEAP32[$17>>2] = $1484;
-      $1485 = $12;
-      $1486 = ((($1485)) + -12|0);
-      $1487 = HEAP32[$1486>>2]|0;
-      $1488 = ($1487|0)!=(0|0);
-      if ($1488) {
-       $1489 = $12;
-       $1490 = ((($1489)) + -12|0);
-       $1491 = HEAP32[$1490>>2]|0;
-       $1492 = ((($1491)) + 10|0);
-       $1493 = HEAP16[$1492>>1]|0;
-       $1494 = HEAP32[$17>>2]|0;
-       $1495 = ((($1494)) + 10|0);
-       HEAP16[$1495>>1] = $1493;
-       $1496 = $12;
-       $1497 = ((($1496)) + -12|0);
-       $1498 = HEAP32[$1497>>2]|0;
-       $1499 = ((($1498)) + 8|0);
-       $1500 = HEAP16[$1499>>1]|0;
-       $1501 = HEAP32[$17>>2]|0;
-       $1502 = ((($1501)) + 8|0);
-       HEAP16[$1502>>1] = $1500;
-      }
-      break;
-     }
-     case 242:  {
-      $1503 = $1;
-      $1504 = $1;
-      $1505 = $1;
-      $1506 = $12;
-      $1507 = ((($1506)) + -4|0);
-      $1508 = HEAP32[$1507>>2]|0;
-      $1509 = (_new_hash($1505,$1508)|0);
-      $1510 = (_list1_gen($1504,$1509)|0);
-      $1511 = (_cons_gen($1503,$1510,0)|0);
-      HEAP32[$17>>2] = $1511;
-      $1512 = $12;
-      $1513 = ((($1512)) + -4|0);
-      $1514 = HEAP32[$1513>>2]|0;
-      $1515 = ($1514|0)!=(0|0);
-      if ($1515) {
-       $1516 = $12;
-       $1517 = ((($1516)) + -4|0);
-       $1518 = HEAP32[$1517>>2]|0;
-       $1519 = ((($1518)) + 10|0);
-       $1520 = HEAP16[$1519>>1]|0;
-       $1521 = HEAP32[$17>>2]|0;
-       $1522 = ((($1521)) + 10|0);
-       HEAP16[$1522>>1] = $1520;
-       $1523 = $12;
-       $1524 = ((($1523)) + -4|0);
-       $1525 = HEAP32[$1524>>2]|0;
-       $1526 = ((($1525)) + 8|0);
-       $1527 = HEAP16[$1526>>1]|0;
-       $1528 = HEAP32[$17>>2]|0;
-       $1529 = ((($1528)) + 8|0);
-       HEAP16[$1529>>1] = $1527;
-      }
-      break;
-     }
-     case 243:  {
-      $1530 = $1;
-      $1531 = $1;
-      $1532 = $12;
-      $1533 = HEAP32[$1532>>2]|0;
-      $1534 = (_list1_gen($1531,$1533)|0);
-      $1535 = (_cons_gen($1530,$1534,0)|0);
-      HEAP32[$17>>2] = $1535;
-      $1536 = $12;
-      $1537 = HEAP32[$1536>>2]|0;
-      $1538 = ($1537|0)!=(0|0);
-      if ($1538) {
-       $1539 = $12;
-       $1540 = HEAP32[$1539>>2]|0;
-       $1541 = ((($1540)) + 10|0);
-       $1542 = HEAP16[$1541>>1]|0;
-       $1543 = HEAP32[$17>>2]|0;
-       $1544 = ((($1543)) + 10|0);
-       HEAP16[$1544>>1] = $1542;
-       $1545 = $12;
-       $1546 = HEAP32[$1545>>2]|0;
-       $1547 = ((($1546)) + 8|0);
-       $1548 = HEAP16[$1547>>1]|0;
-       $1549 = HEAP32[$17>>2]|0;
-       $1550 = ((($1549)) + 8|0);
-       HEAP16[$1550>>1] = $1548;
-      }
-      break;
-     }
-     case 244:  {
-      $1551 = $1;
-      $1552 = $12;
-      $1553 = ((($1552)) + -4|0);
-      $1554 = HEAP32[$1553>>2]|0;
-      $1555 = $12;
-      $1556 = HEAP32[$1555>>2]|0;
-      $1557 = (_cons_gen($1551,$1554,$1556)|0);
-      HEAP32[$17>>2] = $1557;
-      $1558 = $12;
-      $1559 = ((($1558)) + -4|0);
-      $1560 = HEAP32[$1559>>2]|0;
-      $1561 = ($1560|0)!=(0|0);
-      if ($1561) {
-       $1562 = $12;
-       $1563 = ((($1562)) + -4|0);
-       $1564 = HEAP32[$1563>>2]|0;
-       $1565 = ((($1564)) + 10|0);
-       $1566 = HEAP16[$1565>>1]|0;
-       $1567 = HEAP32[$17>>2]|0;
-       $1568 = ((($1567)) + 10|0);
-       HEAP16[$1568>>1] = $1566;
-       $1569 = $12;
-       $1570 = ((($1569)) + -4|0);
-       $1571 = HEAP32[$1570>>2]|0;
-       $1572 = ((($1571)) + 8|0);
-       $1573 = HEAP16[$1572>>1]|0;
-       $1574 = HEAP32[$17>>2]|0;
-       $1575 = ((($1574)) + 8|0);
-       HEAP16[$1575>>1] = $1573;
-      }
-      break;
-     }
-     case 245:  {
-      $1576 = $1;
-      $1577 = $1;
-      $1578 = $1;
-      $1579 = $12;
-      $1580 = ((($1579)) + -4|0);
-      $1581 = HEAP32[$1580>>2]|0;
-      $1582 = (_new_hash($1578,$1581)|0);
-      $1583 = (_list1_gen($1577,$1582)|0);
-      $1584 = $12;
-      $1585 = HEAP32[$1584>>2]|0;
-      $1586 = (_cons_gen($1576,$1583,$1585)|0);
-      HEAP32[$17>>2] = $1586;
-      $1587 = $12;
-      $1588 = ((($1587)) + -4|0);
-      $1589 = HEAP32[$1588>>2]|0;
-      $1590 = ($1589|0)!=(0|0);
-      if ($1590) {
-       $1591 = $12;
-       $1592 = ((($1591)) + -4|0);
-       $1593 = HEAP32[$1592>>2]|0;
-       $1594 = ((($1593)) + 10|0);
-       $1595 = HEAP16[$1594>>1]|0;
-       $1596 = HEAP32[$17>>2]|0;
-       $1597 = ((($1596)) + 10|0);
-       HEAP16[$1597>>1] = $1595;
-       $1598 = $12;
-       $1599 = ((($1598)) + -4|0);
-       $1600 = HEAP32[$1599>>2]|0;
-       $1601 = ((($1600)) + 8|0);
-       $1602 = HEAP16[$1601>>1]|0;
-       $1603 = HEAP32[$17>>2]|0;
-       $1604 = ((($1603)) + 8|0);
-       HEAP16[$1604>>1] = $1602;
-      }
-      break;
-     }
-     case 246:  {
-      $1605 = $1;
-      $1606 = $1;
-      $1607 = $12;
-      $1608 = ((($1607)) + -12|0);
-      $1609 = HEAP32[$1608>>2]|0;
-      $1610 = $1;
-      $1611 = $1;
-      $1612 = $12;
-      $1613 = ((($1612)) + -4|0);
-      $1614 = HEAP32[$1613>>2]|0;
-      $1615 = (_new_hash($1611,$1614)|0);
-      $1616 = (_list1_gen($1610,$1615)|0);
-      $1617 = (_append_gen($1606,$1609,$1616)|0);
-      $1618 = $12;
-      $1619 = HEAP32[$1618>>2]|0;
-      $1620 = (_cons_gen($1605,$1617,$1619)|0);
-      HEAP32[$17>>2] = $1620;
-      $1621 = $12;
-      $1622 = ((($1621)) + -12|0);
-      $1623 = HEAP32[$1622>>2]|0;
-      $1624 = ($1623|0)!=(0|0);
-      if ($1624) {
-       $1625 = $12;
-       $1626 = ((($1625)) + -12|0);
-       $1627 = HEAP32[$1626>>2]|0;
-       $1628 = ((($1627)) + 10|0);
-       $1629 = HEAP16[$1628>>1]|0;
-       $1630 = HEAP32[$17>>2]|0;
-       $1631 = ((($1630)) + 10|0);
-       HEAP16[$1631>>1] = $1629;
-       $1632 = $12;
-       $1633 = ((($1632)) + -12|0);
-       $1634 = HEAP32[$1633>>2]|0;
-       $1635 = ((($1634)) + 8|0);
-       $1636 = HEAP16[$1635>>1]|0;
-       $1637 = HEAP32[$17>>2]|0;
-       $1638 = ((($1637)) + 8|0);
-       HEAP16[$1638>>1] = $1636;
-      }
-      break;
-     }
-     case 247:  {
-      $1639 = $1;
-      $1640 = $12;
-      $1641 = HEAP32[$1640>>2]|0;
-      $1642 = (_cons_gen($1639,0,$1641)|0);
-      HEAP32[$17>>2] = $1642;
-      $1643 = $12;
-      $1644 = HEAP32[$1643>>2]|0;
-      $1645 = ($1644|0)!=(0|0);
-      if ($1645) {
-       $1646 = $12;
-       $1647 = HEAP32[$1646>>2]|0;
-       $1648 = ((($1647)) + 10|0);
-       $1649 = HEAP16[$1648>>1]|0;
-       $1650 = HEAP32[$17>>2]|0;
-       $1651 = ((($1650)) + 10|0);
-       HEAP16[$1651>>1] = $1649;
-       $1652 = $12;
-       $1653 = HEAP32[$1652>>2]|0;
-       $1654 = ((($1653)) + 8|0);
-       $1655 = HEAP16[$1654>>1]|0;
-       $1656 = HEAP32[$17>>2]|0;
-       $1657 = ((($1656)) + 8|0);
-       HEAP16[$1657>>1] = $1655;
-      }
-      break;
-     }
-     case 248:  {
-      $1658 = $1;
-      $1659 = ((($1658)) + 52|0);
-      $1660 = HEAP32[$1659>>2]|0;
-      HEAP32[$17>>2] = $1660;
-      $1661 = $1;
-      $1662 = ((($1661)) + 52|0);
-      $1663 = HEAP32[$1662>>2]|0;
-      $1664 = $1663 << 1;
-      $1665 = $1664 | 1;
-      $1666 = $1;
-      $1667 = ((($1666)) + 52|0);
-      HEAP32[$1667>>2] = $1665;
-      break;
-     }
-     case 249:  {
-      $1668 = $12;
-      $1669 = ((($1668)) + -4|0);
-      $1670 = HEAP32[$1669>>2]|0;
-      $1671 = $1;
-      $1672 = ((($1671)) + 52|0);
-      HEAP32[$1672>>2] = $1670;
-      $1673 = $12;
-      $1674 = HEAP32[$1673>>2]|0;
-      HEAP32[$17>>2] = $1674;
-      break;
-     }
-     case 250:  {
-      $1675 = $1;
-      $1676 = $12;
-      $1677 = HEAP32[$1676>>2]|0;
-      $1678 = (_new_block_arg($1675,$1677)|0);
-      HEAP32[$17>>2] = $1678;
-      break;
-     }
-     case 251:  {
-      $1679 = $12;
-      $1680 = HEAP32[$1679>>2]|0;
-      HEAP32[$17>>2] = $1680;
-      break;
-     }
-     case 252:  {
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 253:  {
-      $1681 = $1;
-      $1682 = $12;
-      $1683 = HEAP32[$1682>>2]|0;
-      $1684 = (_cons_gen($1681,$1683,0)|0);
-      HEAP32[$17>>2] = $1684;
-      $1685 = $12;
-      $1686 = HEAP32[$1685>>2]|0;
-      $1687 = ($1686|0)!=(0|0);
-      if ($1687) {
-       $1688 = $12;
-       $1689 = HEAP32[$1688>>2]|0;
-       $1690 = ((($1689)) + 10|0);
-       $1691 = HEAP16[$1690>>1]|0;
-       $1692 = HEAP32[$17>>2]|0;
-       $1693 = ((($1692)) + 10|0);
-       HEAP16[$1693>>1] = $1691;
-       $1694 = $12;
-       $1695 = HEAP32[$1694>>2]|0;
-       $1696 = ((($1695)) + 8|0);
-       $1697 = HEAP16[$1696>>1]|0;
-       $1698 = HEAP32[$17>>2]|0;
-       $1699 = ((($1698)) + 8|0);
-       HEAP16[$1699>>1] = $1697;
-      }
-      break;
-     }
-     case 254:  {
-      $1700 = $1;
-      $1701 = $1;
-      $1702 = $12;
-      $1703 = HEAP32[$1702>>2]|0;
-      $1704 = (_new_splat($1701,$1703)|0);
-      $1705 = (_cons_gen($1700,$1704,0)|0);
-      HEAP32[$17>>2] = $1705;
-      $1706 = $12;
-      $1707 = HEAP32[$1706>>2]|0;
-      $1708 = ($1707|0)!=(0|0);
-      if ($1708) {
-       $1709 = $12;
-       $1710 = HEAP32[$1709>>2]|0;
-       $1711 = ((($1710)) + 10|0);
-       $1712 = HEAP16[$1711>>1]|0;
-       $1713 = HEAP32[$17>>2]|0;
-       $1714 = ((($1713)) + 10|0);
-       HEAP16[$1714>>1] = $1712;
-       $1715 = $12;
-       $1716 = HEAP32[$1715>>2]|0;
-       $1717 = ((($1716)) + 8|0);
-       $1718 = HEAP16[$1717>>1]|0;
-       $1719 = HEAP32[$17>>2]|0;
-       $1720 = ((($1719)) + 8|0);
-       HEAP16[$1720>>1] = $1718;
-      }
-      break;
-     }
-     case 255:  {
-      $1721 = $1;
-      $1722 = $12;
-      $1723 = ((($1722)) + -8|0);
-      $1724 = HEAP32[$1723>>2]|0;
-      $1725 = $1;
-      $1726 = $12;
-      $1727 = HEAP32[$1726>>2]|0;
-      $1728 = (_list1_gen($1725,$1727)|0);
-      $1729 = (_append_gen($1721,$1724,$1728)|0);
-      HEAP32[$17>>2] = $1729;
-      break;
-     }
-     case 256:  {
-      $1730 = $1;
-      $1731 = $12;
-      $1732 = ((($1731)) + -12|0);
-      $1733 = HEAP32[$1732>>2]|0;
-      $1734 = $1;
-      $1735 = $1;
-      $1736 = $12;
-      $1737 = HEAP32[$1736>>2]|0;
-      $1738 = (_new_splat($1735,$1737)|0);
-      $1739 = (_list1_gen($1734,$1738)|0);
-      $1740 = (_append_gen($1730,$1733,$1739)|0);
-      HEAP32[$17>>2] = $1740;
-      break;
-     }
-     case 257:  {
-      $1741 = $1;
-      $1742 = $12;
-      $1743 = ((($1742)) + -12|0);
-      $1744 = HEAP32[$1743>>2]|0;
-      $1745 = $1;
-      $1746 = $12;
-      $1747 = HEAP32[$1746>>2]|0;
-      $1748 = (_list1_gen($1745,$1747)|0);
-      $1749 = (_append_gen($1741,$1744,$1748)|0);
-      HEAP32[$17>>2] = $1749;
-      break;
-     }
-     case 258:  {
-      $1750 = $1;
-      $1751 = $12;
-      $1752 = ((($1751)) + -16|0);
-      $1753 = HEAP32[$1752>>2]|0;
-      $1754 = $1;
-      $1755 = $1;
-      $1756 = $12;
-      $1757 = HEAP32[$1756>>2]|0;
-      $1758 = (_new_splat($1755,$1757)|0);
-      $1759 = (_list1_gen($1754,$1758)|0);
-      $1760 = (_append_gen($1750,$1753,$1759)|0);
-      HEAP32[$17>>2] = $1760;
-      break;
-     }
-     case 259:  {
-      $1761 = $1;
-      $1762 = $12;
-      $1763 = ((($1762)) + -8|0);
-      $1764 = HEAP32[$1763>>2]|0;
-      $1765 = $1;
-      $1766 = $12;
-      $1767 = HEAP32[$1766>>2]|0;
-      $1768 = (_list1_gen($1765,$1767)|0);
-      $1769 = (_append_gen($1761,$1764,$1768)|0);
-      HEAP32[$17>>2] = $1769;
-      break;
-     }
-     case 260:  {
-      $1770 = $1;
-      $1771 = $12;
-      $1772 = ((($1771)) + -12|0);
-      $1773 = HEAP32[$1772>>2]|0;
-      $1774 = $1;
-      $1775 = $1;
-      $1776 = $12;
-      $1777 = HEAP32[$1776>>2]|0;
-      $1778 = (_new_splat($1775,$1777)|0);
-      $1779 = (_list1_gen($1774,$1778)|0);
-      $1780 = (_append_gen($1770,$1773,$1779)|0);
-      HEAP32[$17>>2] = $1780;
-      break;
-     }
-     case 261:  {
-      $1781 = $1;
-      $1782 = $1;
-      $1783 = $12;
-      $1784 = HEAP32[$1783>>2]|0;
-      $1785 = (_new_splat($1782,$1784)|0);
-      $1786 = (_list1_gen($1781,$1785)|0);
-      HEAP32[$17>>2] = $1786;
-      break;
-     }
-     case 269:  {
-      $1787 = $1;
-      $1788 = $12;
-      $1789 = HEAP32[$1788>>2]|0;
-      $1790 = (_new_fcall($1787,$1789,0)|0);
-      HEAP32[$17>>2] = $1790;
-      break;
-     }
-     case 270:  {
-      $1791 = $1;
-      $1792 = ((($1791)) + 52|0);
-      $1793 = HEAP32[$1792>>2]|0;
-      HEAP32[$17>>2] = $1793;
-      $1794 = $1;
-      $1795 = ((($1794)) + 52|0);
-      HEAP32[$1795>>2] = 0;
-      break;
-     }
-     case 271:  {
-      $1796 = $12;
-      $1797 = ((($1796)) + -8|0);
-      $1798 = HEAP32[$1797>>2]|0;
-      $1799 = $1;
-      $1800 = ((($1799)) + 52|0);
-      HEAP32[$1800>>2] = $1798;
-      $1801 = $12;
-      $1802 = ((($1801)) + -4|0);
-      $1803 = HEAP32[$1802>>2]|0;
-      HEAP32[$17>>2] = $1803;
-      break;
-     }
-     case 272:  {
-      $1804 = $1;
-      $1805 = ((($1804)) + 52|0);
-      $1806 = HEAP32[$1805>>2]|0;
-      HEAP32[$17>>2] = $1806;
-      $1807 = $1;
-      $1808 = ((($1807)) + 52|0);
-      HEAP32[$1808>>2] = 0;
-      break;
-     }
-     case 273:  {
-      $1809 = $1;
-      $1810 = ((($1809)) + 40|0);
-      HEAP32[$1810>>2] = 2;
-      break;
-     }
-     case 274:  {
-      $1811 = $12;
-      $1812 = ((($1811)) + -12|0);
-      $1813 = HEAP32[$1812>>2]|0;
-      $1814 = $1;
-      $1815 = ((($1814)) + 52|0);
-      HEAP32[$1815>>2] = $1813;
-      $1816 = $12;
-      $1817 = ((($1816)) + -8|0);
-      $1818 = HEAP32[$1817>>2]|0;
-      HEAP32[$17>>2] = $1818;
-      break;
-     }
-     case 275:  {
-      $1819 = $1;
-      $1820 = ((($1819)) + 40|0);
-      HEAP32[$1820>>2] = 2;
-      break;
-     }
-     case 276:  {
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 277:  {
-      $1821 = $12;
-      $1822 = ((($1821)) + -4|0);
-      $1823 = HEAP32[$1822>>2]|0;
-      HEAP32[$17>>2] = $1823;
-      break;
-     }
-     case 278:  {
-      $1824 = $1;
-      $1825 = $12;
-      $1826 = ((($1825)) + -8|0);
-      $1827 = HEAP32[$1826>>2]|0;
-      $1828 = $12;
-      $1829 = HEAP32[$1828>>2]|0;
-      $1830 = (_new_colon2($1824,$1827,$1829)|0);
-      HEAP32[$17>>2] = $1830;
-      break;
-     }
-     case 279:  {
-      $1831 = $1;
-      $1832 = $12;
-      $1833 = HEAP32[$1832>>2]|0;
-      $1834 = (_new_colon3($1831,$1833)|0);
-      HEAP32[$17>>2] = $1834;
-      break;
-     }
-     case 280:  {
-      $1835 = $1;
-      $1836 = $12;
-      $1837 = ((($1836)) + -4|0);
-      $1838 = HEAP32[$1837>>2]|0;
-      $1839 = (_new_array($1835,$1838)|0);
-      HEAP32[$17>>2] = $1839;
-      $1840 = $12;
-      $1841 = ((($1840)) + -4|0);
-      $1842 = HEAP32[$1841>>2]|0;
-      $1843 = ($1842|0)!=(0|0);
-      if ($1843) {
-       $1844 = $12;
-       $1845 = ((($1844)) + -4|0);
-       $1846 = HEAP32[$1845>>2]|0;
-       $1847 = ((($1846)) + 10|0);
-       $1848 = HEAP16[$1847>>1]|0;
-       $1849 = HEAP32[$17>>2]|0;
-       $1850 = ((($1849)) + 10|0);
-       HEAP16[$1850>>1] = $1848;
-       $1851 = $12;
-       $1852 = ((($1851)) + -4|0);
-       $1853 = HEAP32[$1852>>2]|0;
-       $1854 = ((($1853)) + 8|0);
-       $1855 = HEAP16[$1854>>1]|0;
-       $1856 = HEAP32[$17>>2]|0;
-       $1857 = ((($1856)) + 8|0);
-       HEAP16[$1857>>1] = $1855;
-      }
-      break;
-     }
-     case 281:  {
-      $1858 = $1;
-      $1859 = $12;
-      $1860 = ((($1859)) + -4|0);
-      $1861 = HEAP32[$1860>>2]|0;
-      $1862 = (_new_hash($1858,$1861)|0);
-      HEAP32[$17>>2] = $1862;
-      $1863 = $12;
-      $1864 = ((($1863)) + -4|0);
-      $1865 = HEAP32[$1864>>2]|0;
-      $1866 = ($1865|0)!=(0|0);
-      if ($1866) {
-       $1867 = $12;
-       $1868 = ((($1867)) + -4|0);
-       $1869 = HEAP32[$1868>>2]|0;
-       $1870 = ((($1869)) + 10|0);
-       $1871 = HEAP16[$1870>>1]|0;
-       $1872 = HEAP32[$17>>2]|0;
-       $1873 = ((($1872)) + 10|0);
-       HEAP16[$1873>>1] = $1871;
-       $1874 = $12;
-       $1875 = ((($1874)) + -4|0);
-       $1876 = HEAP32[$1875>>2]|0;
-       $1877 = ((($1876)) + 8|0);
-       $1878 = HEAP16[$1877>>1]|0;
-       $1879 = HEAP32[$17>>2]|0;
-       $1880 = ((($1879)) + 8|0);
-       HEAP16[$1880>>1] = $1878;
-      }
-      break;
-     }
-     case 282:  {
-      $1881 = $1;
-      $1882 = (_new_return($1881,0)|0);
-      HEAP32[$17>>2] = $1882;
-      break;
-     }
-     case 283:  {
-      $1883 = $1;
-      $1884 = $12;
-      $1885 = ((($1884)) + -4|0);
-      $1886 = HEAP32[$1885>>2]|0;
-      $1887 = (_new_yield($1883,$1886)|0);
-      HEAP32[$17>>2] = $1887;
-      break;
-     }
-     case 284:  {
-      $1888 = $1;
-      $1889 = (_new_yield($1888,0)|0);
-      HEAP32[$17>>2] = $1889;
-      break;
-     }
-     case 285:  {
-      $1890 = $1;
-      $1891 = (_new_yield($1890,0)|0);
-      HEAP32[$17>>2] = $1891;
-      break;
-     }
-     case 286:  {
-      $1892 = $1;
-      $1893 = $12;
-      $1894 = ((($1893)) + -4|0);
-      $1895 = HEAP32[$1894>>2]|0;
-      $1896 = (_cond($1895)|0);
-      $1897 = (_call_uni_op($1892,$1896,65619)|0);
-      HEAP32[$17>>2] = $1897;
-      break;
-     }
-     case 287:  {
-      $1898 = $1;
-      $1899 = $1;
-      $1900 = (_new_nil($1899)|0);
-      $1901 = (_call_uni_op($1898,$1900,65619)|0);
-      HEAP32[$17>>2] = $1901;
-      break;
-     }
-     case 288:  {
-      $1902 = $1;
-      $1903 = $12;
-      $1904 = ((($1903)) + -4|0);
-      $1905 = HEAP32[$1904>>2]|0;
-      $1906 = $1;
-      $1907 = $12;
-      $1908 = HEAP32[$1907>>2]|0;
-      $1909 = (_cons_gen($1906,0,$1908)|0);
-      $1910 = (_new_fcall($1902,$1905,$1909)|0);
-      HEAP32[$17>>2] = $1910;
-      break;
-     }
-     case 290:  {
-      $1911 = $1;
-      $1912 = $12;
-      $1913 = ((($1912)) + -4|0);
-      $1914 = HEAP32[$1913>>2]|0;
-      $1915 = $12;
-      $1916 = HEAP32[$1915>>2]|0;
-      _call_with_block($1911,$1914,$1916);
-      $1917 = $12;
-      $1918 = ((($1917)) + -4|0);
-      $1919 = HEAP32[$1918>>2]|0;
-      HEAP32[$17>>2] = $1919;
-      break;
-     }
-     case 291:  {
-      $1920 = $1;
-      _local_nest($1920);
-      $1921 = $1;
-      $1922 = ((($1921)) + 60|0);
-      $1923 = HEAP32[$1922>>2]|0;
-      HEAP32[$17>>2] = $1923;
-      $1924 = $1;
-      $1925 = ((($1924)) + 56|0);
-      $1926 = HEAP32[$1925>>2]|0;
-      $1927 = (($1926) + 1)|0;
-      HEAP32[$1925>>2] = $1927;
-      $1928 = $1;
-      $1929 = ((($1928)) + 60|0);
-      HEAP32[$1929>>2] = $1927;
-      break;
-     }
-     case 292:  {
-      $1930 = $1;
-      $1931 = ((($1930)) + 52|0);
-      $1932 = HEAP32[$1931>>2]|0;
-      HEAP32[$17>>2] = $1932;
-      $1933 = $1;
-      $1934 = ((($1933)) + 52|0);
-      HEAP32[$1934>>2] = 0;
-      break;
-     }
-     case 293:  {
-      $1935 = $12;
-      $1936 = ((($1935)) + -12|0);
-      $1937 = HEAP32[$1936>>2]|0;
-      $1938 = $1;
-      $1939 = ((($1938)) + 60|0);
-      HEAP32[$1939>>2] = $1937;
-      $1940 = $1;
-      $1941 = $12;
-      $1942 = ((($1941)) + -8|0);
-      $1943 = HEAP32[$1942>>2]|0;
-      $1944 = $12;
-      $1945 = HEAP32[$1944>>2]|0;
-      $1946 = (_new_lambda($1940,$1943,$1945)|0);
-      HEAP32[$17>>2] = $1946;
-      $1947 = $1;
-      _local_unnest($1947);
-      $1948 = $12;
-      $1949 = ((($1948)) + -4|0);
-      $1950 = HEAP32[$1949>>2]|0;
-      $1951 = $1;
-      $1952 = ((($1951)) + 52|0);
-      HEAP32[$1952>>2] = $1950;
-      $1953 = $1;
-      $1954 = ((($1953)) + 52|0);
-      $1955 = HEAP32[$1954>>2]|0;
-      $1956 = $1955 >>> 1;
-      $1957 = $1;
-      $1958 = ((($1957)) + 52|0);
-      $1959 = HEAP32[$1958>>2]|0;
-      $1960 = $1959 & 1;
-      $1961 = $1956 | $1960;
-      $1962 = $1;
-      $1963 = ((($1962)) + 52|0);
-      HEAP32[$1963>>2] = $1961;
-      break;
-     }
-     case 294:  {
-      $1964 = $1;
-      $1965 = $12;
-      $1966 = ((($1965)) + -16|0);
-      $1967 = HEAP32[$1966>>2]|0;
-      $1968 = (_cond($1967)|0);
-      $1969 = $12;
-      $1970 = ((($1969)) + -8|0);
-      $1971 = HEAP32[$1970>>2]|0;
-      $1972 = $12;
-      $1973 = ((($1972)) + -4|0);
-      $1974 = HEAP32[$1973>>2]|0;
-      $1975 = (_new_if($1964,$1968,$1971,$1974)|0);
-      HEAP32[$17>>2] = $1975;
-      $1976 = $12;
-      $1977 = ((($1976)) + -20|0);
-      $1978 = HEAP32[$1977>>2]|0;
-      $1979 = $1978&65535;
-      $1980 = HEAP32[$17>>2]|0;
-      $1981 = ((($1980)) + 8|0);
-      HEAP16[$1981>>1] = $1979;
-      break;
-     }
-     case 295:  {
-      $1982 = $1;
-      $1983 = $12;
-      $1984 = ((($1983)) + -16|0);
-      $1985 = HEAP32[$1984>>2]|0;
-      $1986 = (_cond($1985)|0);
-      $1987 = $12;
-      $1988 = ((($1987)) + -8|0);
-      $1989 = HEAP32[$1988>>2]|0;
-      $1990 = $12;
-      $1991 = ((($1990)) + -4|0);
-      $1992 = HEAP32[$1991>>2]|0;
-      $1993 = (_new_unless($1982,$1986,$1989,$1992)|0);
-      HEAP32[$17>>2] = $1993;
-      $1994 = $12;
-      $1995 = ((($1994)) + -20|0);
-      $1996 = HEAP32[$1995>>2]|0;
-      $1997 = $1996&65535;
-      $1998 = HEAP32[$17>>2]|0;
-      $1999 = ((($1998)) + 8|0);
-      HEAP16[$1999>>1] = $1997;
-      break;
-     }
-     case 296:  {
-      $2000 = $1;
-      $2001 = ((($2000)) + 48|0);
-      $2002 = HEAP32[$2001>>2]|0;
-      $2003 = $2002 << 1;
-      $2004 = $2003 | 1;
-      $2005 = $1;
-      $2006 = ((($2005)) + 48|0);
-      HEAP32[$2006>>2] = $2004;
-      break;
-     }
-     case 297:  {
-      $2007 = $1;
-      $2008 = ((($2007)) + 48|0);
-      $2009 = HEAP32[$2008>>2]|0;
-      $2010 = $2009 >>> 1;
-      $2011 = $1;
-      $2012 = ((($2011)) + 48|0);
-      HEAP32[$2012>>2] = $2010;
-      break;
-     }
-     case 298:  {
-      $2013 = $1;
-      $2014 = $12;
-      $2015 = ((($2014)) + -16|0);
-      $2016 = HEAP32[$2015>>2]|0;
-      $2017 = (_cond($2016)|0);
-      $2018 = $12;
-      $2019 = ((($2018)) + -4|0);
-      $2020 = HEAP32[$2019>>2]|0;
-      $2021 = (_new_while($2013,$2017,$2020)|0);
-      HEAP32[$17>>2] = $2021;
-      $2022 = $12;
-      $2023 = ((($2022)) + -24|0);
-      $2024 = HEAP32[$2023>>2]|0;
-      $2025 = $2024&65535;
-      $2026 = HEAP32[$17>>2]|0;
-      $2027 = ((($2026)) + 8|0);
-      HEAP16[$2027>>1] = $2025;
-      break;
-     }
-     case 299:  {
-      $2028 = $1;
-      $2029 = ((($2028)) + 48|0);
-      $2030 = HEAP32[$2029>>2]|0;
-      $2031 = $2030 << 1;
-      $2032 = $2031 | 1;
-      $2033 = $1;
-      $2034 = ((($2033)) + 48|0);
-      HEAP32[$2034>>2] = $2032;
-      break;
-     }
-     case 300:  {
-      $2035 = $1;
-      $2036 = ((($2035)) + 48|0);
-      $2037 = HEAP32[$2036>>2]|0;
-      $2038 = $2037 >>> 1;
-      $2039 = $1;
-      $2040 = ((($2039)) + 48|0);
-      HEAP32[$2040>>2] = $2038;
-      break;
-     }
-     case 301:  {
-      $2041 = $1;
-      $2042 = $12;
-      $2043 = ((($2042)) + -16|0);
-      $2044 = HEAP32[$2043>>2]|0;
-      $2045 = (_cond($2044)|0);
-      $2046 = $12;
-      $2047 = ((($2046)) + -4|0);
-      $2048 = HEAP32[$2047>>2]|0;
-      $2049 = (_new_until($2041,$2045,$2048)|0);
-      HEAP32[$17>>2] = $2049;
-      $2050 = $12;
-      $2051 = ((($2050)) + -24|0);
-      $2052 = HEAP32[$2051>>2]|0;
-      $2053 = $2052&65535;
-      $2054 = HEAP32[$17>>2]|0;
-      $2055 = ((($2054)) + 8|0);
-      HEAP16[$2055>>1] = $2053;
-      break;
-     }
-     case 302:  {
-      $2056 = $1;
-      $2057 = $12;
-      $2058 = ((($2057)) + -12|0);
-      $2059 = HEAP32[$2058>>2]|0;
-      $2060 = $12;
-      $2061 = ((($2060)) + -4|0);
-      $2062 = HEAP32[$2061>>2]|0;
-      $2063 = (_new_case($2056,$2059,$2062)|0);
-      HEAP32[$17>>2] = $2063;
-      break;
-     }
-     case 303:  {
-      $2064 = $1;
-      $2065 = $12;
-      $2066 = ((($2065)) + -4|0);
-      $2067 = HEAP32[$2066>>2]|0;
-      $2068 = (_new_case($2064,0,$2067)|0);
-      HEAP32[$17>>2] = $2068;
-      break;
-     }
-     case 304:  {
-      $2069 = $1;
-      $2070 = ((($2069)) + 48|0);
-      $2071 = HEAP32[$2070>>2]|0;
-      $2072 = $2071 << 1;
-      $2073 = $2072 | 1;
-      $2074 = $1;
-      $2075 = ((($2074)) + 48|0);
-      HEAP32[$2075>>2] = $2073;
-      break;
-     }
-     case 305:  {
-      $2076 = $1;
-      $2077 = ((($2076)) + 48|0);
-      $2078 = HEAP32[$2077>>2]|0;
-      $2079 = $2078 >>> 1;
-      $2080 = $1;
-      $2081 = ((($2080)) + 48|0);
-      HEAP32[$2081>>2] = $2079;
-      break;
-     }
-     case 306:  {
-      $2082 = $1;
-      $2083 = $12;
-      $2084 = ((($2083)) + -28|0);
-      $2085 = HEAP32[$2084>>2]|0;
-      $2086 = $12;
-      $2087 = ((($2086)) + -16|0);
-      $2088 = HEAP32[$2087>>2]|0;
-      $2089 = $12;
-      $2090 = ((($2089)) + -4|0);
-      $2091 = HEAP32[$2090>>2]|0;
-      $2092 = (_new_for($2082,$2085,$2088,$2091)|0);
-      HEAP32[$17>>2] = $2092;
-      $2093 = $12;
-      $2094 = ((($2093)) + -32|0);
-      $2095 = HEAP32[$2094>>2]|0;
-      $2096 = $2095&65535;
-      $2097 = HEAP32[$17>>2]|0;
-      $2098 = ((($2097)) + 8|0);
-      HEAP16[$2098>>1] = $2096;
-      break;
-     }
-     case 307:  {
-      $2099 = $1;
-      $2100 = ((($2099)) + 64|0);
-      $2101 = HEAP32[$2100>>2]|0;
-      $2102 = ($2101|0)!=(0);
-      if ($2102) {
-       label = 310;
-      } else {
-       $2103 = $1;
-       $2104 = ((($2103)) + 68|0);
-       $2105 = HEAP32[$2104>>2]|0;
-       $2106 = ($2105|0)!=(0);
-       if ($2106) {
-        label = 310;
-       }
-      }
-      if ((label|0) == 310) {
-       label = 0;
-       $2107 = $1;
-       _yyerror($2107,59561);
-      }
-      $2108 = $1;
-      $2109 = (_local_switch($2108)|0);
-      HEAP32[$17>>2] = $2109;
-      break;
-     }
-     case 308:  {
-      $2110 = $1;
-      $2111 = $12;
-      $2112 = ((($2111)) + -16|0);
-      $2113 = HEAP32[$2112>>2]|0;
-      $2114 = $12;
-      $2115 = ((($2114)) + -12|0);
-      $2116 = HEAP32[$2115>>2]|0;
-      $2117 = $12;
-      $2118 = ((($2117)) + -4|0);
-      $2119 = HEAP32[$2118>>2]|0;
-      $2120 = (_new_class($2110,$2113,$2116,$2119)|0);
-      HEAP32[$17>>2] = $2120;
-      $2121 = $12;
-      $2122 = ((($2121)) + -20|0);
-      $2123 = HEAP32[$2122>>2]|0;
-      $2124 = $2123&65535;
-      $2125 = HEAP32[$17>>2]|0;
-      $2126 = ((($2125)) + 8|0);
-      HEAP16[$2126>>1] = $2124;
-      $2127 = $1;
-      $2128 = $12;
-      $2129 = ((($2128)) + -8|0);
-      $2130 = HEAP32[$2129>>2]|0;
-      _local_resume($2127,$2130);
-      break;
-     }
-     case 309:  {
-      $2131 = $1;
-      $2132 = ((($2131)) + 64|0);
-      $2133 = HEAP32[$2132>>2]|0;
-      HEAP32[$17>>2] = $2133;
-      $2134 = $1;
-      $2135 = ((($2134)) + 64|0);
-      HEAP32[$2135>>2] = 0;
-      break;
-     }
-     case 310:  {
-      $2136 = $1;
-      $2137 = $1;
-      $2138 = (_local_switch($2137)|0);
-      $2139 = $1;
-      $2140 = ((($2139)) + 68|0);
-      $2141 = HEAP32[$2140>>2]|0;
-      $2142 = $2141;
-      $2143 = (_cons_gen($2136,$2138,$2142)|0);
-      HEAP32[$17>>2] = $2143;
-      $2144 = $1;
-      $2145 = ((($2144)) + 68|0);
-      HEAP32[$2145>>2] = 0;
-      break;
-     }
-     case 311:  {
-      $2146 = $1;
-      $2147 = $12;
-      $2148 = ((($2147)) + -20|0);
-      $2149 = HEAP32[$2148>>2]|0;
-      $2150 = $12;
-      $2151 = ((($2150)) + -4|0);
-      $2152 = HEAP32[$2151>>2]|0;
-      $2153 = (_new_sclass($2146,$2149,$2152)|0);
-      HEAP32[$17>>2] = $2153;
-      $2154 = $12;
-      $2155 = ((($2154)) + -28|0);
-      $2156 = HEAP32[$2155>>2]|0;
-      $2157 = $2156&65535;
-      $2158 = HEAP32[$17>>2]|0;
-      $2159 = ((($2158)) + 8|0);
-      HEAP16[$2159>>1] = $2157;
-      $2160 = $1;
-      $2161 = $12;
-      $2162 = ((($2161)) + -8|0);
-      $2163 = HEAP32[$2162>>2]|0;
-      $2164 = HEAP32[$2163>>2]|0;
-      _local_resume($2160,$2164);
-      $2165 = $12;
-      $2166 = ((($2165)) + -16|0);
-      $2167 = HEAP32[$2166>>2]|0;
-      $2168 = $1;
-      $2169 = ((($2168)) + 64|0);
-      HEAP32[$2169>>2] = $2167;
-      $2170 = $12;
-      $2171 = ((($2170)) + -8|0);
-      $2172 = HEAP32[$2171>>2]|0;
-      $2173 = ((($2172)) + 4|0);
-      $2174 = HEAP32[$2173>>2]|0;
-      $2175 = $2174;
-      $2176 = $1;
-      $2177 = ((($2176)) + 68|0);
-      HEAP32[$2177>>2] = $2175;
-      break;
-     }
-     case 312:  {
-      $2178 = $1;
-      $2179 = ((($2178)) + 64|0);
-      $2180 = HEAP32[$2179>>2]|0;
-      $2181 = ($2180|0)!=(0);
-      if ($2181) {
-       label = 318;
-      } else {
-       $2182 = $1;
-       $2183 = ((($2182)) + 68|0);
-       $2184 = HEAP32[$2183>>2]|0;
-       $2185 = ($2184|0)!=(0);
-       if ($2185) {
-        label = 318;
-       }
-      }
-      if ((label|0) == 318) {
-       label = 0;
-       $2186 = $1;
-       _yyerror($2186,59593);
-      }
-      $2187 = $1;
-      $2188 = (_local_switch($2187)|0);
-      HEAP32[$17>>2] = $2188;
-      break;
-     }
-     case 313:  {
-      $2189 = $1;
-      $2190 = $12;
-      $2191 = ((($2190)) + -12|0);
-      $2192 = HEAP32[$2191>>2]|0;
-      $2193 = $12;
-      $2194 = ((($2193)) + -4|0);
-      $2195 = HEAP32[$2194>>2]|0;
-      $2196 = (_new_module($2189,$2192,$2195)|0);
-      HEAP32[$17>>2] = $2196;
-      $2197 = $12;
-      $2198 = ((($2197)) + -16|0);
-      $2199 = HEAP32[$2198>>2]|0;
-      $2200 = $2199&65535;
-      $2201 = HEAP32[$17>>2]|0;
-      $2202 = ((($2201)) + 8|0);
-      HEAP16[$2202>>1] = $2200;
-      $2203 = $1;
-      $2204 = $12;
-      $2205 = ((($2204)) + -8|0);
-      $2206 = HEAP32[$2205>>2]|0;
-      _local_resume($2203,$2206);
-      break;
-     }
-     case 314:  {
-      $2207 = $1;
-      $2208 = ((($2207)) + 52|0);
-      $2209 = HEAP32[$2208>>2]|0;
-      HEAP32[$17>>2] = $2209;
-      $2210 = $1;
-      $2211 = ((($2210)) + 52|0);
-      HEAP32[$2211>>2] = 0;
-      break;
-     }
-     case 315:  {
-      $2212 = $1;
-      $2213 = ((($2212)) + 64|0);
-      $2214 = HEAP32[$2213>>2]|0;
-      $2215 = (($2214) + 1)|0;
-      HEAP32[$2213>>2] = $2215;
-      $2216 = $1;
-      $2217 = (_local_switch($2216)|0);
-      HEAP32[$17>>2] = $2217;
-      break;
-     }
-     case 316:  {
-      $2218 = $1;
-      $2219 = $12;
-      $2220 = ((($2219)) + -20|0);
-      $2221 = HEAP32[$2220>>2]|0;
-      $2222 = $12;
-      $2223 = ((($2222)) + -8|0);
-      $2224 = HEAP32[$2223>>2]|0;
-      $2225 = $12;
-      $2226 = ((($2225)) + -4|0);
-      $2227 = HEAP32[$2226>>2]|0;
-      $2228 = (_new_def($2218,$2221,$2224,$2227)|0);
-      HEAP32[$17>>2] = $2228;
-      $2229 = $12;
-      $2230 = ((($2229)) + -24|0);
-      $2231 = HEAP32[$2230>>2]|0;
-      $2232 = $2231&65535;
-      $2233 = HEAP32[$17>>2]|0;
-      $2234 = ((($2233)) + 8|0);
-      HEAP16[$2234>>1] = $2232;
-      $2235 = $1;
-      $2236 = $12;
-      $2237 = ((($2236)) + -12|0);
-      $2238 = HEAP32[$2237>>2]|0;
-      _local_resume($2235,$2238);
-      $2239 = $1;
-      $2240 = ((($2239)) + 64|0);
-      $2241 = HEAP32[$2240>>2]|0;
-      $2242 = (($2241) + -1)|0;
-      HEAP32[$2240>>2] = $2242;
-      $2243 = $12;
-      $2244 = ((($2243)) + -16|0);
-      $2245 = HEAP32[$2244>>2]|0;
-      $2246 = $1;
-      $2247 = ((($2246)) + 52|0);
-      HEAP32[$2247>>2] = $2245;
-      break;
-     }
-     case 317:  {
-      $2248 = $1;
-      $2249 = ((($2248)) + 40|0);
-      HEAP32[$2249>>2] = 7;
-      $2250 = $1;
-      $2251 = ((($2250)) + 52|0);
-      $2252 = HEAP32[$2251>>2]|0;
-      HEAP32[$17>>2] = $2252;
-      $2253 = $1;
-      $2254 = ((($2253)) + 52|0);
-      HEAP32[$2254>>2] = 0;
-      break;
-     }
-     case 318:  {
-      $2255 = $1;
-      $2256 = ((($2255)) + 68|0);
-      $2257 = HEAP32[$2256>>2]|0;
-      $2258 = (($2257) + 1)|0;
-      HEAP32[$2256>>2] = $2258;
-      $2259 = $1;
-      $2260 = ((($2259)) + 40|0);
-      HEAP32[$2260>>2] = 3;
-      $2261 = $1;
-      $2262 = (_local_switch($2261)|0);
-      HEAP32[$17>>2] = $2262;
-      break;
-     }
-     case 319:  {
-      $2263 = $1;
-      $2264 = $12;
-      $2265 = ((($2264)) + -28|0);
-      $2266 = HEAP32[$2265>>2]|0;
-      $2267 = $12;
-      $2268 = ((($2267)) + -16|0);
-      $2269 = HEAP32[$2268>>2]|0;
-      $2270 = $12;
-      $2271 = ((($2270)) + -8|0);
-      $2272 = HEAP32[$2271>>2]|0;
-      $2273 = $12;
-      $2274 = ((($2273)) + -4|0);
-      $2275 = HEAP32[$2274>>2]|0;
-      $2276 = (_new_sdef($2263,$2266,$2269,$2272,$2275)|0);
-      HEAP32[$17>>2] = $2276;
-      $2277 = $12;
-      $2278 = ((($2277)) + -32|0);
-      $2279 = HEAP32[$2278>>2]|0;
-      $2280 = $2279&65535;
-      $2281 = HEAP32[$17>>2]|0;
-      $2282 = ((($2281)) + 8|0);
-      HEAP16[$2282>>1] = $2280;
-      $2283 = $1;
-      $2284 = $12;
-      $2285 = ((($2284)) + -12|0);
-      $2286 = HEAP32[$2285>>2]|0;
-      _local_resume($2283,$2286);
-      $2287 = $1;
-      $2288 = ((($2287)) + 68|0);
-      $2289 = HEAP32[$2288>>2]|0;
-      $2290 = (($2289) + -1)|0;
-      HEAP32[$2288>>2] = $2290;
-      $2291 = $12;
-      $2292 = ((($2291)) + -20|0);
-      $2293 = HEAP32[$2292>>2]|0;
-      $2294 = $1;
-      $2295 = ((($2294)) + 52|0);
-      HEAP32[$2295>>2] = $2293;
-      break;
-     }
-     case 320:  {
-      $2296 = $1;
-      $2297 = (_new_break($2296,0)|0);
-      HEAP32[$17>>2] = $2297;
-      break;
-     }
-     case 321:  {
-      $2298 = $1;
-      $2299 = (_new_next($2298,0)|0);
-      HEAP32[$17>>2] = $2299;
-      break;
-     }
-     case 322:  {
-      $2300 = $1;
-      $2301 = (_new_redo($2300)|0);
-      HEAP32[$17>>2] = $2301;
-      break;
-     }
-     case 323:  {
-      $2302 = $1;
-      $2303 = (_new_retry($2302)|0);
-      HEAP32[$17>>2] = $2303;
-      break;
-     }
-     case 324:  {
-      $2304 = $12;
-      $2305 = HEAP32[$2304>>2]|0;
-      HEAP32[$17>>2] = $2305;
-      $2306 = HEAP32[$17>>2]|0;
-      $2307 = ($2306|0)!=(0|0);
-      if (!($2307)) {
-       $2308 = $1;
-       $2309 = (_new_nil($2308)|0);
-       HEAP32[$17>>2] = $2309;
-      }
-      break;
-     }
-     case 331:  {
-      $2310 = $1;
-      $2311 = $12;
-      $2312 = ((($2311)) + -12|0);
-      $2313 = HEAP32[$2312>>2]|0;
-      $2314 = (_cond($2313)|0);
-      $2315 = $12;
-      $2316 = ((($2315)) + -4|0);
-      $2317 = HEAP32[$2316>>2]|0;
-      $2318 = $12;
-      $2319 = HEAP32[$2318>>2]|0;
-      $2320 = (_new_if($2310,$2314,$2317,$2319)|0);
-      HEAP32[$17>>2] = $2320;
-      break;
-     }
-     case 333:  {
-      $2321 = $12;
-      $2322 = HEAP32[$2321>>2]|0;
-      HEAP32[$17>>2] = $2322;
-      break;
-     }
-     case 334:  {
-      $2323 = $1;
-      $2324 = $1;
-      $2325 = $12;
-      $2326 = HEAP32[$2325>>2]|0;
-      $2327 = (_list1_gen($2324,$2326)|0);
-      $2328 = (_list1_gen($2323,$2327)|0);
-      HEAP32[$17>>2] = $2328;
-      break;
-     }
-     case 336:  {
-      $2329 = $1;
-      $2330 = $12;
-      $2331 = HEAP32[$2330>>2]|0;
-      $2332 = (_new_arg($2329,$2331)|0);
-      HEAP32[$17>>2] = $2332;
-      break;
-     }
-     case 337:  {
-      $2333 = $1;
-      $2334 = $12;
-      $2335 = ((($2334)) + -4|0);
-      $2336 = HEAP32[$2335>>2]|0;
-      $2337 = (_new_masgn($2333,$2336,0)|0);
-      HEAP32[$17>>2] = $2337;
-      break;
-     }
-     case 338:  {
-      $2338 = $1;
-      $2339 = $12;
-      $2340 = HEAP32[$2339>>2]|0;
-      $2341 = (_list1_gen($2338,$2340)|0);
-      HEAP32[$17>>2] = $2341;
-      break;
-     }
-     case 339:  {
-      $2342 = $1;
-      $2343 = $12;
-      $2344 = ((($2343)) + -8|0);
-      $2345 = HEAP32[$2344>>2]|0;
-      $2346 = $1;
-      $2347 = $12;
-      $2348 = HEAP32[$2347>>2]|0;
-      $2349 = (_list1_gen($2346,$2348)|0);
-      $2350 = (_append_gen($2342,$2345,$2349)|0);
-      HEAP32[$17>>2] = $2350;
-      break;
-     }
-     case 340:  {
-      $2351 = $1;
-      $2352 = $12;
-      $2353 = HEAP32[$2352>>2]|0;
-      $2354 = (_list3_gen($2351,$2353,0,0)|0);
-      HEAP32[$17>>2] = $2354;
-      break;
-     }
-     case 341:  {
-      $2355 = $1;
-      $2356 = $12;
-      $2357 = ((($2356)) + -12|0);
-      $2358 = HEAP32[$2357>>2]|0;
-      $2359 = $1;
-      $2360 = $12;
-      $2361 = HEAP32[$2360>>2]|0;
-      $2362 = (_new_arg($2359,$2361)|0);
-      $2363 = (_list3_gen($2355,$2358,$2362,0)|0);
-      HEAP32[$17>>2] = $2363;
-      break;
-     }
-     case 342:  {
-      $2364 = $1;
-      $2365 = $12;
-      $2366 = ((($2365)) + -20|0);
-      $2367 = HEAP32[$2366>>2]|0;
-      $2368 = $1;
-      $2369 = $12;
-      $2370 = ((($2369)) + -8|0);
-      $2371 = HEAP32[$2370>>2]|0;
-      $2372 = (_new_arg($2368,$2371)|0);
-      $2373 = $12;
-      $2374 = HEAP32[$2373>>2]|0;
-      $2375 = (_list3_gen($2364,$2367,$2372,$2374)|0);
-      HEAP32[$17>>2] = $2375;
-      break;
-     }
-     case 343:  {
-      $2376 = $1;
-      $2377 = $12;
-      $2378 = ((($2377)) + -8|0);
-      $2379 = HEAP32[$2378>>2]|0;
-      $2380 = (_list3_gen($2376,$2379,(-1),0)|0);
-      HEAP32[$17>>2] = $2380;
-      break;
-     }
-     case 344:  {
-      $2381 = $1;
-      $2382 = $12;
-      $2383 = ((($2382)) + -16|0);
-      $2384 = HEAP32[$2383>>2]|0;
-      $2385 = $12;
-      $2386 = HEAP32[$2385>>2]|0;
-      $2387 = (_list3_gen($2381,$2384,(-1),$2386)|0);
-      HEAP32[$17>>2] = $2387;
-      break;
-     }
-     case 345:  {
-      $2388 = $1;
-      $2389 = $1;
-      $2390 = $12;
-      $2391 = HEAP32[$2390>>2]|0;
-      $2392 = (_new_arg($2389,$2391)|0);
-      $2393 = (_list3_gen($2388,0,$2392,0)|0);
-      HEAP32[$17>>2] = $2393;
-      break;
-     }
-     case 346:  {
-      $2394 = $1;
-      $2395 = $1;
-      $2396 = $12;
-      $2397 = ((($2396)) + -8|0);
-      $2398 = HEAP32[$2397>>2]|0;
-      $2399 = (_new_arg($2395,$2398)|0);
-      $2400 = $12;
-      $2401 = HEAP32[$2400>>2]|0;
-      $2402 = (_list3_gen($2394,0,$2399,$2401)|0);
-      HEAP32[$17>>2] = $2402;
-      break;
-     }
-     case 347:  {
-      $2403 = $1;
-      $2404 = (_list3_gen($2403,0,(-1),0)|0);
-      HEAP32[$17>>2] = $2404;
-      break;
-     }
-     case 348:  {
-      $2405 = $1;
-      $2406 = $12;
-      $2407 = HEAP32[$2406>>2]|0;
-      $2408 = (_list3_gen($2405,0,(-1),$2407)|0);
-      HEAP32[$17>>2] = $2408;
-      break;
-     }
-     case 349:  {
-      $2409 = $1;
-      $2410 = $12;
-      $2411 = ((($2410)) + -20|0);
-      $2412 = HEAP32[$2411>>2]|0;
-      $2413 = $12;
-      $2414 = ((($2413)) + -12|0);
-      $2415 = HEAP32[$2414>>2]|0;
-      $2416 = $12;
-      $2417 = ((($2416)) + -4|0);
-      $2418 = HEAP32[$2417>>2]|0;
-      $2419 = $12;
-      $2420 = HEAP32[$2419>>2]|0;
-      $2421 = (_new_args($2409,$2412,$2415,$2418,0,$2420)|0);
-      HEAP32[$17>>2] = $2421;
-      break;
-     }
-     case 350:  {
-      $2422 = $1;
-      $2423 = $12;
-      $2424 = ((($2423)) + -28|0);
-      $2425 = HEAP32[$2424>>2]|0;
-      $2426 = $12;
-      $2427 = ((($2426)) + -20|0);
-      $2428 = HEAP32[$2427>>2]|0;
-      $2429 = $12;
-      $2430 = ((($2429)) + -12|0);
-      $2431 = HEAP32[$2430>>2]|0;
-      $2432 = $12;
-      $2433 = ((($2432)) + -4|0);
-      $2434 = HEAP32[$2433>>2]|0;
-      $2435 = $12;
-      $2436 = HEAP32[$2435>>2]|0;
-      $2437 = (_new_args($2422,$2425,$2428,$2431,$2434,$2436)|0);
-      HEAP32[$17>>2] = $2437;
-      break;
-     }
-     case 351:  {
-      $2438 = $1;
-      $2439 = $12;
-      $2440 = ((($2439)) + -12|0);
-      $2441 = HEAP32[$2440>>2]|0;
-      $2442 = $12;
-      $2443 = ((($2442)) + -4|0);
-      $2444 = HEAP32[$2443>>2]|0;
-      $2445 = $12;
-      $2446 = HEAP32[$2445>>2]|0;
-      $2447 = (_new_args($2438,$2441,$2444,0,0,$2446)|0);
-      HEAP32[$17>>2] = $2447;
-      break;
-     }
-     case 352:  {
-      $2448 = $1;
-      $2449 = $12;
-      $2450 = ((($2449)) + -20|0);
-      $2451 = HEAP32[$2450>>2]|0;
-      $2452 = $12;
-      $2453 = ((($2452)) + -12|0);
-      $2454 = HEAP32[$2453>>2]|0;
-      $2455 = $12;
-      $2456 = ((($2455)) + -4|0);
-      $2457 = HEAP32[$2456>>2]|0;
-      $2458 = $12;
-      $2459 = HEAP32[$2458>>2]|0;
-      $2460 = (_new_args($2448,$2451,$2454,0,$2457,$2459)|0);
-      HEAP32[$17>>2] = $2460;
-      break;
-     }
-     case 353:  {
-      $2461 = $1;
-      $2462 = $12;
-      $2463 = ((($2462)) + -12|0);
-      $2464 = HEAP32[$2463>>2]|0;
-      $2465 = $12;
-      $2466 = ((($2465)) + -4|0);
-      $2467 = HEAP32[$2466>>2]|0;
-      $2468 = $12;
-      $2469 = HEAP32[$2468>>2]|0;
-      $2470 = (_new_args($2461,$2464,0,$2467,0,$2469)|0);
-      HEAP32[$17>>2] = $2470;
-      break;
-     }
-     case 354:  {
-      $2471 = $1;
-      $2472 = $12;
-      $2473 = ((($2472)) + -4|0);
-      $2474 = HEAP32[$2473>>2]|0;
-      $2475 = (_new_args($2471,$2474,0,1,0,0)|0);
-      HEAP32[$17>>2] = $2475;
-      break;
-     }
-     case 355:  {
-      $2476 = $1;
-      $2477 = $12;
-      $2478 = ((($2477)) + -20|0);
-      $2479 = HEAP32[$2478>>2]|0;
-      $2480 = $12;
-      $2481 = ((($2480)) + -12|0);
-      $2482 = HEAP32[$2481>>2]|0;
-      $2483 = $12;
-      $2484 = ((($2483)) + -4|0);
-      $2485 = HEAP32[$2484>>2]|0;
-      $2486 = $12;
-      $2487 = HEAP32[$2486>>2]|0;
-      $2488 = (_new_args($2476,$2479,0,$2482,$2485,$2487)|0);
-      HEAP32[$17>>2] = $2488;
-      break;
-     }
-     case 356:  {
-      $2489 = $1;
-      $2490 = $12;
-      $2491 = ((($2490)) + -4|0);
-      $2492 = HEAP32[$2491>>2]|0;
-      $2493 = $12;
-      $2494 = HEAP32[$2493>>2]|0;
-      $2495 = (_new_args($2489,$2492,0,0,0,$2494)|0);
-      HEAP32[$17>>2] = $2495;
-      break;
-     }
-     case 357:  {
-      $2496 = $1;
-      $2497 = $12;
-      $2498 = ((($2497)) + -12|0);
-      $2499 = HEAP32[$2498>>2]|0;
-      $2500 = $12;
-      $2501 = ((($2500)) + -4|0);
-      $2502 = HEAP32[$2501>>2]|0;
-      $2503 = $12;
-      $2504 = HEAP32[$2503>>2]|0;
-      $2505 = (_new_args($2496,0,$2499,$2502,0,$2504)|0);
-      HEAP32[$17>>2] = $2505;
-      break;
-     }
-     case 358:  {
-      $2506 = $1;
-      $2507 = $12;
-      $2508 = ((($2507)) + -20|0);
-      $2509 = HEAP32[$2508>>2]|0;
-      $2510 = $12;
-      $2511 = ((($2510)) + -12|0);
-      $2512 = HEAP32[$2511>>2]|0;
-      $2513 = $12;
-      $2514 = ((($2513)) + -4|0);
-      $2515 = HEAP32[$2514>>2]|0;
-      $2516 = $12;
-      $2517 = HEAP32[$2516>>2]|0;
-      $2518 = (_new_args($2506,0,$2509,$2512,$2515,$2517)|0);
-      HEAP32[$17>>2] = $2518;
-      break;
-     }
-     case 359:  {
-      $2519 = $1;
-      $2520 = $12;
-      $2521 = ((($2520)) + -4|0);
-      $2522 = HEAP32[$2521>>2]|0;
-      $2523 = $12;
-      $2524 = HEAP32[$2523>>2]|0;
-      $2525 = (_new_args($2519,0,$2522,0,0,$2524)|0);
-      HEAP32[$17>>2] = $2525;
-      break;
-     }
-     case 360:  {
-      $2526 = $1;
-      $2527 = $12;
-      $2528 = ((($2527)) + -12|0);
-      $2529 = HEAP32[$2528>>2]|0;
-      $2530 = $12;
-      $2531 = ((($2530)) + -4|0);
-      $2532 = HEAP32[$2531>>2]|0;
-      $2533 = $12;
-      $2534 = HEAP32[$2533>>2]|0;
-      $2535 = (_new_args($2526,0,$2529,0,$2532,$2534)|0);
-      HEAP32[$17>>2] = $2535;
-      break;
-     }
-     case 361:  {
-      $2536 = $1;
-      $2537 = $12;
-      $2538 = ((($2537)) + -4|0);
-      $2539 = HEAP32[$2538>>2]|0;
-      $2540 = $12;
-      $2541 = HEAP32[$2540>>2]|0;
-      $2542 = (_new_args($2536,0,0,$2539,0,$2541)|0);
-      HEAP32[$17>>2] = $2542;
-      break;
-     }
-     case 362:  {
-      $2543 = $1;
-      $2544 = $12;
-      $2545 = ((($2544)) + -12|0);
-      $2546 = HEAP32[$2545>>2]|0;
-      $2547 = $12;
-      $2548 = ((($2547)) + -4|0);
-      $2549 = HEAP32[$2548>>2]|0;
-      $2550 = $12;
-      $2551 = HEAP32[$2550>>2]|0;
-      $2552 = (_new_args($2543,0,0,$2546,$2549,$2551)|0);
-      HEAP32[$17>>2] = $2552;
-      break;
-     }
-     case 363:  {
-      $2553 = $1;
-      $2554 = $12;
-      $2555 = HEAP32[$2554>>2]|0;
-      $2556 = (_new_args($2553,0,0,0,0,$2555)|0);
-      HEAP32[$17>>2] = $2556;
-      break;
-     }
-     case 365:  {
-      $2557 = $1;
-      $2558 = ((($2557)) + 72|0);
-      $2559 = HEAP8[$2558>>0]|0;
-      $2560 = $2559 & -2;
-      $2561 = $2560 | 1;
-      HEAP8[$2558>>0] = $2561;
-      $2562 = $12;
-      $2563 = HEAP32[$2562>>2]|0;
-      HEAP32[$17>>2] = $2563;
-      break;
-     }
-     case 366:  {
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 367:  {
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 368:  {
-      $2564 = $12;
-      $2565 = ((($2564)) + -8|0);
-      $2566 = HEAP32[$2565>>2]|0;
-      HEAP32[$17>>2] = $2566;
-      break;
-     }
-     case 369:  {
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 370:  {
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 373:  {
-      $2567 = $1;
-      $2568 = $12;
-      $2569 = HEAP32[$2568>>2]|0;
-      _local_add_f($2567,$2569);
-      $2570 = $1;
-      $2571 = $12;
-      $2572 = HEAP32[$2571>>2]|0;
-      _new_bv($2570,$2572);
-      break;
-     }
-     case 375:  {
-      $2573 = $12;
-      $2574 = ((($2573)) + -8|0);
-      $2575 = HEAP32[$2574>>2]|0;
-      HEAP32[$17>>2] = $2575;
-      break;
-     }
-     case 376:  {
-      $2576 = $12;
-      $2577 = HEAP32[$2576>>2]|0;
-      HEAP32[$17>>2] = $2577;
-      break;
-     }
-     case 377:  {
-      $2578 = $12;
-      $2579 = ((($2578)) + -4|0);
-      $2580 = HEAP32[$2579>>2]|0;
-      HEAP32[$17>>2] = $2580;
-      break;
-     }
-     case 378:  {
-      $2581 = $12;
-      $2582 = ((($2581)) + -4|0);
-      $2583 = HEAP32[$2582>>2]|0;
-      HEAP32[$17>>2] = $2583;
-      break;
-     }
-     case 379:  {
-      $2584 = $1;
-      _local_nest($2584);
-      break;
-     }
-     case 380:  {
-      $2585 = $1;
-      $2586 = $12;
-      $2587 = ((($2586)) + -8|0);
-      $2588 = HEAP32[$2587>>2]|0;
-      $2589 = $12;
-      $2590 = ((($2589)) + -4|0);
-      $2591 = HEAP32[$2590>>2]|0;
-      $2592 = (_new_block($2585,$2588,$2591)|0);
-      HEAP32[$17>>2] = $2592;
-      $2593 = $1;
-      _local_unnest($2593);
-      break;
-     }
-     case 381:  {
-      $2594 = $12;
-      $2595 = ((($2594)) + -4|0);
-      $2596 = HEAP32[$2595>>2]|0;
-      $2597 = HEAP32[$2596>>2]|0;
-      $2598 = ($2597|0)==((38)|0);
-      $2599 = $1;
-      if ($2598) {
-       _yyerror($2599,59626);
-      } else {
-       $2600 = $12;
-       $2601 = ((($2600)) + -4|0);
-       $2602 = HEAP32[$2601>>2]|0;
-       $2603 = $12;
-       $2604 = HEAP32[$2603>>2]|0;
-       _call_with_block($2599,$2602,$2604);
-      }
-      $2605 = $12;
-      $2606 = ((($2605)) + -4|0);
-      $2607 = HEAP32[$2606>>2]|0;
-      HEAP32[$17>>2] = $2607;
-      break;
-     }
-     case 382:  {
-      $2608 = $1;
-      $2609 = $12;
-      $2610 = ((($2609)) + -12|0);
-      $2611 = HEAP32[$2610>>2]|0;
-      $2612 = $12;
-      $2613 = ((($2612)) + -4|0);
-      $2614 = HEAP32[$2613>>2]|0;
-      $2615 = $12;
-      $2616 = HEAP32[$2615>>2]|0;
-      $2617 = (_new_call($2608,$2611,$2614,$2616)|0);
-      HEAP32[$17>>2] = $2617;
-      break;
-     }
-     case 383:  {
-      $2618 = $1;
-      $2619 = $12;
-      $2620 = ((($2619)) + -16|0);
-      $2621 = HEAP32[$2620>>2]|0;
-      $2622 = $12;
-      $2623 = ((($2622)) + -8|0);
-      $2624 = HEAP32[$2623>>2]|0;
-      $2625 = $12;
-      $2626 = ((($2625)) + -4|0);
-      $2627 = HEAP32[$2626>>2]|0;
-      $2628 = (_new_call($2618,$2621,$2624,$2627)|0);
-      HEAP32[$17>>2] = $2628;
-      $2629 = $1;
-      $2630 = HEAP32[$17>>2]|0;
-      $2631 = $12;
-      $2632 = HEAP32[$2631>>2]|0;
-      _call_with_block($2629,$2630,$2632);
-      break;
-     }
-     case 384:  {
-      $2633 = $1;
-      $2634 = $12;
-      $2635 = ((($2634)) + -16|0);
-      $2636 = HEAP32[$2635>>2]|0;
-      $2637 = $12;
-      $2638 = ((($2637)) + -8|0);
-      $2639 = HEAP32[$2638>>2]|0;
-      $2640 = $12;
-      $2641 = ((($2640)) + -4|0);
-      $2642 = HEAP32[$2641>>2]|0;
-      $2643 = (_new_call($2633,$2636,$2639,$2642)|0);
-      HEAP32[$17>>2] = $2643;
-      $2644 = $1;
-      $2645 = HEAP32[$17>>2]|0;
-      $2646 = $12;
-      $2647 = HEAP32[$2646>>2]|0;
-      _call_with_block($2644,$2645,$2647);
-      break;
-     }
-     case 385:  {
-      $2648 = $1;
-      $2649 = $12;
-      $2650 = ((($2649)) + -4|0);
-      $2651 = HEAP32[$2650>>2]|0;
-      $2652 = $12;
-      $2653 = HEAP32[$2652>>2]|0;
-      $2654 = (_new_fcall($2648,$2651,$2653)|0);
-      HEAP32[$17>>2] = $2654;
-      break;
-     }
-     case 386:  {
-      $2655 = $1;
-      $2656 = $12;
-      $2657 = ((($2656)) + -12|0);
-      $2658 = HEAP32[$2657>>2]|0;
-      $2659 = $12;
-      $2660 = ((($2659)) + -4|0);
-      $2661 = HEAP32[$2660>>2]|0;
-      $2662 = $12;
-      $2663 = HEAP32[$2662>>2]|0;
-      $2664 = (_new_call($2655,$2658,$2661,$2663)|0);
-      HEAP32[$17>>2] = $2664;
-      break;
-     }
-     case 387:  {
-      $2665 = $1;
-      $2666 = $12;
-      $2667 = ((($2666)) + -12|0);
-      $2668 = HEAP32[$2667>>2]|0;
-      $2669 = $12;
-      $2670 = ((($2669)) + -4|0);
-      $2671 = HEAP32[$2670>>2]|0;
-      $2672 = $12;
-      $2673 = HEAP32[$2672>>2]|0;
-      $2674 = (_new_call($2665,$2668,$2671,$2673)|0);
-      HEAP32[$17>>2] = $2674;
-      break;
-     }
-     case 388:  {
-      $2675 = $1;
-      $2676 = $12;
-      $2677 = ((($2676)) + -8|0);
-      $2678 = HEAP32[$2677>>2]|0;
-      $2679 = $12;
-      $2680 = HEAP32[$2679>>2]|0;
-      $2681 = (_new_call($2675,$2678,$2680,0)|0);
-      HEAP32[$17>>2] = $2681;
-      break;
-     }
-     case 389:  {
-      $2682 = $1;
-      $2683 = $12;
-      $2684 = ((($2683)) + -8|0);
-      $2685 = HEAP32[$2684>>2]|0;
-      $2686 = $1;
-      $2687 = (_intern_gen($2686,69604,4)|0);
-      $2688 = $12;
-      $2689 = HEAP32[$2688>>2]|0;
-      $2690 = (_new_call($2682,$2685,$2687,$2689)|0);
-      HEAP32[$17>>2] = $2690;
-      break;
-     }
-     case 390:  {
-      $2691 = $1;
-      $2692 = $12;
-      $2693 = ((($2692)) + -8|0);
-      $2694 = HEAP32[$2693>>2]|0;
-      $2695 = $1;
-      $2696 = (_intern_gen($2695,69604,4)|0);
-      $2697 = $12;
-      $2698 = HEAP32[$2697>>2]|0;
-      $2699 = (_new_call($2691,$2694,$2696,$2698)|0);
-      HEAP32[$17>>2] = $2699;
-      break;
-     }
-     case 391:  {
-      $2700 = $1;
-      $2701 = $12;
-      $2702 = HEAP32[$2701>>2]|0;
-      $2703 = (_new_super($2700,$2702)|0);
-      HEAP32[$17>>2] = $2703;
-      break;
-     }
-     case 392:  {
-      $2704 = $1;
-      $2705 = (_new_zsuper($2704)|0);
-      HEAP32[$17>>2] = $2705;
-      break;
-     }
-     case 393:  {
-      $2706 = $1;
-      $2707 = $12;
-      $2708 = ((($2707)) + -12|0);
-      $2709 = HEAP32[$2708>>2]|0;
-      $2710 = $1;
-      $2711 = (_intern_gen($2710,69083,2)|0);
-      $2712 = $12;
-      $2713 = ((($2712)) + -4|0);
-      $2714 = HEAP32[$2713>>2]|0;
-      $2715 = (_new_call($2706,$2709,$2711,$2714)|0);
-      HEAP32[$17>>2] = $2715;
-      break;
-     }
-     case 394:  {
-      $2716 = $1;
-      _local_nest($2716);
-      $2717 = $1;
-      $2718 = ((($2717)) + 32|0);
-      $2719 = HEAP32[$2718>>2]|0;
-      HEAP32[$17>>2] = $2719;
-      break;
-     }
-     case 395:  {
-      $2720 = $1;
-      $2721 = $12;
-      $2722 = ((($2721)) + -8|0);
-      $2723 = HEAP32[$2722>>2]|0;
-      $2724 = $12;
-      $2725 = ((($2724)) + -4|0);
-      $2726 = HEAP32[$2725>>2]|0;
-      $2727 = (_new_block($2720,$2723,$2726)|0);
-      HEAP32[$17>>2] = $2727;
-      $2728 = $12;
-      $2729 = ((($2728)) + -12|0);
-      $2730 = HEAP32[$2729>>2]|0;
-      $2731 = $2730&65535;
-      $2732 = HEAP32[$17>>2]|0;
-      $2733 = ((($2732)) + 8|0);
-      HEAP16[$2733>>1] = $2731;
-      $2734 = $1;
-      _local_unnest($2734);
-      break;
-     }
-     case 396:  {
-      $2735 = $1;
-      _local_nest($2735);
-      $2736 = $1;
-      $2737 = ((($2736)) + 32|0);
-      $2738 = HEAP32[$2737>>2]|0;
-      HEAP32[$17>>2] = $2738;
-      break;
-     }
-     case 397:  {
-      $2739 = $1;
-      $2740 = $12;
-      $2741 = ((($2740)) + -8|0);
-      $2742 = HEAP32[$2741>>2]|0;
-      $2743 = $12;
-      $2744 = ((($2743)) + -4|0);
-      $2745 = HEAP32[$2744>>2]|0;
-      $2746 = (_new_block($2739,$2742,$2745)|0);
-      HEAP32[$17>>2] = $2746;
-      $2747 = $12;
-      $2748 = ((($2747)) + -12|0);
-      $2749 = HEAP32[$2748>>2]|0;
-      $2750 = $2749&65535;
-      $2751 = HEAP32[$17>>2]|0;
-      $2752 = ((($2751)) + 8|0);
-      HEAP16[$2752>>1] = $2750;
-      $2753 = $1;
-      _local_unnest($2753);
-      break;
-     }
-     case 398:  {
-      $2754 = $1;
-      $2755 = $1;
-      $2756 = $12;
-      $2757 = ((($2756)) + -12|0);
-      $2758 = HEAP32[$2757>>2]|0;
-      $2759 = $12;
-      $2760 = ((($2759)) + -4|0);
-      $2761 = HEAP32[$2760>>2]|0;
-      $2762 = (_cons_gen($2755,$2758,$2761)|0);
-      $2763 = $12;
-      $2764 = HEAP32[$2763>>2]|0;
-      $2765 = (_cons_gen($2754,$2762,$2764)|0);
-      HEAP32[$17>>2] = $2765;
-      break;
-     }
-     case 399:  {
-      $2766 = $12;
-      $2767 = HEAP32[$2766>>2]|0;
-      $2768 = ($2767|0)!=(0|0);
-      if ($2768) {
-       $2769 = $1;
-       $2770 = $1;
-       $2771 = $12;
-       $2772 = HEAP32[$2771>>2]|0;
-       $2773 = (_cons_gen($2770,0,$2772)|0);
-       $2774 = (_cons_gen($2769,$2773,0)|0);
-       $$sink9 = $2774;
-      } else {
-       $$sink9 = 0;
-      }
-      HEAP32[$17>>2] = $$sink9;
-      break;
-     }
-     case 401:  {
-      $2775 = $1;
-      $2776 = $1;
-      $2777 = $12;
-      $2778 = ((($2777)) + -16|0);
-      $2779 = HEAP32[$2778>>2]|0;
-      $2780 = $12;
-      $2781 = ((($2780)) + -12|0);
-      $2782 = HEAP32[$2781>>2]|0;
-      $2783 = $12;
-      $2784 = ((($2783)) + -4|0);
-      $2785 = HEAP32[$2784>>2]|0;
-      $2786 = (_list3_gen($2776,$2779,$2782,$2785)|0);
-      $2787 = (_list1_gen($2775,$2786)|0);
-      HEAP32[$17>>2] = $2787;
-      $2788 = $12;
-      $2789 = HEAP32[$2788>>2]|0;
-      $2790 = ($2789|0)!=(0|0);
-      if ($2790) {
-       $2791 = $1;
-       $2792 = HEAP32[$17>>2]|0;
-       $2793 = $12;
-       $2794 = HEAP32[$2793>>2]|0;
-       $2795 = (_append_gen($2791,$2792,$2794)|0);
-       HEAP32[$17>>2] = $2795;
-      }
-      break;
-     }
-     case 403:  {
-      $2796 = $1;
-      $2797 = $12;
-      $2798 = HEAP32[$2797>>2]|0;
-      $2799 = (_list1_gen($2796,$2798)|0);
-      HEAP32[$17>>2] = $2799;
-      break;
-     }
-     case 406:  {
-      $2800 = $12;
-      $2801 = HEAP32[$2800>>2]|0;
-      HEAP32[$17>>2] = $2801;
-      break;
-     }
-     case 408:  {
-      $2802 = $12;
-      $2803 = HEAP32[$2802>>2]|0;
-      HEAP32[$17>>2] = $2803;
-      break;
-     }
-     case 416:  {
-      $2804 = $12;
-      $2805 = HEAP32[$2804>>2]|0;
-      HEAP32[$17>>2] = $2805;
-      break;
-     }
-     case 417:  {
-      $2806 = $1;
-      $2807 = $1;
-      $2808 = $12;
-      $2809 = ((($2808)) + -4|0);
-      $2810 = HEAP32[$2809>>2]|0;
-      $2811 = $1;
-      $2812 = $12;
-      $2813 = HEAP32[$2812>>2]|0;
-      $2814 = (_list1_gen($2811,$2813)|0);
-      $2815 = (_append_gen($2807,$2810,$2814)|0);
-      $2816 = (_new_dstr($2806,$2815)|0);
-      HEAP32[$17>>2] = $2816;
-      break;
-     }
-     case 419:  {
-      $2817 = $1;
-      $2818 = $12;
-      $2819 = ((($2818)) + -4|0);
-      $2820 = HEAP32[$2819>>2]|0;
-      $2821 = $12;
-      $2822 = HEAP32[$2821>>2]|0;
-      $2823 = (_append_gen($2817,$2820,$2822)|0);
-      HEAP32[$17>>2] = $2823;
-      break;
-     }
-     case 420:  {
-      $2824 = $1;
-      $2825 = $12;
-      $2826 = HEAP32[$2825>>2]|0;
-      $2827 = (_list1_gen($2824,$2826)|0);
-      HEAP32[$17>>2] = $2827;
-      break;
-     }
-     case 421:  {
-      $2828 = $1;
-      $2829 = ((($2828)) + 44|0);
-      $2830 = HEAP32[$2829>>2]|0;
-      HEAP32[$17>>2] = $2830;
-      $2831 = $1;
-      $2832 = ((($2831)) + 44|0);
-      HEAP32[$2832>>2] = 0;
-      break;
-     }
-     case 422:  {
-      $2833 = $12;
-      $2834 = ((($2833)) + -8|0);
-      $2835 = HEAP32[$2834>>2]|0;
-      $2836 = $1;
-      $2837 = ((($2836)) + 44|0);
-      HEAP32[$2837>>2] = $2835;
-      $2838 = $1;
-      $2839 = $12;
-      $2840 = ((($2839)) + -12|0);
-      $2841 = HEAP32[$2840>>2]|0;
-      $2842 = $12;
-      $2843 = ((($2842)) + -4|0);
-      $2844 = HEAP32[$2843>>2]|0;
-      $2845 = (_list2_gen($2838,$2841,$2844)|0);
-      HEAP32[$17>>2] = $2845;
-      break;
-     }
-     case 423:  {
-      $2846 = $1;
-      $2847 = $1;
-      $2848 = (_new_literal_delim($2847)|0);
-      $2849 = (_list1_gen($2846,$2848)|0);
-      HEAP32[$17>>2] = $2849;
-      break;
-     }
-     case 424:  {
-      $2850 = $1;
-      $2851 = $1;
-      $2852 = (_new_literal_delim($2851)|0);
-      $2853 = (_list1_gen($2850,$2852)|0);
-      HEAP32[$17>>2] = $2853;
-      break;
-     }
-     case 425:  {
-      $2854 = $12;
-      $2855 = HEAP32[$2854>>2]|0;
-      HEAP32[$17>>2] = $2855;
-      break;
-     }
-     case 426:  {
-      $2856 = $1;
-      $2857 = $1;
-      $2858 = $12;
-      $2859 = ((($2858)) + -4|0);
-      $2860 = HEAP32[$2859>>2]|0;
-      $2861 = $1;
-      $2862 = $12;
-      $2863 = HEAP32[$2862>>2]|0;
-      $2864 = (_list1_gen($2861,$2863)|0);
-      $2865 = (_append_gen($2857,$2860,$2864)|0);
-      $2866 = (_new_dxstr($2856,$2865)|0);
-      HEAP32[$17>>2] = $2866;
-      break;
-     }
-     case 427:  {
-      $2867 = $12;
-      $2868 = HEAP32[$2867>>2]|0;
-      HEAP32[$17>>2] = $2868;
-      break;
-     }
-     case 428:  {
-      $2869 = $1;
-      $2870 = $12;
-      $2871 = ((($2870)) + -4|0);
-      $2872 = HEAP32[$2871>>2]|0;
-      $2873 = $12;
-      $2874 = HEAP32[$2873>>2]|0;
-      $2875 = (_new_dregx($2869,$2872,$2874)|0);
-      HEAP32[$17>>2] = $2875;
-      break;
-     }
-     case 434:  {
-      $2876 = $1;
-      $2877 = (_parsing_heredoc_inf($2876)|0);
-      $27 = $2877;
-      $2878 = $1;
-      $2879 = $27;
-      $2880 = ((($2879)) + 16|0);
-      $2881 = HEAP32[$2880>>2]|0;
-      $2882 = $1;
-      $2883 = $1;
-      $2884 = (_new_str($2883,75764,0)|0);
-      $2885 = (_list1_gen($2882,$2884)|0);
-      $2886 = (_append_gen($2878,$2881,$2885)|0);
-      $2887 = $27;
-      $2888 = ((($2887)) + 16|0);
-      HEAP32[$2888>>2] = $2886;
-      $2889 = $1;
-      _heredoc_end($2889);
-      break;
-     }
-     case 435:  {
-      $2890 = $1;
-      _heredoc_end($2890);
-      break;
-     }
-     case 438:  {
-      $2891 = $1;
-      $2892 = (_parsing_heredoc_inf($2891)|0);
-      $28 = $2892;
-      $2893 = $1;
-      $2894 = $28;
-      $2895 = ((($2894)) + 16|0);
-      $2896 = HEAP32[$2895>>2]|0;
-      $2897 = $1;
-      $2898 = $12;
-      $2899 = HEAP32[$2898>>2]|0;
-      $2900 = (_list1_gen($2897,$2899)|0);
-      $2901 = (_append_gen($2893,$2896,$2900)|0);
-      $2902 = $28;
-      $2903 = ((($2902)) + 16|0);
-      HEAP32[$2903>>2] = $2901;
-      $2904 = $1;
-      _heredoc_treat_nextline($2904);
-      break;
-     }
-     case 439:  {
-      $2905 = $1;
-      $2906 = ((($2905)) + 44|0);
-      $2907 = HEAP32[$2906>>2]|0;
-      HEAP32[$17>>2] = $2907;
-      $2908 = $1;
-      $2909 = ((($2908)) + 44|0);
-      HEAP32[$2909>>2] = 0;
-      break;
-     }
-     case 440:  {
-      $2910 = $1;
-      $2911 = (_parsing_heredoc_inf($2910)|0);
-      $29 = $2911;
-      $2912 = $12;
-      $2913 = ((($2912)) + -8|0);
-      $2914 = HEAP32[$2913>>2]|0;
-      $2915 = $1;
-      $2916 = ((($2915)) + 44|0);
-      HEAP32[$2916>>2] = $2914;
-      $2917 = $1;
-      $2918 = $1;
-      $2919 = $29;
-      $2920 = ((($2919)) + 16|0);
-      $2921 = HEAP32[$2920>>2]|0;
-      $2922 = $1;
-      $2923 = $12;
-      $2924 = ((($2923)) + -12|0);
-      $2925 = HEAP32[$2924>>2]|0;
-      $2926 = (_list1_gen($2922,$2925)|0);
-      $2927 = (_append_gen($2918,$2921,$2926)|0);
-      $2928 = $1;
-      $2929 = $12;
-      $2930 = ((($2929)) + -4|0);
-      $2931 = HEAP32[$2930>>2]|0;
-      $2932 = (_list1_gen($2928,$2931)|0);
-      $2933 = (_append_gen($2917,$2927,$2932)|0);
-      $2934 = $29;
-      $2935 = ((($2934)) + 16|0);
-      HEAP32[$2935>>2] = $2933;
-      break;
-     }
-     case 441:  {
-      $2936 = $1;
-      $2937 = $1;
-      $2938 = $12;
-      $2939 = HEAP32[$2938>>2]|0;
-      $2940 = (_list1_gen($2937,$2939)|0);
-      $2941 = (_new_words($2936,$2940)|0);
-      HEAP32[$17>>2] = $2941;
-      break;
-     }
-     case 442:  {
-      $2942 = $1;
-      $2943 = $1;
-      $2944 = $12;
-      $2945 = ((($2944)) + -4|0);
-      $2946 = HEAP32[$2945>>2]|0;
-      $2947 = $1;
-      $2948 = $12;
-      $2949 = HEAP32[$2948>>2]|0;
-      $2950 = (_list1_gen($2947,$2949)|0);
-      $2951 = (_append_gen($2943,$2946,$2950)|0);
-      $2952 = (_new_words($2942,$2951)|0);
-      HEAP32[$17>>2] = $2952;
-      break;
-     }
-     case 443:  {
-      $2953 = $1;
-      $2954 = $12;
-      $2955 = HEAP32[$2954>>2]|0;
-      $2956 = (_new_sym($2953,$2955)|0);
-      HEAP32[$17>>2] = $2956;
-      break;
-     }
-     case 444:  {
-      $2957 = $1;
-      $2958 = ((($2957)) + 40|0);
-      HEAP32[$2958>>2] = 1;
-      $2959 = $1;
-      $2960 = $1;
-      $2961 = $12;
-      $2962 = ((($2961)) + -4|0);
-      $2963 = HEAP32[$2962>>2]|0;
-      $2964 = $1;
-      $2965 = $12;
-      $2966 = HEAP32[$2965>>2]|0;
-      $2967 = (_list1_gen($2964,$2966)|0);
-      $2968 = (_append_gen($2960,$2963,$2967)|0);
-      $2969 = (_new_dsym($2959,$2968)|0);
-      HEAP32[$17>>2] = $2969;
-      break;
-     }
-     case 445:  {
-      $2970 = $1;
-      $2971 = ((($2970)) + 40|0);
-      HEAP32[$2971>>2] = 1;
-      $2972 = $12;
-      $2973 = HEAP32[$2972>>2]|0;
-      HEAP32[$17>>2] = $2973;
-      break;
-     }
-     case 450:  {
-      $2974 = $1;
-      $2975 = $12;
-      $2976 = HEAP32[$2975>>2]|0;
-      $2977 = (_new_strsym($2974,$2976)|0);
-      HEAP32[$17>>2] = $2977;
-      break;
-     }
-     case 451:  {
-      $2978 = $1;
-      $2979 = $12;
-      $2980 = HEAP32[$2979>>2]|0;
-      $2981 = (_new_strsym($2978,$2980)|0);
-      HEAP32[$17>>2] = $2981;
-      break;
-     }
-     case 452:  {
-      $2982 = $1;
-      $2983 = $1;
-      $2984 = $12;
-      $2985 = HEAP32[$2984>>2]|0;
-      $2986 = (_list1_gen($2983,$2985)|0);
-      $2987 = (_new_symbols($2982,$2986)|0);
-      HEAP32[$17>>2] = $2987;
-      break;
-     }
-     case 453:  {
-      $2988 = $1;
-      $2989 = $1;
-      $2990 = $12;
-      $2991 = ((($2990)) + -4|0);
-      $2992 = HEAP32[$2991>>2]|0;
-      $2993 = $1;
-      $2994 = $12;
-      $2995 = HEAP32[$2994>>2]|0;
-      $2996 = (_list1_gen($2993,$2995)|0);
-      $2997 = (_append_gen($2989,$2992,$2996)|0);
-      $2998 = (_new_symbols($2988,$2997)|0);
-      HEAP32[$17>>2] = $2998;
-      break;
-     }
-     case 456:  {
-      $2999 = $1;
-      $3000 = $12;
-      $3001 = HEAP32[$3000>>2]|0;
-      $3002 = (_negate_lit($2999,$3001)|0);
-      HEAP32[$17>>2] = $3002;
-      break;
-     }
-     case 457:  {
-      $3003 = $1;
-      $3004 = $12;
-      $3005 = HEAP32[$3004>>2]|0;
-      $3006 = (_negate_lit($3003,$3005)|0);
-      HEAP32[$17>>2] = $3006;
-      break;
-     }
-     case 458:  {
-      $3007 = $1;
-      $3008 = $12;
-      $3009 = HEAP32[$3008>>2]|0;
-      $3010 = (_new_lvar($3007,$3009)|0);
-      HEAP32[$17>>2] = $3010;
-      break;
-     }
-     case 459:  {
-      $3011 = $1;
-      $3012 = $12;
-      $3013 = HEAP32[$3012>>2]|0;
-      $3014 = (_new_ivar($3011,$3013)|0);
-      HEAP32[$17>>2] = $3014;
-      break;
-     }
-     case 460:  {
-      $3015 = $1;
-      $3016 = $12;
-      $3017 = HEAP32[$3016>>2]|0;
-      $3018 = (_new_gvar($3015,$3017)|0);
-      HEAP32[$17>>2] = $3018;
-      break;
-     }
-     case 461:  {
-      $3019 = $1;
-      $3020 = $12;
-      $3021 = HEAP32[$3020>>2]|0;
-      $3022 = (_new_cvar($3019,$3021)|0);
-      HEAP32[$17>>2] = $3022;
-      break;
-     }
-     case 462:  {
-      $3023 = $1;
-      $3024 = $12;
-      $3025 = HEAP32[$3024>>2]|0;
-      $3026 = (_new_const($3023,$3025)|0);
-      HEAP32[$17>>2] = $3026;
-      break;
-     }
-     case 463:  {
-      $3027 = $1;
-      $3028 = $12;
-      $3029 = HEAP32[$3028>>2]|0;
-      _assignable($3027,$3029);
-      break;
-     }
-     case 464:  {
-      $3030 = $1;
-      $3031 = $12;
-      $3032 = HEAP32[$3031>>2]|0;
-      $3033 = (_var_reference($3030,$3032)|0);
-      HEAP32[$17>>2] = $3033;
-      break;
-     }
-     case 465:  {
-      $3034 = $1;
-      $3035 = (_new_nil($3034)|0);
-      HEAP32[$17>>2] = $3035;
-      break;
-     }
-     case 466:  {
-      $3036 = $1;
-      $3037 = (_new_self($3036)|0);
-      HEAP32[$17>>2] = $3037;
-      break;
-     }
-     case 467:  {
-      $3038 = $1;
-      $3039 = (_new_true($3038)|0);
-      HEAP32[$17>>2] = $3039;
-      break;
-     }
-     case 468:  {
-      $3040 = $1;
-      $3041 = (_new_false($3040)|0);
-      HEAP32[$17>>2] = $3041;
-      break;
-     }
-     case 469:  {
-      $3042 = $1;
-      $3043 = ((($3042)) + 28|0);
-      $3044 = HEAP32[$3043>>2]|0;
-      $3045 = ($3044|0)!=(0|0);
-      if (!($3045)) {
-       $3046 = $1;
-       $3047 = ((($3046)) + 28|0);
-       HEAP32[$3047>>2] = 70729;
-      }
-      $3048 = $1;
-      $3049 = $1;
-      $3050 = ((($3049)) + 28|0);
-      $3051 = HEAP32[$3050>>2]|0;
-      $3052 = $1;
-      $3053 = ((($3052)) + 28|0);
-      $3054 = HEAP32[$3053>>2]|0;
-      $3055 = (_strlen($3054)|0);
-      $3056 = (_new_str($3048,$3051,$3055)|0);
-      HEAP32[$17>>2] = $3056;
-      break;
-     }
-     case 470:  {
-      $3057 = $1;
-      $3058 = ((($3057)) + 32|0);
-      $3059 = HEAP32[$3058>>2]|0;
-      HEAP32[$vararg_buffer>>2] = $3059;
-      (_snprintf($30,16,59647,$vararg_buffer)|0);
-      $3060 = $1;
-      $3061 = (_new_int($3060,$30,10)|0);
-      HEAP32[$17>>2] = $3061;
-      break;
-     }
-     case 473:  {
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 474:  {
-      $3062 = $1;
-      $3063 = ((($3062)) + 40|0);
-      HEAP32[$3063>>2] = 0;
-      $3064 = $1;
-      $3065 = ((($3064)) + 72|0);
-      $3066 = HEAP8[$3065>>0]|0;
-      $3067 = $3066 & -2;
-      $3068 = $3067 | 1;
-      HEAP8[$3065>>0] = $3068;
-      break;
-     }
-     case 475:  {
-      $3069 = $12;
-      $3070 = ((($3069)) + -4|0);
-      $3071 = HEAP32[$3070>>2]|0;
-      HEAP32[$17>>2] = $3071;
-      break;
-     }
-     case 476:  {
-      $3072 = $12;
-      $3073 = ((($3072)) + -4|0);
-      $3074 = HEAP32[$3073>>2]|0;
-      HEAP32[$17>>2] = $3074;
-      $3075 = $1;
-      $3076 = ((($3075)) + 40|0);
-      HEAP32[$3076>>2] = 0;
-      $3077 = $1;
-      $3078 = ((($3077)) + 72|0);
-      $3079 = HEAP8[$3078>>0]|0;
-      $3080 = $3079 & -2;
-      $3081 = $3080 | 1;
-      HEAP8[$3078>>0] = $3081;
-      break;
-     }
-     case 477:  {
-      $3082 = $12;
-      $3083 = ((($3082)) + -4|0);
-      $3084 = HEAP32[$3083>>2]|0;
-      HEAP32[$17>>2] = $3084;
-      break;
-     }
-     case 478:  {
-      $3085 = $1;
-      $3086 = $12;
-      $3087 = ((($3086)) + -20|0);
-      $3088 = HEAP32[$3087>>2]|0;
-      $3089 = $12;
-      $3090 = ((($3089)) + -12|0);
-      $3091 = HEAP32[$3090>>2]|0;
-      $3092 = $12;
-      $3093 = ((($3092)) + -4|0);
-      $3094 = HEAP32[$3093>>2]|0;
-      $3095 = $12;
-      $3096 = HEAP32[$3095>>2]|0;
-      $3097 = (_new_args($3085,$3088,$3091,$3094,0,$3096)|0);
-      HEAP32[$17>>2] = $3097;
-      break;
-     }
-     case 479:  {
-      $3098 = $1;
-      $3099 = $12;
-      $3100 = ((($3099)) + -28|0);
-      $3101 = HEAP32[$3100>>2]|0;
-      $3102 = $12;
-      $3103 = ((($3102)) + -20|0);
-      $3104 = HEAP32[$3103>>2]|0;
-      $3105 = $12;
-      $3106 = ((($3105)) + -12|0);
-      $3107 = HEAP32[$3106>>2]|0;
-      $3108 = $12;
-      $3109 = ((($3108)) + -4|0);
-      $3110 = HEAP32[$3109>>2]|0;
-      $3111 = $12;
-      $3112 = HEAP32[$3111>>2]|0;
-      $3113 = (_new_args($3098,$3101,$3104,$3107,$3110,$3112)|0);
-      HEAP32[$17>>2] = $3113;
-      break;
-     }
-     case 480:  {
-      $3114 = $1;
-      $3115 = $12;
-      $3116 = ((($3115)) + -12|0);
-      $3117 = HEAP32[$3116>>2]|0;
-      $3118 = $12;
-      $3119 = ((($3118)) + -4|0);
-      $3120 = HEAP32[$3119>>2]|0;
-      $3121 = $12;
-      $3122 = HEAP32[$3121>>2]|0;
-      $3123 = (_new_args($3114,$3117,$3120,0,0,$3122)|0);
-      HEAP32[$17>>2] = $3123;
-      break;
-     }
-     case 481:  {
-      $3124 = $1;
-      $3125 = $12;
-      $3126 = ((($3125)) + -20|0);
-      $3127 = HEAP32[$3126>>2]|0;
-      $3128 = $12;
-      $3129 = ((($3128)) + -12|0);
-      $3130 = HEAP32[$3129>>2]|0;
-      $3131 = $12;
-      $3132 = ((($3131)) + -4|0);
-      $3133 = HEAP32[$3132>>2]|0;
-      $3134 = $12;
-      $3135 = HEAP32[$3134>>2]|0;
-      $3136 = (_new_args($3124,$3127,$3130,0,$3133,$3135)|0);
-      HEAP32[$17>>2] = $3136;
-      break;
-     }
-     case 482:  {
-      $3137 = $1;
-      $3138 = $12;
-      $3139 = ((($3138)) + -12|0);
-      $3140 = HEAP32[$3139>>2]|0;
-      $3141 = $12;
-      $3142 = ((($3141)) + -4|0);
-      $3143 = HEAP32[$3142>>2]|0;
-      $3144 = $12;
-      $3145 = HEAP32[$3144>>2]|0;
-      $3146 = (_new_args($3137,$3140,0,$3143,0,$3145)|0);
-      HEAP32[$17>>2] = $3146;
-      break;
-     }
-     case 483:  {
-      $3147 = $1;
-      $3148 = $12;
-      $3149 = ((($3148)) + -20|0);
-      $3150 = HEAP32[$3149>>2]|0;
-      $3151 = $12;
-      $3152 = ((($3151)) + -12|0);
-      $3153 = HEAP32[$3152>>2]|0;
-      $3154 = $12;
-      $3155 = ((($3154)) + -4|0);
-      $3156 = HEAP32[$3155>>2]|0;
-      $3157 = $12;
-      $3158 = HEAP32[$3157>>2]|0;
-      $3159 = (_new_args($3147,$3150,0,$3153,$3156,$3158)|0);
-      HEAP32[$17>>2] = $3159;
-      break;
-     }
-     case 484:  {
-      $3160 = $1;
-      $3161 = $12;
-      $3162 = ((($3161)) + -4|0);
-      $3163 = HEAP32[$3162>>2]|0;
-      $3164 = $12;
-      $3165 = HEAP32[$3164>>2]|0;
-      $3166 = (_new_args($3160,$3163,0,0,0,$3165)|0);
-      HEAP32[$17>>2] = $3166;
-      break;
-     }
-     case 485:  {
-      $3167 = $1;
-      $3168 = $12;
-      $3169 = ((($3168)) + -12|0);
-      $3170 = HEAP32[$3169>>2]|0;
-      $3171 = $12;
-      $3172 = ((($3171)) + -4|0);
-      $3173 = HEAP32[$3172>>2]|0;
-      $3174 = $12;
-      $3175 = HEAP32[$3174>>2]|0;
-      $3176 = (_new_args($3167,0,$3170,$3173,0,$3175)|0);
-      HEAP32[$17>>2] = $3176;
-      break;
-     }
-     case 486:  {
-      $3177 = $1;
-      $3178 = $12;
-      $3179 = ((($3178)) + -20|0);
-      $3180 = HEAP32[$3179>>2]|0;
-      $3181 = $12;
-      $3182 = ((($3181)) + -12|0);
-      $3183 = HEAP32[$3182>>2]|0;
-      $3184 = $12;
-      $3185 = ((($3184)) + -4|0);
-      $3186 = HEAP32[$3185>>2]|0;
-      $3187 = $12;
-      $3188 = HEAP32[$3187>>2]|0;
-      $3189 = (_new_args($3177,0,$3180,$3183,$3186,$3188)|0);
-      HEAP32[$17>>2] = $3189;
-      break;
-     }
-     case 487:  {
-      $3190 = $1;
-      $3191 = $12;
-      $3192 = ((($3191)) + -4|0);
-      $3193 = HEAP32[$3192>>2]|0;
-      $3194 = $12;
-      $3195 = HEAP32[$3194>>2]|0;
-      $3196 = (_new_args($3190,0,$3193,0,0,$3195)|0);
-      HEAP32[$17>>2] = $3196;
-      break;
-     }
-     case 488:  {
-      $3197 = $1;
-      $3198 = $12;
-      $3199 = ((($3198)) + -12|0);
-      $3200 = HEAP32[$3199>>2]|0;
-      $3201 = $12;
-      $3202 = ((($3201)) + -4|0);
-      $3203 = HEAP32[$3202>>2]|0;
-      $3204 = $12;
-      $3205 = HEAP32[$3204>>2]|0;
-      $3206 = (_new_args($3197,0,$3200,0,$3203,$3205)|0);
-      HEAP32[$17>>2] = $3206;
-      break;
-     }
-     case 489:  {
-      $3207 = $1;
-      $3208 = $12;
-      $3209 = ((($3208)) + -4|0);
-      $3210 = HEAP32[$3209>>2]|0;
-      $3211 = $12;
-      $3212 = HEAP32[$3211>>2]|0;
-      $3213 = (_new_args($3207,0,0,$3210,0,$3212)|0);
-      HEAP32[$17>>2] = $3213;
-      break;
-     }
-     case 490:  {
-      $3214 = $1;
-      $3215 = $12;
-      $3216 = ((($3215)) + -12|0);
-      $3217 = HEAP32[$3216>>2]|0;
-      $3218 = $12;
-      $3219 = ((($3218)) + -4|0);
-      $3220 = HEAP32[$3219>>2]|0;
-      $3221 = $12;
-      $3222 = HEAP32[$3221>>2]|0;
-      $3223 = (_new_args($3214,0,0,$3217,$3220,$3222)|0);
-      HEAP32[$17>>2] = $3223;
-      break;
-     }
-     case 491:  {
-      $3224 = $1;
-      $3225 = $12;
-      $3226 = HEAP32[$3225>>2]|0;
-      $3227 = (_new_args($3224,0,0,0,0,$3226)|0);
-      HEAP32[$17>>2] = $3227;
-      break;
-     }
-     case 492:  {
-      $3228 = $1;
-      _local_add_f($3228,0);
-      $3229 = $1;
-      $3230 = (_new_args($3229,0,0,0,0,0)|0);
-      HEAP32[$17>>2] = $3230;
-      break;
-     }
-     case 493:  {
-      $3231 = $1;
-      _yyerror($3231,59650);
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 494:  {
-      $3232 = $1;
-      _yyerror($3232,59687);
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 495:  {
-      $3233 = $1;
-      _yyerror($3233,59734);
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 496:  {
-      $3234 = $1;
-      _yyerror($3234,59778);
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 497:  {
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 498:  {
-      $3235 = $1;
-      $3236 = $12;
-      $3237 = HEAP32[$3236>>2]|0;
-      _local_add_f($3235,$3237);
-      $3238 = $12;
-      $3239 = HEAP32[$3238>>2]|0;
-      HEAP32[$17>>2] = $3239;
-      break;
-     }
-     case 499:  {
-      $3240 = $1;
-      $3241 = $12;
-      $3242 = HEAP32[$3241>>2]|0;
-      $3243 = (_new_arg($3240,$3242)|0);
-      HEAP32[$17>>2] = $3243;
-      break;
-     }
-     case 500:  {
-      $3244 = $1;
-      $3245 = $12;
-      $3246 = ((($3245)) + -4|0);
-      $3247 = HEAP32[$3246>>2]|0;
-      $3248 = (_new_masgn($3244,$3247,0)|0);
-      HEAP32[$17>>2] = $3248;
-      break;
-     }
-     case 501:  {
-      $3249 = $1;
-      $3250 = $12;
-      $3251 = HEAP32[$3250>>2]|0;
-      $3252 = (_list1_gen($3249,$3251)|0);
-      HEAP32[$17>>2] = $3252;
-      break;
-     }
-     case 502:  {
-      $3253 = $1;
-      $3254 = $12;
-      $3255 = ((($3254)) + -8|0);
-      $3256 = HEAP32[$3255>>2]|0;
-      $3257 = $1;
-      $3258 = $12;
-      $3259 = HEAP32[$3258>>2]|0;
-      $3260 = (_list1_gen($3257,$3259)|0);
-      $3261 = (_append_gen($3253,$3256,$3260)|0);
-      HEAP32[$17>>2] = $3261;
-      break;
-     }
-     case 503:  {
-      $3262 = $1;
-      $3263 = $12;
-      $3264 = ((($3263)) + -4|0);
-      $3265 = HEAP32[$3264>>2]|0;
-      _local_add_f($3262,$3265);
-      $3266 = $12;
-      $3267 = ((($3266)) + -4|0);
-      $3268 = HEAP32[$3267>>2]|0;
-      HEAP32[$17>>2] = $3268;
-      break;
-     }
-     case 504:  {
-      $3269 = $1;
-      $3270 = $12;
-      $3271 = ((($3270)) + -4|0);
-      $3272 = HEAP32[$3271>>2]|0;
-      $3273 = $3272;
-      $3274 = $12;
-      $3275 = HEAP32[$3274>>2]|0;
-      $3276 = (_cons_gen($3269,$3273,$3275)|0);
-      HEAP32[$17>>2] = $3276;
-      break;
-     }
-     case 505:  {
-      $3277 = $1;
-      $3278 = $12;
-      $3279 = ((($3278)) + -4|0);
-      $3280 = HEAP32[$3279>>2]|0;
-      $3281 = $3280;
-      $3282 = $12;
-      $3283 = HEAP32[$3282>>2]|0;
-      $3284 = (_cons_gen($3277,$3281,$3283)|0);
-      HEAP32[$17>>2] = $3284;
-      break;
-     }
-     case 506:  {
-      $3285 = $1;
-      $3286 = $12;
-      $3287 = HEAP32[$3286>>2]|0;
-      $3288 = (_list1_gen($3285,$3287)|0);
-      HEAP32[$17>>2] = $3288;
-      break;
-     }
-     case 507:  {
-      $3289 = $1;
-      $3290 = $12;
-      $3291 = ((($3290)) + -8|0);
-      $3292 = HEAP32[$3291>>2]|0;
-      $3293 = $1;
-      $3294 = $12;
-      $3295 = HEAP32[$3294>>2]|0;
-      $3296 = (_list1_gen($3293,$3295)|0);
-      $3297 = (_append_gen($3289,$3292,$3296)|0);
-      HEAP32[$17>>2] = $3297;
-      break;
-     }
-     case 508:  {
-      $3298 = $1;
-      $3299 = $12;
-      $3300 = HEAP32[$3299>>2]|0;
-      $3301 = (_list1_gen($3298,$3300)|0);
-      HEAP32[$17>>2] = $3301;
-      break;
-     }
-     case 509:  {
-      $3302 = $1;
-      $3303 = $12;
-      $3304 = ((($3303)) + -8|0);
-      $3305 = HEAP32[$3304>>2]|0;
-      $3306 = $1;
-      $3307 = $12;
-      $3308 = HEAP32[$3307>>2]|0;
-      $3309 = (_list1_gen($3306,$3308)|0);
-      $3310 = (_append_gen($3302,$3305,$3309)|0);
-      HEAP32[$17>>2] = $3310;
-      break;
-     }
-     case 512:  {
-      $3311 = $1;
-      $3312 = $12;
-      $3313 = HEAP32[$3312>>2]|0;
-      _local_add_f($3311,$3313);
-      $3314 = $12;
-      $3315 = HEAP32[$3314>>2]|0;
-      HEAP32[$17>>2] = $3315;
-      break;
-     }
-     case 513:  {
-      $3316 = $1;
-      _local_add_f($3316,0);
-      HEAP32[$17>>2] = -1;
-      break;
-     }
-     case 516:  {
-      $3317 = $1;
-      $3318 = $12;
-      $3319 = HEAP32[$3318>>2]|0;
-      _local_add_f($3317,$3319);
-      $3320 = $12;
-      $3321 = HEAP32[$3320>>2]|0;
-      HEAP32[$17>>2] = $3321;
-      break;
-     }
-     case 517:  {
-      $3322 = $12;
-      $3323 = HEAP32[$3322>>2]|0;
-      HEAP32[$17>>2] = $3323;
-      break;
-     }
-     case 518:  {
-      $3324 = $1;
-      _local_add_f($3324,0);
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     case 519:  {
-      $3325 = $12;
-      $3326 = HEAP32[$3325>>2]|0;
-      HEAP32[$17>>2] = $3326;
-      $3327 = HEAP32[$17>>2]|0;
-      $3328 = ($3327|0)!=(0|0);
-      if (!($3328)) {
-       $3329 = $1;
-       $3330 = (_new_nil($3329)|0);
-       HEAP32[$17>>2] = $3330;
-      }
-      break;
-     }
-     case 520:  {
-      $3331 = $1;
-      $3332 = ((($3331)) + 40|0);
-      HEAP32[$3332>>2] = 0;
-      break;
-     }
-     case 521:  {
-      $3333 = $12;
-      $3334 = ((($3333)) + -4|0);
-      $3335 = HEAP32[$3334>>2]|0;
-      $3336 = ($3335|0)==(0|0);
-      L556: do {
-       if ($3336) {
-        $3337 = $1;
-        _yyerror($3337,59821);
-       } else {
-        $3338 = $12;
-        $3339 = ((($3338)) + -4|0);
-        $3340 = HEAP32[$3339>>2]|0;
-        $3341 = HEAP32[$3340>>2]|0;
-        $3342 = $3341;
-        switch ($3342|0) {
-        case 99: case 34: case 51: case 47: case 60: case 58: case 57: case 56: case 55:  {
-         break;
-        }
-        default: {
-         break L556;
-        }
-        }
-        $3343 = $1;
-        _yyerror($3343,59859);
-       }
-      } while(0);
-      $3344 = $12;
-      $3345 = ((($3344)) + -4|0);
-      $3346 = HEAP32[$3345>>2]|0;
-      HEAP32[$17>>2] = $3346;
-      break;
-     }
-     case 523:  {
-      $3347 = $12;
-      $3348 = ((($3347)) + -4|0);
-      $3349 = HEAP32[$3348>>2]|0;
-      HEAP32[$17>>2] = $3349;
-      break;
-     }
-     case 524:  {
-      $3350 = $1;
-      $3351 = $12;
-      $3352 = HEAP32[$3351>>2]|0;
-      $3353 = (_list1_gen($3350,$3352)|0);
-      HEAP32[$17>>2] = $3353;
-      $3354 = $12;
-      $3355 = HEAP32[$3354>>2]|0;
-      $3356 = ($3355|0)!=(0|0);
-      if ($3356) {
-       $3357 = $12;
-       $3358 = HEAP32[$3357>>2]|0;
-       $3359 = ((($3358)) + 10|0);
-       $3360 = HEAP16[$3359>>1]|0;
-       $3361 = HEAP32[$17>>2]|0;
-       $3362 = ((($3361)) + 10|0);
-       HEAP16[$3362>>1] = $3360;
-       $3363 = $12;
-       $3364 = HEAP32[$3363>>2]|0;
-       $3365 = ((($3364)) + 8|0);
-       $3366 = HEAP16[$3365>>1]|0;
-       $3367 = HEAP32[$17>>2]|0;
-       $3368 = ((($3367)) + 8|0);
-       HEAP16[$3368>>1] = $3366;
-      }
-      break;
-     }
-     case 525:  {
-      $3369 = $1;
-      $3370 = $12;
-      $3371 = ((($3370)) + -8|0);
-      $3372 = HEAP32[$3371>>2]|0;
-      $3373 = $1;
-      $3374 = $12;
-      $3375 = HEAP32[$3374>>2]|0;
-      $3376 = (_list1_gen($3373,$3375)|0);
-      $3377 = (_append_gen($3369,$3372,$3376)|0);
-      HEAP32[$17>>2] = $3377;
-      break;
-     }
-     case 526:  {
-      $3378 = $1;
-      $3379 = $12;
-      $3380 = ((($3379)) + -8|0);
-      $3381 = HEAP32[$3380>>2]|0;
-      $3382 = $12;
-      $3383 = HEAP32[$3382>>2]|0;
-      $3384 = (_cons_gen($3378,$3381,$3383)|0);
-      HEAP32[$17>>2] = $3384;
-      break;
-     }
-     case 527:  {
-      $3385 = $1;
-      $3386 = $1;
-      $3387 = $12;
-      $3388 = ((($3387)) + -4|0);
-      $3389 = HEAP32[$3388>>2]|0;
-      $3390 = (_new_sym($3386,$3389)|0);
-      $3391 = $12;
-      $3392 = HEAP32[$3391>>2]|0;
-      $3393 = (_cons_gen($3385,$3390,$3392)|0);
-      HEAP32[$17>>2] = $3393;
-      break;
-     }
-     case 549:  {
-      $6 = 0;
-      break;
-     }
-     case 551:  {
-      $3394 = $1;
-      $3395 = ((($3394)) + 32|0);
-      $3396 = HEAP32[$3395>>2]|0;
-      $3397 = (($3396) + 1)|0;
-      HEAP32[$3395>>2] = $3397;
-      $3398 = $1;
-      $3399 = ((($3398)) + 36|0);
-      HEAP32[$3399>>2] = 0;
-      break;
-     }
-     case 554:  {
-      $6 = 0;
-      break;
-     }
-     case 555:  {
-      HEAP32[$17>>2] = 0;
-      break;
-     }
-     default: {
-     }
-     }
-    } while(0);
-    $3400 = $21;
-    $3401 = $12;
-    $3402 = (0 - ($3400))|0;
-    $3403 = (($3401) + ($3402<<2)|0);
-    $12 = $3403;
-    $3404 = $21;
-    $3405 = $9;
-    $3406 = (0 - ($3404))|0;
-    $3407 = (($3405) + ($3406<<1)|0);
-    $9 = $3407;
-    $21 = 0;
-    $3408 = $12;
-    $3409 = ((($3408)) + 4|0);
-    $12 = $3409;
-    ;HEAP32[$3409>>2]=HEAP32[$17>>2]|0;
-    $3410 = $14;
-    $3411 = (49776 + ($3410<<1)|0);
-    $3412 = HEAP16[$3411>>1]|0;
-    $3413 = $3412&65535;
-    $14 = $3413;
-    $3414 = $14;
-    $3415 = (($3414) - 144)|0;
-    $3416 = (50888 + ($3415<<1)|0);
-    $3417 = HEAP16[$3416>>1]|0;
-    $3418 = $3417 << 16 >> 16;
-    $3419 = $9;
-    $3420 = HEAP16[$3419>>1]|0;
-    $3421 = $3420 << 16 >> 16;
-    $3422 = (($3418) + ($3421))|0;
-    $5 = $3422;
-    $3423 = $5;
-    $3424 = (0)<=($3423|0);
-    $3425 = $5;
-    $3426 = ($3425|0)<=(10639);
-    $or$cond12 = $3424 & $3426;
-    if ($or$cond12) {
-     $3427 = $5;
-     $3428 = (5280 + ($3427<<1)|0);
-     $3429 = HEAP16[$3428>>1]|0;
-     $3430 = $3429 << 16 >> 16;
-     $3431 = $9;
-     $3432 = HEAP16[$3431>>1]|0;
-     $3433 = $3432 << 16 >> 16;
-     $3434 = ($3430|0)==($3433|0);
-     if ($3434) {
-      $3435 = $5;
-      $3436 = (26560 + ($3435<<1)|0);
-      $3437 = HEAP16[$3436>>1]|0;
-      $3438 = $3437 << 16 >> 16;
-      $5 = $3438;
-      break;
-     }
-    }
-    $3439 = $14;
-    $3440 = (($3439) - 144)|0;
-    $3441 = (51210 + ($3440<<1)|0);
-    $3442 = HEAP16[$3441>>1]|0;
-    $3443 = $3442 << 16 >> 16;
-    $5 = $3443;
-   }
-   else if ((label|0) == 513) {
-    label = 0;
-    $3444 = $6;
-    $3445 = ($3444|0)!=(0);
-    do {
-     if (!($3445)) {
-      $3446 = $4;
-      $3447 = (($3446) + 1)|0;
-      $4 = $3447;
-      $3448 = $5;
-      $3449 = $2;
-      $3450 = (_yysyntax_error(0,$3448,$3449)|0);
-      $31 = $3450;
-      $3451 = $20;
-      $3452 = $31;
-      $3453 = ($3451>>>0)<($3452>>>0);
-      $3454 = $20;
-      $3455 = ($3454>>>0)<(4294967295);
-      $or$cond14 = $3453 & $3455;
-      do {
-       if ($or$cond14) {
-        $3456 = $31;
-        $3457 = $3456<<1;
-        $32 = $3457;
-        $3458 = $31;
-        $3459 = $32;
-        $3460 = ($3458>>>0)<=($3459>>>0);
-        $3461 = $32;
-        $3462 = ($3461>>>0)<=(4294967295);
-        $or$cond16 = $3460 & $3462;
-        $$19 = $or$cond16 ? $3457 : -1;
-        $32 = $$19;
-        $3463 = $19;
-        $3464 = ($3463|0)!=($18|0);
-        if ($3464) {
-         $3465 = $1;
-         $3466 = HEAP32[$3465>>2]|0;
-         $3467 = $19;
-         _mrb_free($3466,$3467);
-        }
-        $3468 = $1;
-        $3469 = HEAP32[$3468>>2]|0;
-        $3470 = $32;
-        $3471 = (_mrb_malloc($3469,$3470)|0);
-        $19 = $3471;
-        $3472 = $19;
-        $3473 = ($3472|0)!=(0|0);
-        if ($3473) {
-         $3474 = $32;
-         $20 = $3474;
-         break;
-        } else {
-         $19 = $18;
-         $20 = 128;
-         break;
-        }
-       }
-      } while(0);
-      $3475 = $31;
-      $3476 = (0)<($3475>>>0);
-      if ($3476) {
-       $3477 = $31;
-       $3478 = $20;
-       $3479 = ($3477>>>0)<=($3478>>>0);
-       if ($3479) {
-        $3480 = $19;
-        $3481 = $5;
-        $3482 = $2;
-        (_yysyntax_error($3480,$3481,$3482)|0);
-        $3483 = $1;
-        $3484 = $19;
-        _yyerror($3483,$3484);
-        break;
-       }
-      }
-      $3485 = $1;
-      _yyerror($3485,59902);
-      $3486 = $31;
-      $3487 = ($3486|0)!=(0);
-      if ($3487) {
-       label = 538;
-       break L1;
-      }
-     }
-    } while(0);
-    $3488 = $6;
-    $3489 = ($3488|0)==(3);
-    do {
-     if ($3489) {
-      $3490 = $2;
-      $3491 = ($3490|0)<=(0);
-      if ($3491) {
-       $3492 = $2;
-       $3493 = ($3492|0)==(0);
-       if ($3493) {
-        label = 537;
-        break L1;
-       } else {
-        break;
-       }
-      } else {
-       $3494 = $16;
-       $3495 = $1;
-       _yydestruct(59915,$3494,$3,$3495);
-       $2 = -2;
-       break;
-      }
-     }
-    } while(0);
-    $6 = 3;
-    while(1) {
-     $3496 = $5;
-     $3497 = (3344 + ($3496<<1)|0);
-     $3498 = HEAP16[$3497>>1]|0;
-     $3499 = $3498 << 16 >> 16;
-     $14 = $3499;
-     $3500 = $14;
-     $3501 = ($3500|0)!=(-771);
-     if ($3501) {
-      $3502 = $14;
-      $3503 = (($3502) + 1)|0;
-      $14 = $3503;
-      $3504 = $14;
-      $3505 = (0)<=($3504|0);
-      $3506 = $14;
-      $3507 = ($3506|0)<=(10639);
-      $or$cond18 = $3505 & $3507;
-      if ($or$cond18) {
-       $3508 = $14;
-       $3509 = (5280 + ($3508<<1)|0);
-       $3510 = HEAP16[$3509>>1]|0;
-       $3511 = $3510 << 16 >> 16;
-       $3512 = ($3511|0)==(1);
-       if ($3512) {
-        $3513 = $14;
-        $3514 = (26560 + ($3513<<1)|0);
-        $3515 = HEAP16[$3514>>1]|0;
-        $3516 = $3515 << 16 >> 16;
-        $14 = $3516;
-        $3517 = $14;
-        $3518 = (0)<($3517|0);
-        if ($3518) {
-         break;
-        }
-       }
-      }
-     }
-     $3519 = $9;
-     $3520 = $8;
-     $3521 = ($3519|0)==($3520|0);
-     if ($3521) {
-      label = 537;
-      break L1;
-     }
-     $3522 = $5;
-     $3523 = (51532 + ($3522<<1)|0);
-     $3524 = HEAP16[$3523>>1]|0;
-     $3525 = $3524&65535;
-     $3526 = $12;
-     $3527 = $1;
-     _yydestruct(59933,$3525,$3526,$3527);
-     $3528 = $12;
-     $3529 = ((($3528)) + -4|0);
-     $12 = $3529;
-     $3530 = $9;
-     $3531 = ((($3530)) + -2|0);
-     $9 = $3531;
-     $3532 = $9;
-     $3533 = HEAP16[$3532>>1]|0;
-     $3534 = $3533 << 16 >> 16;
-     $5 = $3534;
-    }
-    $3535 = $12;
-    $3536 = ((($3535)) + 4|0);
-    $12 = $3536;
-    ;HEAP32[$3536>>2]=HEAP32[$3>>2]|0;
-    $3537 = $14;
-    $5 = $3537;
-   }
-  } while(0);
-  $35 = $9;
-  $36 = ((($35)) + 2|0);
-  $9 = $36;
- }
- if ((label|0) == 536) {
-  $15 = 0;
- }
- else if ((label|0) == 537) {
-  $15 = 1;
- }
- else if ((label|0) == 538) {
-  $3538 = $1;
-  _yyerror($3538,59948);
-  $15 = 2;
- }
- $3539 = $2;
- $3540 = ($3539|0)!=(-2);
- if ($3540) {
-  $3541 = $16;
-  $3542 = $1;
-  _yydestruct(59965,$3541,$3,$3542);
- }
- $3543 = $21;
- $3544 = $12;
- $3545 = (0 - ($3543))|0;
- $3546 = (($3544) + ($3545<<2)|0);
- $12 = $3546;
- $3547 = $21;
- $3548 = $9;
- $3549 = (0 - ($3547))|0;
- $3550 = (($3548) + ($3549<<1)|0);
- $9 = $3550;
- while(1) {
-  $3551 = $9;
-  $3552 = $8;
-  $3553 = ($3551|0)!=($3552|0);
-  if (!($3553)) {
-   break;
-  }
-  $3554 = $9;
-  $3555 = HEAP16[$3554>>1]|0;
-  $3556 = $3555 << 16 >> 16;
-  $3557 = (51532 + ($3556<<1)|0);
-  $3558 = HEAP16[$3557>>1]|0;
-  $3559 = $3558&65535;
-  $3560 = $12;
-  $3561 = $1;
-  _yydestruct(59995,$3559,$3560,$3561);
-  $3562 = $12;
-  $3563 = ((($3562)) + -4|0);
-  $12 = $3563;
-  $3564 = $9;
-  $3565 = ((($3564)) + -2|0);
-  $9 = $3565;
- }
- $3566 = $8;
- $3567 = ($3566|0)!=($7|0);
- if ($3567) {
-  $3568 = $1;
-  $3569 = HEAP32[$3568>>2]|0;
-  $3570 = $8;
-  _mrb_free($3569,$3570);
- }
- $3571 = $19;
- $3572 = ($3571|0)!=($18|0);
- if (!($3572)) {
-  $3576 = $15;
-  STACKTOP = sp;return ($3576|0);
- }
- $3573 = $1;
- $3574 = HEAP32[$3573>>2]|0;
- $3575 = $19;
- _mrb_free($3574,$3575);
- $3576 = $15;
- STACKTOP = sp;return ($3576|0);
-}
-function _new_nil($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_list1_gen($2,(86))|0);
- STACKTOP = sp;return ($3|0);
-}
-function _parser_update_cxt($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $6 = 0;
- $7 = $3;
- $8 = ($7|0)!=(0|0);
- if (!($8)) {
-  STACKTOP = sp;return;
- }
- $9 = $2;
- $10 = ((($9)) + 1144|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12;
- $14 = ($13|0)!=(3);
- if ($14) {
-  STACKTOP = sp;return;
- }
- $15 = $2;
- $16 = ((($15)) + 1144|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ((($17)) + 4|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = HEAP32[$19>>2]|0;
- $4 = $20;
- $5 = $20;
- while(1) {
-  $21 = $4;
-  $22 = ($21|0)!=(0|0);
-  if (!($22)) {
-   break;
-  }
-  $23 = $6;
-  $24 = (($23) + 1)|0;
-  $6 = $24;
-  $25 = $4;
-  $26 = ((($25)) + 4|0);
-  $27 = HEAP32[$26>>2]|0;
-  $4 = $27;
- }
- $28 = $2;
- $29 = HEAP32[$28>>2]|0;
- $30 = $3;
- $31 = HEAP32[$30>>2]|0;
- $32 = $6;
- $33 = $32<<2;
- $34 = (_mrb_realloc($29,$31,$33)|0);
- $35 = $3;
- HEAP32[$35>>2] = $34;
- $36 = $6;
- $37 = $3;
- $38 = ((($37)) + 4|0);
- HEAP32[$38>>2] = $36;
- $6 = 0;
- $39 = $5;
- $4 = $39;
- while(1) {
-  $40 = $4;
-  $41 = ($40|0)!=(0|0);
-  if (!($41)) {
-   break;
-  }
-  $42 = $4;
-  $43 = HEAP32[$42>>2]|0;
-  $44 = $43;
-  $45 = $3;
-  $46 = HEAP32[$45>>2]|0;
-  $47 = $6;
-  $48 = (($46) + ($47<<2)|0);
-  HEAP32[$48>>2] = $44;
-  $49 = $6;
-  $50 = (($49) + 1)|0;
-  $6 = $50;
-  $51 = $4;
-  $52 = ((($51)) + 4|0);
-  $53 = HEAP32[$52>>2]|0;
-  $4 = $53;
- }
- STACKTOP = sp;return;
-}
-function _mrb_parser_dump($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0;
- var $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0;
- var $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0;
- var $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0;
- var $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0;
- var $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0;
- var $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0;
- var $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0;
- var $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0;
- var $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0;
- var $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0;
- var $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0;
- var $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0;
- var $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0;
- var $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0;
- var $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0;
- var $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
- var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
- var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0;
- var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0;
- var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
- var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
- var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
- var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
- var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
- var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0;
- var $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0;
- var $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0;
- var $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0;
- var $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0;
- var $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0;
- var $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0;
- var $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0;
- var $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0;
- var $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0;
- var $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0;
- var $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0;
- var $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0;
- var $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0;
- var $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0;
- var $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0;
- var $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0;
- var $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0;
- var $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0;
- var $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0;
- var $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0;
- var $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0;
- var $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0;
- var $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0;
- var $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0;
- var $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0;
- var $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0;
- var $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0;
- var $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0;
- var $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0;
- var $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0;
- var $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0;
- var $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0;
- var $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0;
- var $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0;
- var $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0;
- var $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0;
- var $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0;
- var $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0;
- var $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer102 = 0, $vararg_buffer104 = 0, $vararg_buffer106 = 0, $vararg_buffer108 = 0, $vararg_buffer11 = 0, $vararg_buffer110 = 0, $vararg_buffer112 = 0, $vararg_buffer115 = 0;
- var $vararg_buffer118 = 0, $vararg_buffer120 = 0, $vararg_buffer122 = 0, $vararg_buffer124 = 0, $vararg_buffer126 = 0, $vararg_buffer128 = 0, $vararg_buffer13 = 0, $vararg_buffer130 = 0, $vararg_buffer132 = 0, $vararg_buffer134 = 0, $vararg_buffer136 = 0, $vararg_buffer138 = 0, $vararg_buffer140 = 0, $vararg_buffer142 = 0, $vararg_buffer144 = 0, $vararg_buffer146 = 0, $vararg_buffer148 = 0, $vararg_buffer15 = 0, $vararg_buffer150 = 0, $vararg_buffer152 = 0;
- var $vararg_buffer156 = 0, $vararg_buffer158 = 0, $vararg_buffer160 = 0, $vararg_buffer162 = 0, $vararg_buffer164 = 0, $vararg_buffer166 = 0, $vararg_buffer168 = 0, $vararg_buffer17 = 0, $vararg_buffer170 = 0, $vararg_buffer172 = 0, $vararg_buffer174 = 0, $vararg_buffer176 = 0, $vararg_buffer179 = 0, $vararg_buffer182 = 0, $vararg_buffer185 = 0, $vararg_buffer188 = 0, $vararg_buffer19 = 0, $vararg_buffer191 = 0, $vararg_buffer193 = 0, $vararg_buffer195 = 0;
- var $vararg_buffer197 = 0, $vararg_buffer200 = 0, $vararg_buffer203 = 0, $vararg_buffer206 = 0, $vararg_buffer208 = 0, $vararg_buffer21 = 0, $vararg_buffer212 = 0, $vararg_buffer215 = 0, $vararg_buffer217 = 0, $vararg_buffer221 = 0, $vararg_buffer223 = 0, $vararg_buffer227 = 0, $vararg_buffer229 = 0, $vararg_buffer23 = 0, $vararg_buffer233 = 0, $vararg_buffer235 = 0, $vararg_buffer238 = 0, $vararg_buffer241 = 0, $vararg_buffer244 = 0, $vararg_buffer246 = 0;
- var $vararg_buffer248 = 0, $vararg_buffer25 = 0, $vararg_buffer250 = 0, $vararg_buffer252 = 0, $vararg_buffer256 = 0, $vararg_buffer258 = 0, $vararg_buffer261 = 0, $vararg_buffer263 = 0, $vararg_buffer265 = 0, $vararg_buffer268 = 0, $vararg_buffer27 = 0, $vararg_buffer271 = 0, $vararg_buffer274 = 0, $vararg_buffer276 = 0, $vararg_buffer278 = 0, $vararg_buffer280 = 0, $vararg_buffer283 = 0, $vararg_buffer286 = 0, $vararg_buffer289 = 0, $vararg_buffer29 = 0;
- var $vararg_buffer291 = 0, $vararg_buffer293 = 0, $vararg_buffer295 = 0, $vararg_buffer297 = 0, $vararg_buffer3 = 0, $vararg_buffer300 = 0, $vararg_buffer302 = 0, $vararg_buffer304 = 0, $vararg_buffer307 = 0, $vararg_buffer309 = 0, $vararg_buffer31 = 0, $vararg_buffer311 = 0, $vararg_buffer313 = 0, $vararg_buffer316 = 0, $vararg_buffer319 = 0, $vararg_buffer321 = 0, $vararg_buffer324 = 0, $vararg_buffer326 = 0, $vararg_buffer329 = 0, $vararg_buffer331 = 0;
- var $vararg_buffer333 = 0, $vararg_buffer336 = 0, $vararg_buffer339 = 0, $vararg_buffer34 = 0, $vararg_buffer341 = 0, $vararg_buffer344 = 0, $vararg_buffer346 = 0, $vararg_buffer348 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer41 = 0, $vararg_buffer43 = 0, $vararg_buffer45 = 0, $vararg_buffer47 = 0, $vararg_buffer49 = 0, $vararg_buffer5 = 0, $vararg_buffer51 = 0, $vararg_buffer53 = 0, $vararg_buffer55 = 0, $vararg_buffer57 = 0;
- var $vararg_buffer59 = 0, $vararg_buffer61 = 0, $vararg_buffer63 = 0, $vararg_buffer65 = 0, $vararg_buffer67 = 0, $vararg_buffer69 = 0, $vararg_buffer7 = 0, $vararg_buffer71 = 0, $vararg_buffer73 = 0, $vararg_buffer75 = 0, $vararg_buffer77 = 0, $vararg_buffer79 = 0, $vararg_buffer81 = 0, $vararg_buffer83 = 0, $vararg_buffer85 = 0, $vararg_buffer87 = 0, $vararg_buffer89 = 0, $vararg_buffer9 = 0, $vararg_buffer91 = 0, $vararg_buffer94 = 0;
- var $vararg_buffer96 = 0, $vararg_buffer98 = 0, $vararg_ptr101 = 0, $vararg_ptr155 = 0, $vararg_ptr211 = 0, $vararg_ptr220 = 0, $vararg_ptr226 = 0, $vararg_ptr232 = 0, $vararg_ptr255 = 0, $vararg_ptr351 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 1296|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1296|0);
- $vararg_buffer348 = sp + 1208|0;
- $vararg_buffer346 = sp + 1200|0;
- $vararg_buffer344 = sp + 1192|0;
- $vararg_buffer341 = sp + 1184|0;
- $vararg_buffer339 = sp + 1176|0;
- $vararg_buffer336 = sp + 1168|0;
- $vararg_buffer333 = sp + 1160|0;
- $vararg_buffer331 = sp + 1152|0;
- $vararg_buffer329 = sp + 1144|0;
- $vararg_buffer326 = sp + 1136|0;
- $vararg_buffer324 = sp + 1128|0;
- $vararg_buffer321 = sp + 1120|0;
- $vararg_buffer319 = sp + 1112|0;
- $vararg_buffer316 = sp + 1104|0;
- $vararg_buffer313 = sp + 1096|0;
- $vararg_buffer311 = sp + 1088|0;
- $vararg_buffer309 = sp + 1080|0;
- $vararg_buffer307 = sp + 1072|0;
- $vararg_buffer304 = sp + 1064|0;
- $vararg_buffer302 = sp + 1056|0;
- $vararg_buffer300 = sp + 1048|0;
- $vararg_buffer297 = sp + 1040|0;
- $vararg_buffer295 = sp + 1032|0;
- $vararg_buffer293 = sp + 1024|0;
- $vararg_buffer291 = sp + 1016|0;
- $vararg_buffer289 = sp + 1008|0;
- $vararg_buffer286 = sp + 1000|0;
- $vararg_buffer283 = sp + 992|0;
- $vararg_buffer280 = sp + 984|0;
- $vararg_buffer278 = sp + 976|0;
- $vararg_buffer276 = sp + 968|0;
- $vararg_buffer274 = sp + 960|0;
- $vararg_buffer271 = sp + 952|0;
- $vararg_buffer268 = sp + 944|0;
- $vararg_buffer265 = sp + 936|0;
- $vararg_buffer263 = sp + 928|0;
- $vararg_buffer261 = sp + 920|0;
- $vararg_buffer258 = sp + 912|0;
- $vararg_buffer256 = sp + 904|0;
- $vararg_buffer252 = sp + 896|0;
- $vararg_buffer250 = sp + 888|0;
- $vararg_buffer248 = sp + 880|0;
- $vararg_buffer246 = sp + 872|0;
- $vararg_buffer244 = sp + 864|0;
- $vararg_buffer241 = sp + 856|0;
- $vararg_buffer238 = sp + 848|0;
- $vararg_buffer235 = sp + 840|0;
- $vararg_buffer233 = sp + 832|0;
- $vararg_buffer229 = sp + 824|0;
- $vararg_buffer227 = sp + 816|0;
- $vararg_buffer223 = sp + 808|0;
- $vararg_buffer221 = sp + 800|0;
- $vararg_buffer217 = sp + 792|0;
- $vararg_buffer215 = sp + 784|0;
- $vararg_buffer212 = sp + 776|0;
- $vararg_buffer208 = sp + 768|0;
- $vararg_buffer206 = sp + 760|0;
- $vararg_buffer203 = sp + 752|0;
- $vararg_buffer200 = sp + 744|0;
- $vararg_buffer197 = sp + 736|0;
- $vararg_buffer195 = sp + 728|0;
- $vararg_buffer193 = sp + 720|0;
- $vararg_buffer191 = sp + 712|0;
- $vararg_buffer188 = sp + 704|0;
- $vararg_buffer185 = sp + 696|0;
- $vararg_buffer182 = sp + 688|0;
- $vararg_buffer179 = sp + 680|0;
- $vararg_buffer176 = sp + 672|0;
- $vararg_buffer174 = sp + 664|0;
- $vararg_buffer172 = sp + 656|0;
- $vararg_buffer170 = sp + 648|0;
- $vararg_buffer168 = sp + 640|0;
- $vararg_buffer166 = sp + 632|0;
- $vararg_buffer164 = sp + 624|0;
- $vararg_buffer162 = sp + 616|0;
- $vararg_buffer160 = sp + 608|0;
- $vararg_buffer158 = sp + 600|0;
- $vararg_buffer156 = sp + 592|0;
- $vararg_buffer152 = sp + 584|0;
- $vararg_buffer150 = sp + 576|0;
- $vararg_buffer148 = sp + 568|0;
- $vararg_buffer146 = sp + 560|0;
- $vararg_buffer144 = sp + 552|0;
- $vararg_buffer142 = sp + 544|0;
- $vararg_buffer140 = sp + 536|0;
- $vararg_buffer138 = sp + 528|0;
- $vararg_buffer136 = sp + 520|0;
- $vararg_buffer134 = sp + 512|0;
- $vararg_buffer132 = sp + 504|0;
- $vararg_buffer130 = sp + 496|0;
- $vararg_buffer128 = sp + 488|0;
- $vararg_buffer126 = sp + 480|0;
- $vararg_buffer124 = sp + 472|0;
- $vararg_buffer122 = sp + 464|0;
- $vararg_buffer120 = sp + 456|0;
- $vararg_buffer118 = sp + 448|0;
- $vararg_buffer115 = sp + 440|0;
- $vararg_buffer112 = sp + 432|0;
- $vararg_buffer110 = sp + 424|0;
- $vararg_buffer108 = sp + 416|0;
- $vararg_buffer106 = sp + 408|0;
- $vararg_buffer104 = sp + 400|0;
- $vararg_buffer102 = sp + 392|0;
- $vararg_buffer98 = sp + 384|0;
- $vararg_buffer96 = sp + 376|0;
- $vararg_buffer94 = sp + 368|0;
- $vararg_buffer91 = sp + 360|0;
- $vararg_buffer89 = sp + 352|0;
- $vararg_buffer87 = sp + 344|0;
- $vararg_buffer85 = sp + 336|0;
- $vararg_buffer83 = sp + 328|0;
- $vararg_buffer81 = sp + 320|0;
- $vararg_buffer79 = sp + 312|0;
- $vararg_buffer77 = sp + 304|0;
- $vararg_buffer75 = sp + 296|0;
- $vararg_buffer73 = sp + 288|0;
- $vararg_buffer71 = sp + 280|0;
- $vararg_buffer69 = sp + 272|0;
- $vararg_buffer67 = sp + 264|0;
- $vararg_buffer65 = sp + 256|0;
- $vararg_buffer63 = sp + 248|0;
- $vararg_buffer61 = sp + 240|0;
- $vararg_buffer59 = sp + 232|0;
- $vararg_buffer57 = sp + 224|0;
- $vararg_buffer55 = sp + 216|0;
- $vararg_buffer53 = sp + 208|0;
- $vararg_buffer51 = sp + 200|0;
- $vararg_buffer49 = sp + 192|0;
- $vararg_buffer47 = sp + 184|0;
- $vararg_buffer45 = sp + 176|0;
- $vararg_buffer43 = sp + 168|0;
- $vararg_buffer41 = sp + 160|0;
- $vararg_buffer39 = sp + 152|0;
- $vararg_buffer36 = sp + 144|0;
- $vararg_buffer34 = sp + 136|0;
- $vararg_buffer31 = sp + 128|0;
- $vararg_buffer29 = sp + 120|0;
- $vararg_buffer27 = sp + 112|0;
- $vararg_buffer25 = sp + 104|0;
- $vararg_buffer23 = sp + 96|0;
- $vararg_buffer21 = sp + 88|0;
- $vararg_buffer19 = sp + 80|0;
- $vararg_buffer17 = sp + 72|0;
- $vararg_buffer15 = sp + 64|0;
- $vararg_buffer13 = sp + 56|0;
- $vararg_buffer11 = sp + 48|0;
- $vararg_buffer9 = sp + 40|0;
- $vararg_buffer7 = sp + 32|0;
- $vararg_buffer5 = sp + 24|0;
- $vararg_buffer3 = sp + 16|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $22 = $4;
- $23 = ($22|0)!=(0|0);
- if (!($23)) {
-  STACKTOP = sp;return;
- }
- L3: while(1) {
-  $24 = $4;
-  $25 = $5;
-  _dump_prefix($24,$25);
-  $26 = $4;
-  $27 = HEAP32[$26>>2]|0;
-  $28 = $27;
-  $6 = $28;
-  $29 = $4;
-  $30 = ((($29)) + 4|0);
-  $31 = HEAP32[$30>>2]|0;
-  $4 = $31;
-  $32 = $6;
-  switch ($32|0) {
-  case 17:  {
-   label = 3;
-   break L3;
-   break;
-  }
-  case 18:  {
-   label = 4;
-   break L3;
-   break;
-  }
-  case 19:  {
-   label = 18;
-   break L3;
-   break;
-  }
-  case 53:  {
-   label = 19;
-   break L3;
-   break;
-  }
-  case 4:  {
-   break L3;
-   break;
-  }
-  case 5:  {
-   label = 34;
-   break L3;
-   break;
-  }
-  case 20:  {
-   label = 36;
-   break L3;
-   break;
-  }
-  case 21:  {
-   label = 37;
-   break L3;
-   break;
-  }
-  case 6:  {
-   label = 38;
-   break L3;
-   break;
-  }
-  case 9:  {
-   label = 43;
-   break L3;
-   break;
-  }
-  case 10:  {
-   label = 44;
-   break L3;
-   break;
-  }
-  case 12:  {
-   label = 45;
-   break L3;
-   break;
-  }
-  case 29: case 30:  {
-   label = 66;
-   break L3;
-   break;
-  }
-  case 80:  {
-   label = 69;
-   break L3;
-   break;
-  }
-  case 81:  {
-   label = 70;
-   break L3;
-   break;
-  }
-  case 77:  {
-   label = 71;
-   break L3;
-   break;
-  }
-  case 78:  {
-   label = 72;
-   break L3;
-   break;
-  }
-  case 34:  {
-   label = 73;
-   break L3;
-   break;
-  }
-  case 36:  {
-   label = 74;
-   break L3;
-   break;
-  }
-  case 66:  {
-   label = 77;
-   break L3;
-   break;
-  }
-  case 24:  {
-   label = 78;
-   break L3;
-   break;
-  }
-  case 23:  {
-   label = 79;
-   break L3;
-   break;
-  }
-  case 28:  {
-   label = 90;
-   break L3;
-   break;
-  }
-  case 32:  {
-   label = 91;
-   break L3;
-   break;
-  }
-  case 33:  {
-   label = 94;
-   break L3;
-   break;
-  }
-  case 37:  {
-   label = 95;
-   break L3;
-   break;
-  }
-  case 38:  {
-   label = 96;
-   break L3;
-   break;
-  }
-  case 13:  {
-   label = 97;
-   break L3;
-   break;
-  }
-  case 14:  {
-   label = 98;
-   break L3;
-   break;
-  }
-  case 15:  {
-   label = 99;
-   break L3;
-   break;
-  }
-  case 16:  {
-   label = 100;
-   break L3;
-   break;
-  }
-  case 39:  {
-   label = 101;
-   break L3;
-   break;
-  }
-  case 41:  {
-   label = 102;
-   break L3;
-   break;
-  }
-  case 42:  {
-   label = 103;
-   break L3;
-   break;
-  }
-  case 44:  {
-   label = 104;
-   break L3;
-   break;
-  }
-  case 43:  {
-   label = 105;
-   break L3;
-   break;
-  }
-  case 47:  {
-   label = 106;
-   break L3;
-   break;
-  }
-  case 46:  {
-   label = 107;
-   break L3;
-   break;
-  }
-  case 45:  {
-   label = 108;
-   break L3;
-   break;
-  }
-  case 63:  {
-   label = 109;
-   break L3;
-   break;
-  }
-  case 69:  {
-   label = 110;
-   break L3;
-   break;
-  }
-  case 50:  {
-   label = 111;
-   break L3;
-   break;
-  }
-  case 51:  {
-   label = 112;
-   break L3;
-   break;
-  }
-  case 52:  {
-   label = 113;
-   break L3;
-   break;
-  }
-  case 55:  {
-   label = 114;
-   break L3;
-   break;
-  }
-  case 56:  {
-   label = 115;
-   break L3;
-   break;
-  }
-  case 57:  {
-   label = 116;
-   break L3;
-   break;
-  }
-  case 58:  {
-   label = 117;
-   break L3;
-   break;
-  }
-  case 59:  {
-   label = 118;
-   break L3;
-   break;
-  }
-  case 60:  {
-   label = 119;
-   break L3;
-   break;
-  }
-  case 54:  {
-   label = 120;
-   break L3;
-   break;
-  }
-  case 85:  {
-   label = 121;
-   break L3;
-   break;
-  }
-  case 86:  {
-   label = 122;
-   break L3;
-   break;
-  }
-  case 87:  {
-   label = 123;
-   break L3;
-   break;
-  }
-  case 88:  {
-   label = 124;
-   break L3;
-   break;
-  }
-  case 72:  {
-   label = 125;
-   break L3;
-   break;
-  }
-  case 73:  {
-   label = 126;
-   break L3;
-   break;
-  }
-  case 74:  {
-   label = 130;
-   break L3;
-   break;
-  }
-  case 75:  {
-   label = 138;
-   break L3;
-   break;
-  }
-  case 76:  {
-   label = 144;
-   break L3;
-   break;
-  }
-  case 70:  {
-   label = 145;
-   break L3;
-   break;
-  }
-  case 71:  {
-   label = 170;
-   break L3;
-   break;
-  }
-  case 91:  {
-   label = 184;
-   break L3;
-   break;
-  }
-  case 99:  {
-   label = 185;
-   break L3;
-   break;
-  }
-  case 3:  {
-   break;
-  }
-  default: {
-   label = 186;
-   break L3;
-  }
-  }
-  (_printf(57509,$vararg_buffer85)|0);
-  $441 = $4;
-  $442 = HEAP32[$441>>2]|0;
-  $12 = $442;
-  $13 = 1;
-  $443 = $12;
-  $444 = ($443|0)!=(0|0);
-  do {
-   if ($444) {
-    $445 = $12;
-    $446 = HEAP32[$445>>2]|0;
-    $447 = ($446|0)!=(0|0);
-    if (!($447)) {
-     $448 = $12;
-     $449 = ((($448)) + 4|0);
-     $450 = HEAP32[$449>>2]|0;
-     $451 = ($450|0)!=(0|0);
-     if (!($451)) {
-      break;
-     }
-    }
-    $452 = $12;
-    $453 = $5;
-    $454 = (($453) + 1)|0;
-    _dump_prefix($452,$454);
-    (_printf(57522,$vararg_buffer87)|0);
-    $455 = $12;
-    $456 = $5;
-    $457 = (($456) + 2)|0;
-    _dump_prefix($455,$457);
-    while(1) {
-     $458 = $12;
-     $459 = ($458|0)!=(0|0);
-     if (!($459)) {
-      break;
-     }
-     $460 = $12;
-     $461 = HEAP32[$460>>2]|0;
-     $462 = ($461|0)!=(0|0);
-     if ($462) {
-      $463 = $13;
-      $464 = ($463<<24>>24)!=(0);
-      if (!($464)) {
-       (_printf(57540,$vararg_buffer89)|0);
-      }
-      $465 = $3;
-      $466 = $12;
-      $467 = HEAP32[$466>>2]|0;
-      $468 = $467;
-      $469 = (_mrb_sym2name($465,$468)|0);
-      HEAP32[$vararg_buffer91>>2] = $469;
-      (_printf(57543,$vararg_buffer91)|0);
-      $13 = 0;
-     }
-     $470 = $12;
-     $471 = ((($470)) + 4|0);
-     $472 = HEAP32[$471>>2]|0;
-     $12 = $472;
-    }
-    (_printf(67789,$vararg_buffer94)|0);
-   }
-  } while(0);
-  $473 = $4;
-  $474 = ((($473)) + 4|0);
-  $475 = HEAP32[$474>>2]|0;
-  $4 = $475;
-  $476 = $5;
-  $477 = (($476) + 1)|0;
-  $5 = $477;
- }
- switch (label|0) {
-  case 3: {
-   (_printf(57167,$vararg_buffer)|0);
-   $33 = $3;
-   $34 = $4;
-   $35 = $5;
-   $36 = (($35) + 1)|0;
-   _dump_recur($33,$34,$36);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 4: {
-   (_printf(57180,$vararg_buffer1)|0);
-   $37 = $4;
-   $38 = HEAP32[$37>>2]|0;
-   $39 = ($38|0)!=(0|0);
-   if ($39) {
-    $40 = $4;
-    $41 = $5;
-    $42 = (($41) + 1)|0;
-    _dump_prefix($40,$42);
-    (_printf(57194,$vararg_buffer3)|0);
-    $43 = $3;
-    $44 = $4;
-    $45 = HEAP32[$44>>2]|0;
-    $46 = $5;
-    $47 = (($46) + 2)|0;
-    _mrb_parser_dump($43,$45,$47);
-   }
-   $48 = $4;
-   $49 = ((($48)) + 4|0);
-   $50 = HEAP32[$49>>2]|0;
-   $4 = $50;
-   $51 = $4;
-   $52 = HEAP32[$51>>2]|0;
-   $53 = ($52|0)!=(0|0);
-   L31: do {
-    if ($53) {
-     $54 = $4;
-     $55 = HEAP32[$54>>2]|0;
-     $7 = $55;
-     $56 = $7;
-     $57 = $5;
-     $58 = (($57) + 1)|0;
-     _dump_prefix($56,$58);
-     (_printf(57201,$vararg_buffer5)|0);
-     while(1) {
-      $59 = $7;
-      $60 = ($59|0)!=(0|0);
-      if (!($60)) {
-       break L31;
-      }
-      $61 = $7;
-      $62 = HEAP32[$61>>2]|0;
-      $8 = $62;
-      $63 = $8;
-      $64 = HEAP32[$63>>2]|0;
-      $65 = ($64|0)!=(0|0);
-      if ($65) {
-       $66 = $7;
-       $67 = $5;
-       $68 = (($67) + 2)|0;
-       _dump_prefix($66,$68);
-       (_printf(57210,$vararg_buffer7)|0);
-       $69 = $3;
-       $70 = $8;
-       $71 = HEAP32[$70>>2]|0;
-       $72 = $5;
-       $73 = (($72) + 3)|0;
-       _dump_recur($69,$71,$73);
-      }
-      $74 = $8;
-      $75 = ((($74)) + 4|0);
-      $76 = HEAP32[$75>>2]|0;
-      $77 = HEAP32[$76>>2]|0;
-      $78 = ($77|0)!=(0|0);
-      if ($78) {
-       $79 = $8;
-       $80 = $5;
-       $81 = (($80) + 2)|0;
-       _dump_prefix($79,$81);
-       (_printf(57227,$vararg_buffer9)|0);
-       $82 = $3;
-       $83 = $8;
-       $84 = ((($83)) + 4|0);
-       $85 = HEAP32[$84>>2]|0;
-       $86 = HEAP32[$85>>2]|0;
-       $87 = $5;
-       $88 = (($87) + 3)|0;
-       _mrb_parser_dump($82,$86,$88);
-      }
-      $89 = $8;
-      $90 = ((($89)) + 4|0);
-      $91 = HEAP32[$90>>2]|0;
-      $92 = ((($91)) + 4|0);
-      $93 = HEAP32[$92>>2]|0;
-      $94 = HEAP32[$93>>2]|0;
-      $95 = ($94|0)!=(0|0);
-      if ($95) {
-       $96 = $8;
-       $97 = $5;
-       $98 = (($97) + 2)|0;
-       _dump_prefix($96,$98);
-       (_printf(57237,$vararg_buffer11)|0);
-       $99 = $3;
-       $100 = $8;
-       $101 = ((($100)) + 4|0);
-       $102 = HEAP32[$101>>2]|0;
-       $103 = ((($102)) + 4|0);
-       $104 = HEAP32[$103>>2]|0;
-       $105 = HEAP32[$104>>2]|0;
-       $106 = $5;
-       $107 = (($106) + 3)|0;
-       _mrb_parser_dump($99,$105,$107);
-      }
-      $108 = $7;
-      $109 = ((($108)) + 4|0);
-      $110 = HEAP32[$109>>2]|0;
-      $7 = $110;
-     }
-    }
-   } while(0);
-   $111 = $4;
-   $112 = ((($111)) + 4|0);
-   $113 = HEAP32[$112>>2]|0;
-   $4 = $113;
-   $114 = $4;
-   $115 = HEAP32[$114>>2]|0;
-   $116 = ($115|0)!=(0|0);
-   if (!($116)) {
-    STACKTOP = sp;return;
-   }
-   $117 = $4;
-   $118 = $5;
-   $119 = (($118) + 1)|0;
-   _dump_prefix($117,$119);
-   (_printf(57251,$vararg_buffer13)|0);
-   $120 = $3;
-   $121 = $4;
-   $122 = HEAP32[$121>>2]|0;
-   $123 = $5;
-   $124 = (($123) + 2)|0;
-   _mrb_parser_dump($120,$122,$124);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 18: {
-   (_printf(57258,$vararg_buffer15)|0);
-   $125 = $4;
-   $126 = $5;
-   $127 = (($126) + 1)|0;
-   _dump_prefix($125,$127);
-   (_printf(57194,$vararg_buffer17)|0);
-   $128 = $3;
-   $129 = $4;
-   $130 = HEAP32[$129>>2]|0;
-   $131 = $5;
-   $132 = (($131) + 2)|0;
-   _mrb_parser_dump($128,$130,$132);
-   $133 = $4;
-   $134 = $5;
-   $135 = (($134) + 1)|0;
-   _dump_prefix($133,$135);
-   (_printf(57272,$vararg_buffer19)|0);
-   $136 = $3;
-   $137 = $4;
-   $138 = ((($137)) + 4|0);
-   $139 = HEAP32[$138>>2]|0;
-   $140 = ((($139)) + 4|0);
-   $141 = HEAP32[$140>>2]|0;
-   $142 = $5;
-   $143 = (($142) + 2)|0;
-   _mrb_parser_dump($136,$141,$143);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 19: {
-   (_printf(57281,$vararg_buffer21)|0);
-   break;
-  }
-  case 34: {
-   (_printf(57372,$vararg_buffer41)|0);
-   $243 = $4;
-   $244 = $5;
-   $245 = (($244) + 1)|0;
-   _dump_prefix($243,$245);
-   (_printf(57382,$vararg_buffer43)|0);
-   $246 = $3;
-   $247 = $4;
-   $248 = HEAP32[$247>>2]|0;
-   $249 = $5;
-   $250 = (($249) + 2)|0;
-   _mrb_parser_dump($246,$248,$250);
-   $251 = $4;
-   $252 = $5;
-   $253 = (($252) + 1)|0;
-   _dump_prefix($251,$253);
-   (_printf(57389,$vararg_buffer45)|0);
-   $254 = $3;
-   $255 = $4;
-   $256 = ((($255)) + 4|0);
-   $257 = HEAP32[$256>>2]|0;
-   $258 = HEAP32[$257>>2]|0;
-   $259 = $5;
-   $260 = (($259) + 2)|0;
-   _mrb_parser_dump($254,$258,$260);
-   $261 = $4;
-   $262 = ((($261)) + 4|0);
-   $263 = HEAP32[$262>>2]|0;
-   $264 = ((($263)) + 4|0);
-   $265 = HEAP32[$264>>2]|0;
-   $266 = HEAP32[$265>>2]|0;
-   $267 = ($266|0)!=(0|0);
-   if (!($267)) {
-    STACKTOP = sp;return;
-   }
-   $268 = $4;
-   $269 = $5;
-   $270 = (($269) + 1)|0;
-   _dump_prefix($268,$270);
-   (_printf(57251,$vararg_buffer47)|0);
-   $271 = $3;
-   $272 = $4;
-   $273 = ((($272)) + 4|0);
-   $274 = HEAP32[$273>>2]|0;
-   $275 = ((($274)) + 4|0);
-   $276 = HEAP32[$275>>2]|0;
-   $277 = HEAP32[$276>>2]|0;
-   $278 = $5;
-   $279 = (($278) + 2)|0;
-   _mrb_parser_dump($271,$277,$279);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 36: {
-   (_printf(57396,$vararg_buffer49)|0);
-   $280 = $3;
-   $281 = $4;
-   $282 = HEAP32[$281>>2]|0;
-   $283 = $5;
-   $284 = (($283) + 1)|0;
-   _mrb_parser_dump($280,$282,$284);
-   $285 = $3;
-   $286 = $4;
-   $287 = ((($286)) + 4|0);
-   $288 = HEAP32[$287>>2]|0;
-   $289 = $5;
-   $290 = (($289) + 1)|0;
-   _mrb_parser_dump($285,$288,$290);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 37: {
-   (_printf(57407,$vararg_buffer51)|0);
-   $291 = $3;
-   $292 = $4;
-   $293 = HEAP32[$292>>2]|0;
-   $294 = $5;
-   $295 = (($294) + 1)|0;
-   _mrb_parser_dump($291,$293,$295);
-   $296 = $3;
-   $297 = $4;
-   $298 = ((($297)) + 4|0);
-   $299 = HEAP32[$298>>2]|0;
-   $300 = $5;
-   $301 = (($300) + 1)|0;
-   _mrb_parser_dump($296,$299,$301);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 38: {
-   (_printf(57417,$vararg_buffer53)|0);
-   $302 = $4;
-   $303 = HEAP32[$302>>2]|0;
-   $304 = ($303|0)!=(0|0);
-   if ($304) {
-    $305 = $3;
-    $306 = $4;
-    $307 = HEAP32[$306>>2]|0;
-    $308 = $5;
-    $309 = (($308) + 1)|0;
-    _mrb_parser_dump($305,$307,$309);
-   }
-   $310 = $4;
-   $311 = ((($310)) + 4|0);
-   $312 = HEAP32[$311>>2]|0;
-   $4 = $312;
-   while(1) {
-    $313 = $4;
-    $314 = ($313|0)!=(0|0);
-    if (!($314)) {
-     break;
-    }
-    $315 = $4;
-    $316 = $5;
-    $317 = (($316) + 1)|0;
-    _dump_prefix($315,$317);
-    (_printf(57429,$vararg_buffer55)|0);
-    $318 = $3;
-    $319 = $4;
-    $320 = HEAP32[$319>>2]|0;
-    $321 = HEAP32[$320>>2]|0;
-    $322 = $5;
-    $323 = (($322) + 2)|0;
-    _dump_recur($318,$321,$323);
-    $324 = $4;
-    $325 = $5;
-    $326 = (($325) + 1)|0;
-    _dump_prefix($324,$326);
-    (_printf(57194,$vararg_buffer57)|0);
-    $327 = $3;
-    $328 = $4;
-    $329 = HEAP32[$328>>2]|0;
-    $330 = ((($329)) + 4|0);
-    $331 = HEAP32[$330>>2]|0;
-    $332 = $5;
-    $333 = (($332) + 2)|0;
-    _mrb_parser_dump($327,$331,$333);
-    $334 = $4;
-    $335 = ((($334)) + 4|0);
-    $336 = HEAP32[$335>>2]|0;
-    $4 = $336;
-   }
-   STACKTOP = sp;return;
-   break;
-  }
-  case 43: {
-   (_printf(57436,$vararg_buffer59)|0);
-   $337 = $4;
-   $338 = $5;
-   $339 = (($338) + 1)|0;
-   _dump_prefix($337,$339);
-   (_printf(57382,$vararg_buffer61)|0);
-   $340 = $3;
-   $341 = $4;
-   $342 = HEAP32[$341>>2]|0;
-   $343 = $5;
-   $344 = (($343) + 2)|0;
-   _mrb_parser_dump($340,$342,$344);
-   $345 = $4;
-   $346 = $5;
-   $347 = (($346) + 1)|0;
-   _dump_prefix($345,$347);
-   (_printf(57194,$vararg_buffer63)|0);
-   $348 = $3;
-   $349 = $4;
-   $350 = ((($349)) + 4|0);
-   $351 = HEAP32[$350>>2]|0;
-   $352 = $5;
-   $353 = (($352) + 2)|0;
-   _mrb_parser_dump($348,$351,$353);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 44: {
-   (_printf(57449,$vararg_buffer65)|0);
-   $354 = $4;
-   $355 = $5;
-   $356 = (($355) + 1)|0;
-   _dump_prefix($354,$356);
-   (_printf(57382,$vararg_buffer67)|0);
-   $357 = $3;
-   $358 = $4;
-   $359 = HEAP32[$358>>2]|0;
-   $360 = $5;
-   $361 = (($360) + 2)|0;
-   _mrb_parser_dump($357,$359,$361);
-   $362 = $4;
-   $363 = $5;
-   $364 = (($363) + 1)|0;
-   _dump_prefix($362,$364);
-   (_printf(57194,$vararg_buffer69)|0);
-   $365 = $3;
-   $366 = $4;
-   $367 = ((($366)) + 4|0);
-   $368 = HEAP32[$367>>2]|0;
-   $369 = $5;
-   $370 = (($369) + 2)|0;
-   _mrb_parser_dump($365,$368,$370);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 45: {
-   (_printf(57462,$vararg_buffer71)|0);
-   $371 = $4;
-   $372 = $5;
-   $373 = (($372) + 1)|0;
-   _dump_prefix($371,$373);
-   (_printf(57473,$vararg_buffer73)|0);
-   $374 = $4;
-   $375 = HEAP32[$374>>2]|0;
-   $11 = $375;
-   $376 = $11;
-   $377 = HEAP32[$376>>2]|0;
-   $378 = ($377|0)!=(0|0);
-   if ($378) {
-    $379 = $11;
-    $380 = $5;
-    $381 = (($380) + 2)|0;
-    _dump_prefix($379,$381);
-    (_printf(57479,$vararg_buffer75)|0);
-    $382 = $3;
-    $383 = $11;
-    $384 = HEAP32[$383>>2]|0;
-    $385 = $5;
-    $386 = (($385) + 3)|0;
-    _dump_recur($382,$384,$386);
-   }
-   $387 = $11;
-   $388 = ((($387)) + 4|0);
-   $389 = HEAP32[$388>>2]|0;
-   $11 = $389;
-   $390 = $11;
-   $391 = ($390|0)!=(0|0);
-   if ($391) {
-    $392 = $11;
-    $393 = HEAP32[$392>>2]|0;
-    $394 = ($393|0)!=(0|0);
-    if ($394) {
-     $395 = $11;
-     $396 = $5;
-     $397 = (($396) + 2)|0;
-     _dump_prefix($395,$397);
-     (_printf(57485,$vararg_buffer77)|0);
-     $398 = $3;
-     $399 = $11;
-     $400 = HEAP32[$399>>2]|0;
-     $401 = $5;
-     $402 = (($401) + 3)|0;
-     _mrb_parser_dump($398,$400,$402);
-    }
-    $403 = $11;
-    $404 = ((($403)) + 4|0);
-    $405 = HEAP32[$404>>2]|0;
-    $11 = $405;
-    $406 = $11;
-    $407 = ($406|0)!=(0|0);
-    if ($407) {
-     $408 = $11;
-     $409 = HEAP32[$408>>2]|0;
-     $410 = ($409|0)!=(0|0);
-     if ($410) {
-      $411 = $11;
-      $412 = $5;
-      $413 = (($412) + 2)|0;
-      _dump_prefix($411,$413);
-      (_printf(57492,$vararg_buffer79)|0);
-      $414 = $3;
-      $415 = $11;
-      $416 = HEAP32[$415>>2]|0;
-      $417 = $5;
-      $418 = (($417) + 3)|0;
-      _dump_recur($414,$416,$418);
-     }
-    }
-   }
-   $419 = $4;
-   $420 = ((($419)) + 4|0);
-   $421 = HEAP32[$420>>2]|0;
-   $4 = $421;
-   $422 = $4;
-   $423 = $5;
-   $424 = (($423) + 1)|0;
-   _dump_prefix($422,$424);
-   (_printf(57499,$vararg_buffer81)|0);
-   $425 = $3;
-   $426 = $4;
-   $427 = HEAP32[$426>>2]|0;
-   $428 = $5;
-   $429 = (($428) + 2)|0;
-   _mrb_parser_dump($425,$427,$429);
-   $430 = $4;
-   $431 = ((($430)) + 4|0);
-   $432 = HEAP32[$431>>2]|0;
-   $4 = $432;
-   $433 = $4;
-   $434 = $5;
-   $435 = (($434) + 1)|0;
-   _dump_prefix($433,$435);
-   (_printf(57504,$vararg_buffer83)|0);
-   $436 = $3;
-   $437 = $4;
-   $438 = HEAP32[$437>>2]|0;
-   $439 = $5;
-   $440 = (($439) + 2)|0;
-   _mrb_parser_dump($436,$438,$440);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 66: {
-   (_printf(57546,$vararg_buffer96)|0);
-   $478 = $3;
-   $479 = $4;
-   $480 = HEAP32[$479>>2]|0;
-   $481 = $5;
-   $482 = (($481) + 1)|0;
-   _mrb_parser_dump($478,$480,$482);
-   $483 = $4;
-   $484 = $5;
-   $485 = (($484) + 1)|0;
-   _dump_prefix($483,$485);
-   $486 = $3;
-   $487 = $4;
-   $488 = ((($487)) + 4|0);
-   $489 = HEAP32[$488>>2]|0;
-   $490 = HEAP32[$489>>2]|0;
-   $491 = $490;
-   $492 = (_mrb_sym2name($486,$491)|0);
-   $493 = $4;
-   $494 = ((($493)) + 4|0);
-   $495 = HEAP32[$494>>2]|0;
-   $496 = HEAP32[$495>>2]|0;
-   $497 = $496;
-   HEAP32[$vararg_buffer98>>2] = $492;
-   $vararg_ptr101 = ((($vararg_buffer98)) + 4|0);
-   HEAP32[$vararg_ptr101>>2] = $497;
-   (_printf(57558,$vararg_buffer98)|0);
-   $498 = $4;
-   $499 = ((($498)) + 4|0);
-   $500 = HEAP32[$499>>2]|0;
-   $501 = ((($500)) + 4|0);
-   $502 = HEAP32[$501>>2]|0;
-   $503 = HEAP32[$502>>2]|0;
-   $4 = $503;
-   $504 = $4;
-   $505 = ($504|0)!=(0|0);
-   if (!($505)) {
-    STACKTOP = sp;return;
-   }
-   $506 = $4;
-   $507 = $5;
-   $508 = (($507) + 1)|0;
-   _dump_prefix($506,$508);
-   (_printf(57576,$vararg_buffer102)|0);
-   $509 = $3;
-   $510 = $4;
-   $511 = HEAP32[$510>>2]|0;
-   $512 = $5;
-   $513 = (($512) + 2)|0;
-   _dump_recur($509,$511,$513);
-   $514 = $4;
-   $515 = ((($514)) + 4|0);
-   $516 = HEAP32[$515>>2]|0;
-   $517 = ($516|0)!=(0|0);
-   if (!($517)) {
-    STACKTOP = sp;return;
-   }
-   $518 = $4;
-   $519 = $5;
-   $520 = (($519) + 1)|0;
-   _dump_prefix($518,$520);
-   (_printf(57583,$vararg_buffer104)|0);
-   $521 = $3;
-   $522 = $4;
-   $523 = ((($522)) + 4|0);
-   $524 = HEAP32[$523>>2]|0;
-   $525 = $5;
-   $526 = (($525) + 2)|0;
-   _mrb_parser_dump($521,$524,$526);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 69: {
-   (_printf(57591,$vararg_buffer106)|0);
-   $527 = $3;
-   $528 = $4;
-   $529 = HEAP32[$528>>2]|0;
-   $530 = $5;
-   $531 = (($530) + 1)|0;
-   _mrb_parser_dump($527,$529,$531);
-   $532 = $3;
-   $533 = $4;
-   $534 = ((($533)) + 4|0);
-   $535 = HEAP32[$534>>2]|0;
-   $536 = $5;
-   $537 = (($536) + 1)|0;
-   _mrb_parser_dump($532,$535,$537);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 70: {
-   (_printf(57603,$vararg_buffer108)|0);
-   $538 = $3;
-   $539 = $4;
-   $540 = HEAP32[$539>>2]|0;
-   $541 = $5;
-   $542 = (($541) + 1)|0;
-   _mrb_parser_dump($538,$540,$542);
-   $543 = $3;
-   $544 = $4;
-   $545 = ((($544)) + 4|0);
-   $546 = HEAP32[$545>>2]|0;
-   $547 = $5;
-   $548 = (($547) + 1)|0;
-   _mrb_parser_dump($543,$546,$548);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 71: {
-   (_printf(57615,$vararg_buffer110)|0);
-   $549 = $3;
-   $550 = $4;
-   $551 = HEAP32[$550>>2]|0;
-   $552 = $5;
-   $553 = (($552) + 1)|0;
-   _mrb_parser_dump($549,$551,$553);
-   $554 = $4;
-   $555 = $5;
-   $556 = (($555) + 1)|0;
-   _dump_prefix($554,$556);
-   $557 = $3;
-   $558 = $4;
-   $559 = ((($558)) + 4|0);
-   $560 = HEAP32[$559>>2]|0;
-   $561 = $560;
-   $562 = (_mrb_sym2name($557,$561)|0);
-   HEAP32[$vararg_buffer112>>2] = $562;
-   (_printf(57629,$vararg_buffer112)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 72: {
-   $563 = $3;
-   $564 = $4;
-   $565 = $564;
-   $566 = (_mrb_sym2name($563,$565)|0);
-   HEAP32[$vararg_buffer115>>2] = $566;
-   (_printf(57635,$vararg_buffer115)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 73: {
-   (_printf(57654,$vararg_buffer118)|0);
-   $567 = $3;
-   $568 = $4;
-   $569 = $5;
-   $570 = (($569) + 1)|0;
-   _dump_recur($567,$568,$570);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 74: {
-   (_printf(57667,$vararg_buffer120)|0);
-   while(1) {
-    $571 = $4;
-    $572 = ($571|0)!=(0|0);
-    if (!($572)) {
-     break;
-    }
-    $573 = $4;
-    $574 = $5;
-    $575 = (($574) + 1)|0;
-    _dump_prefix($573,$575);
-    (_printf(57679,$vararg_buffer122)|0);
-    $576 = $3;
-    $577 = $4;
-    $578 = HEAP32[$577>>2]|0;
-    $579 = HEAP32[$578>>2]|0;
-    $580 = $5;
-    $581 = (($580) + 2)|0;
-    _mrb_parser_dump($576,$579,$581);
-    $582 = $4;
-    $583 = $5;
-    $584 = (($583) + 1)|0;
-    _dump_prefix($582,$584);
-    (_printf(57685,$vararg_buffer124)|0);
-    $585 = $3;
-    $586 = $4;
-    $587 = HEAP32[$586>>2]|0;
-    $588 = ((($587)) + 4|0);
-    $589 = HEAP32[$588>>2]|0;
-    $590 = $5;
-    $591 = (($590) + 2)|0;
-    _mrb_parser_dump($585,$589,$591);
-    $592 = $4;
-    $593 = ((($592)) + 4|0);
-    $594 = HEAP32[$593>>2]|0;
-    $4 = $594;
-   }
-   STACKTOP = sp;return;
-   break;
-  }
-  case 77: {
-   (_printf(57693,$vararg_buffer126)|0);
-   $595 = $3;
-   $596 = $4;
-   $597 = $5;
-   $598 = (($597) + 1)|0;
-   _mrb_parser_dump($595,$596,$598);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 78: {
-   (_printf(57706,$vararg_buffer128)|0);
-   $599 = $4;
-   $600 = $5;
-   $601 = (($600) + 1)|0;
-   _dump_prefix($599,$601);
-   (_printf(57718,$vararg_buffer130)|0);
-   $602 = $3;
-   $603 = $4;
-   $604 = HEAP32[$603>>2]|0;
-   $605 = $5;
-   $606 = (($605) + 2)|0;
-   _mrb_parser_dump($602,$604,$606);
-   $607 = $4;
-   $608 = $5;
-   $609 = (($608) + 1)|0;
-   _dump_prefix($607,$609);
-   (_printf(57724,$vararg_buffer132)|0);
-   $610 = $3;
-   $611 = $4;
-   $612 = ((($611)) + 4|0);
-   $613 = HEAP32[$612>>2]|0;
-   $614 = $5;
-   $615 = (($614) + 2)|0;
-   _mrb_parser_dump($610,$613,$615);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 79: {
-   (_printf(57730,$vararg_buffer134)|0);
-   $616 = $4;
-   $617 = $5;
-   $618 = (($617) + 1)|0;
-   _dump_prefix($616,$618);
-   (_printf(57743,$vararg_buffer136)|0);
-   $619 = $4;
-   $620 = HEAP32[$619>>2]|0;
-   $14 = $620;
-   $621 = $14;
-   $622 = HEAP32[$621>>2]|0;
-   $623 = ($622|0)!=(0|0);
-   if ($623) {
-    $624 = $4;
-    $625 = $5;
-    $626 = (($625) + 2)|0;
-    _dump_prefix($624,$626);
-    (_printf(57479,$vararg_buffer138)|0);
-    $627 = $3;
-    $628 = $14;
-    $629 = HEAP32[$628>>2]|0;
-    $630 = $5;
-    $631 = (($630) + 3)|0;
-    _dump_recur($627,$629,$631);
-   }
-   $632 = $14;
-   $633 = ((($632)) + 4|0);
-   $634 = HEAP32[$633>>2]|0;
-   $14 = $634;
-   $635 = $14;
-   $636 = ($635|0)!=(0|0);
-   if ($636) {
-    $637 = $14;
-    $638 = HEAP32[$637>>2]|0;
-    $639 = ($638|0)!=(0|0);
-    do {
-     if ($639) {
-      $640 = $14;
-      $641 = $5;
-      $642 = (($641) + 2)|0;
-      _dump_prefix($640,$642);
-      (_printf(57485,$vararg_buffer140)|0);
-      $643 = $14;
-      $644 = HEAP32[$643>>2]|0;
-      $645 = ($644|0)==((-1)|0);
-      if ($645) {
-       $646 = $14;
-       $647 = $5;
-       $648 = (($647) + 2)|0;
-       _dump_prefix($646,$648);
-       (_printf(57750,$vararg_buffer142)|0);
-       break;
-      } else {
-       $649 = $3;
-       $650 = $14;
-       $651 = HEAP32[$650>>2]|0;
-       $652 = $5;
-       $653 = (($652) + 3)|0;
-       _mrb_parser_dump($649,$651,$653);
-       break;
-      }
-     }
-    } while(0);
-    $654 = $14;
-    $655 = ((($654)) + 4|0);
-    $656 = HEAP32[$655>>2]|0;
-    $14 = $656;
-    $657 = $14;
-    $658 = ($657|0)!=(0|0);
-    if ($658) {
-     $659 = $14;
-     $660 = HEAP32[$659>>2]|0;
-     $661 = ($660|0)!=(0|0);
-     if ($661) {
-      $662 = $14;
-      $663 = $5;
-      $664 = (($663) + 2)|0;
-      _dump_prefix($662,$664);
-      (_printf(57492,$vararg_buffer144)|0);
-      $665 = $3;
-      $666 = $14;
-      $667 = HEAP32[$666>>2]|0;
-      $668 = $5;
-      $669 = (($668) + 3)|0;
-      _dump_recur($665,$667,$669);
-     }
-    }
-   }
-   $670 = $4;
-   $671 = $5;
-   $672 = (($671) + 1)|0;
-   _dump_prefix($670,$672);
-   (_printf(57724,$vararg_buffer146)|0);
-   $673 = $3;
-   $674 = $4;
-   $675 = ((($674)) + 4|0);
-   $676 = HEAP32[$675>>2]|0;
-   $677 = $5;
-   $678 = (($677) + 2)|0;
-   _mrb_parser_dump($673,$676,$678);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 90: {
-   (_printf(57759,$vararg_buffer148)|0);
-   $679 = $4;
-   $680 = $5;
-   $681 = (($680) + 1)|0;
-   _dump_prefix($679,$681);
-   (_printf(57718,$vararg_buffer150)|0);
-   $682 = $3;
-   $683 = $4;
-   $684 = HEAP32[$683>>2]|0;
-   $685 = $5;
-   $686 = (($685) + 2)|0;
-   _mrb_parser_dump($682,$684,$686);
-   $687 = $4;
-   $688 = ((($687)) + 4|0);
-   $689 = HEAP32[$688>>2]|0;
-   $4 = $689;
-   $690 = $4;
-   $691 = $5;
-   $692 = (($691) + 1)|0;
-   _dump_prefix($690,$692);
-   $693 = $3;
-   $694 = $4;
-   $695 = HEAP32[$694>>2]|0;
-   $696 = $695;
-   $697 = (_mrb_sym2name($693,$696)|0);
-   $698 = $4;
-   $699 = HEAP32[$698>>2]|0;
-   $700 = $699;
-   HEAP32[$vararg_buffer152>>2] = $697;
-   $vararg_ptr155 = ((($vararg_buffer152)) + 4|0);
-   HEAP32[$vararg_ptr155>>2] = $700;
-   (_printf(57774,$vararg_buffer152)|0);
-   $701 = $4;
-   $702 = ((($701)) + 4|0);
-   $703 = HEAP32[$702>>2]|0;
-   $4 = $703;
-   $704 = $3;
-   $705 = $4;
-   $706 = HEAP32[$705>>2]|0;
-   $707 = $5;
-   $708 = (($707) + 1)|0;
-   _mrb_parser_dump($704,$706,$708);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 91: {
-   (_printf(57788,$vararg_buffer156)|0);
-   $709 = $4;
-   $710 = ($709|0)!=(0|0);
-   if (!($710)) {
-    STACKTOP = sp;return;
-   }
-   $711 = $4;
-   $712 = $5;
-   $713 = (($712) + 1)|0;
-   _dump_prefix($711,$713);
-   (_printf(57576,$vararg_buffer158)|0);
-   $714 = $3;
-   $715 = $4;
-   $716 = HEAP32[$715>>2]|0;
-   $717 = $5;
-   $718 = (($717) + 2)|0;
-   _dump_recur($714,$716,$718);
-   $719 = $4;
-   $720 = ((($719)) + 4|0);
-   $721 = HEAP32[$720>>2]|0;
-   $722 = ($721|0)!=(0|0);
-   if (!($722)) {
-    STACKTOP = sp;return;
-   }
-   $723 = $4;
-   $724 = $5;
-   $725 = (($724) + 1)|0;
-   _dump_prefix($723,$725);
-   (_printf(57583,$vararg_buffer160)|0);
-   $726 = $3;
-   $727 = $4;
-   $728 = ((($727)) + 4|0);
-   $729 = HEAP32[$728>>2]|0;
-   $730 = $5;
-   $731 = (($730) + 2)|0;
-   _mrb_parser_dump($726,$729,$731);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 94: {
-   (_printf(57801,$vararg_buffer162)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 95: {
-   (_printf(57814,$vararg_buffer164)|0);
-   $732 = $3;
-   $733 = $4;
-   $734 = $5;
-   $735 = (($734) + 1)|0;
-   _mrb_parser_dump($732,$733,$735);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 96: {
-   (_printf(57828,$vararg_buffer166)|0);
-   $736 = $3;
-   $737 = $4;
-   $738 = $5;
-   $739 = (($738) + 1)|0;
-   _dump_recur($736,$737,$739);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 97: {
-   (_printf(57841,$vararg_buffer168)|0);
-   $740 = $3;
-   $741 = $4;
-   $742 = $5;
-   $743 = (($742) + 1)|0;
-   _mrb_parser_dump($740,$741,$743);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 98: {
-   (_printf(57854,$vararg_buffer170)|0);
-   $744 = $3;
-   $745 = $4;
-   $746 = $5;
-   $747 = (($746) + 1)|0;
-   _mrb_parser_dump($744,$745,$747);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 99: {
-   (_printf(57866,$vararg_buffer172)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 100: {
-   (_printf(57877,$vararg_buffer174)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 101: {
-   $748 = $3;
-   $749 = $4;
-   $750 = $749;
-   $751 = (_mrb_sym2name($748,$750)|0);
-   HEAP32[$vararg_buffer176>>2] = $751;
-   (_printf(57889,$vararg_buffer176)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 102: {
-   $752 = $3;
-   $753 = $4;
-   $754 = $753;
-   $755 = (_mrb_sym2name($752,$754)|0);
-   HEAP32[$vararg_buffer179>>2] = $755;
-   (_printf(57903,$vararg_buffer179)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 103: {
-   $756 = $3;
-   $757 = $4;
-   $758 = $757;
-   $759 = (_mrb_sym2name($756,$758)|0);
-   HEAP32[$vararg_buffer182>>2] = $759;
-   (_printf(57917,$vararg_buffer182)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 104: {
-   $760 = $3;
-   $761 = $4;
-   $762 = $761;
-   $763 = (_mrb_sym2name($760,$762)|0);
-   HEAP32[$vararg_buffer185>>2] = $763;
-   (_printf(57931,$vararg_buffer185)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 105: {
-   $764 = $3;
-   $765 = $4;
-   $766 = $765;
-   $767 = (_mrb_sym2name($764,$766)|0);
-   HEAP32[$vararg_buffer188>>2] = $767;
-   (_printf(57945,$vararg_buffer188)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 106: {
-   (_printf(57960,$vararg_buffer191)|0);
-   $768 = $4;
-   $769 = $5;
-   $770 = (($769) + 1)|0;
-   _dump_prefix($768,$770);
-   (_printf(57718,$vararg_buffer193)|0);
-   $771 = $3;
-   $772 = $4;
-   $773 = HEAP32[$772>>2]|0;
-   $774 = $5;
-   $775 = (($774) + 2)|0;
-   _mrb_parser_dump($771,$773,$775);
-   $776 = $4;
-   $777 = $5;
-   $778 = (($777) + 1)|0;
-   _dump_prefix($776,$778);
-   (_printf(57724,$vararg_buffer195)|0);
-   $779 = $3;
-   $780 = $4;
-   $781 = ((($780)) + 4|0);
-   $782 = HEAP32[$781>>2]|0;
-   $783 = $5;
-   $784 = (($783) + 2)|0;
-   _mrb_parser_dump($779,$782,$784);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 107: {
-   $785 = $4;
-   $786 = $785;
-   HEAP32[$vararg_buffer197>>2] = $786;
-   (_printf(57973,$vararg_buffer197)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 108: {
-   $787 = $4;
-   $788 = $787;
-   HEAP32[$vararg_buffer200>>2] = $788;
-   (_printf(57993,$vararg_buffer200)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 109: {
-   $789 = $3;
-   $790 = $4;
-   $791 = $790;
-   $792 = (_mrb_sym2name($789,$791)|0);
-   HEAP32[$vararg_buffer203>>2] = $792;
-   (_printf(58012,$vararg_buffer203)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 110: {
-   (_printf(58025,$vararg_buffer206)|0);
-   $793 = $3;
-   $794 = $4;
-   $795 = $5;
-   $796 = (($795) + 1)|0;
-   _mrb_parser_dump($793,$794,$796);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 111: {
-   $797 = $4;
-   $798 = HEAP32[$797>>2]|0;
-   $799 = $4;
-   $800 = ((($799)) + 4|0);
-   $801 = HEAP32[$800>>2]|0;
-   $802 = HEAP32[$801>>2]|0;
-   $803 = $802;
-   HEAP32[$vararg_buffer208>>2] = $798;
-   $vararg_ptr211 = ((($vararg_buffer208)) + 4|0);
-   HEAP32[$vararg_ptr211>>2] = $803;
-   (_printf(58042,$vararg_buffer208)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 112: {
-   $804 = $4;
-   HEAP32[$vararg_buffer212>>2] = $804;
-   (_printf(58063,$vararg_buffer212)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 113: {
-   (_printf(58078,$vararg_buffer215)|0);
-   $805 = $3;
-   $806 = $4;
-   $807 = $5;
-   $808 = (($807) + 1)|0;
-   _mrb_parser_dump($805,$806,$808);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 114: {
-   $809 = $4;
-   $810 = HEAP32[$809>>2]|0;
-   $811 = $4;
-   $812 = ((($811)) + 4|0);
-   $813 = HEAP32[$812>>2]|0;
-   $814 = $813;
-   HEAP32[$vararg_buffer217>>2] = $810;
-   $vararg_ptr220 = ((($vararg_buffer217)) + 4|0);
-   HEAP32[$vararg_ptr220>>2] = $814;
-   (_printf(58091,$vararg_buffer217)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 115: {
-   (_printf(58113,$vararg_buffer221)|0);
-   $815 = $3;
-   $816 = $4;
-   $817 = $5;
-   $818 = (($817) + 1)|0;
-   _dump_recur($815,$816,$818);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 116: {
-   $819 = $4;
-   $820 = HEAP32[$819>>2]|0;
-   $821 = $4;
-   $822 = ((($821)) + 4|0);
-   $823 = HEAP32[$822>>2]|0;
-   $824 = $823;
-   HEAP32[$vararg_buffer223>>2] = $820;
-   $vararg_ptr226 = ((($vararg_buffer223)) + 4|0);
-   HEAP32[$vararg_ptr226>>2] = $824;
-   (_printf(58124,$vararg_buffer223)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 117: {
-   (_printf(58147,$vararg_buffer227)|0);
-   $825 = $3;
-   $826 = $4;
-   $827 = $5;
-   $828 = (($827) + 1)|0;
-   _dump_recur($825,$826,$828);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 118: {
-   $829 = $4;
-   $830 = HEAP32[$829>>2]|0;
-   $831 = $4;
-   $832 = ((($831)) + 4|0);
-   $833 = HEAP32[$832>>2]|0;
-   HEAP32[$vararg_buffer229>>2] = $830;
-   $vararg_ptr232 = ((($vararg_buffer229)) + 4|0);
-   HEAP32[$vararg_ptr232>>2] = $833;
-   (_printf(58159,$vararg_buffer229)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 119: {
-   (_printf(58177,$vararg_buffer233)|0);
-   $834 = $3;
-   $835 = $4;
-   $836 = HEAP32[$835>>2]|0;
-   $837 = $5;
-   $838 = (($837) + 1)|0;
-   _dump_recur($834,$836,$838);
-   $839 = $4;
-   $840 = $5;
-   _dump_prefix($839,$840);
-   $841 = $4;
-   $842 = ((($841)) + 4|0);
-   $843 = HEAP32[$842>>2]|0;
-   $844 = ((($843)) + 4|0);
-   $845 = HEAP32[$844>>2]|0;
-   $846 = HEAP32[$845>>2]|0;
-   HEAP32[$vararg_buffer235>>2] = $846;
-   (_printf(58189,$vararg_buffer235)|0);
-   $847 = $4;
-   $848 = $5;
-   _dump_prefix($847,$848);
-   $849 = $4;
-   $850 = ((($849)) + 4|0);
-   $851 = HEAP32[$850>>2]|0;
-   $852 = ((($851)) + 4|0);
-   $853 = HEAP32[$852>>2]|0;
-   $854 = ((($853)) + 4|0);
-   $855 = HEAP32[$854>>2]|0;
-   HEAP32[$vararg_buffer238>>2] = $855;
-   (_printf(58199,$vararg_buffer238)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 120: {
-   $856 = $3;
-   $857 = $4;
-   $858 = $857;
-   $859 = (_mrb_sym2name($856,$858)|0);
-   HEAP32[$vararg_buffer241>>2] = $859;
-   (_printf(58208,$vararg_buffer241)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 121: {
-   (_printf(58222,$vararg_buffer244)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 122: {
-   (_printf(58233,$vararg_buffer246)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 123: {
-   (_printf(58243,$vararg_buffer248)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 124: {
-   (_printf(58254,$vararg_buffer250)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 125: {
-   $860 = $3;
-   $861 = $4;
-   $862 = HEAP32[$861>>2]|0;
-   $863 = $862;
-   $864 = (_mrb_sym2name($860,$863)|0);
-   $865 = $3;
-   $866 = $4;
-   $867 = ((($866)) + 4|0);
-   $868 = HEAP32[$867>>2]|0;
-   $869 = $868;
-   $870 = (_mrb_sym2name($865,$869)|0);
-   HEAP32[$vararg_buffer252>>2] = $864;
-   $vararg_ptr255 = ((($vararg_buffer252)) + 4|0);
-   HEAP32[$vararg_ptr255>>2] = $870;
-   (_printf(58266,$vararg_buffer252)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 126: {
-   (_printf(58285,$vararg_buffer256)|0);
-   $871 = $4;
-   $15 = $871;
-   while(1) {
-    $872 = $15;
-    $873 = ($872|0)!=(0|0);
-    if (!($873)) {
-     break;
-    }
-    $874 = $3;
-    $875 = $15;
-    $876 = HEAP32[$875>>2]|0;
-    $877 = $876;
-    $878 = (_mrb_sym2name($874,$877)|0);
-    HEAP32[$vararg_buffer258>>2] = $878;
-    (_printf(58296,$vararg_buffer258)|0);
-    $879 = $15;
-    $880 = ((($879)) + 4|0);
-    $881 = HEAP32[$880>>2]|0;
-    $15 = $881;
-   }
-   (_printf(58300,$vararg_buffer261)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 130: {
-   (_printf(58303,$vararg_buffer263)|0);
-   $882 = $4;
-   $883 = HEAP32[$882>>2]|0;
-   $884 = HEAP32[$883>>2]|0;
-   $885 = ($884|0)==(0|0);
-   $886 = $4;
-   do {
-    if ($885) {
-     $887 = $5;
-     $888 = (($887) + 1)|0;
-     _dump_prefix($886,$888);
-     $889 = $3;
-     $890 = $4;
-     $891 = HEAP32[$890>>2]|0;
-     $892 = ((($891)) + 4|0);
-     $893 = HEAP32[$892>>2]|0;
-     $894 = $893;
-     $895 = (_mrb_sym2name($889,$894)|0);
-     HEAP32[$vararg_buffer265>>2] = $895;
-     (_printf(58316,$vararg_buffer265)|0);
-    } else {
-     $896 = HEAP32[$886>>2]|0;
-     $897 = HEAP32[$896>>2]|0;
-     $898 = ($897|0)==((1)|0);
-     if ($898) {
-      $899 = $4;
-      $900 = $5;
-      $901 = (($900) + 1)|0;
-      _dump_prefix($899,$901);
-      $902 = $3;
-      $903 = $4;
-      $904 = HEAP32[$903>>2]|0;
-      $905 = ((($904)) + 4|0);
-      $906 = HEAP32[$905>>2]|0;
-      $907 = $906;
-      $908 = (_mrb_sym2name($902,$907)|0);
-      HEAP32[$vararg_buffer268>>2] = $908;
-      (_printf(57629,$vararg_buffer268)|0);
-      break;
-     } else {
-      $909 = $3;
-      $910 = $4;
-      $911 = HEAP32[$910>>2]|0;
-      $912 = HEAP32[$911>>2]|0;
-      $913 = $5;
-      $914 = (($913) + 1)|0;
-      _mrb_parser_dump($909,$912,$914);
-      $915 = $4;
-      $916 = $5;
-      $917 = (($916) + 1)|0;
-      _dump_prefix($915,$917);
-      $918 = $3;
-      $919 = $4;
-      $920 = HEAP32[$919>>2]|0;
-      $921 = ((($920)) + 4|0);
-      $922 = HEAP32[$921>>2]|0;
-      $923 = $922;
-      $924 = (_mrb_sym2name($918,$923)|0);
-      HEAP32[$vararg_buffer271>>2] = $924;
-      (_printf(57629,$vararg_buffer271)|0);
-      break;
-     }
-    }
-   } while(0);
-   $925 = $4;
-   $926 = ((($925)) + 4|0);
-   $927 = HEAP32[$926>>2]|0;
-   $928 = HEAP32[$927>>2]|0;
-   $929 = ($928|0)!=(0|0);
-   if ($929) {
-    $930 = $4;
-    $931 = $5;
-    $932 = (($931) + 1)|0;
-    _dump_prefix($930,$932);
-    (_printf(58321,$vararg_buffer274)|0);
-    $933 = $3;
-    $934 = $4;
-    $935 = ((($934)) + 4|0);
-    $936 = HEAP32[$935>>2]|0;
-    $937 = HEAP32[$936>>2]|0;
-    $938 = $5;
-    $939 = (($938) + 2)|0;
-    _mrb_parser_dump($933,$937,$939);
-   }
-   $940 = $4;
-   $941 = $5;
-   $942 = (($941) + 1)|0;
-   _dump_prefix($940,$942);
-   (_printf(57194,$vararg_buffer276)|0);
-   $943 = $3;
-   $944 = $4;
-   $945 = ((($944)) + 4|0);
-   $946 = HEAP32[$945>>2]|0;
-   $947 = ((($946)) + 4|0);
-   $948 = HEAP32[$947>>2]|0;
-   $949 = HEAP32[$948>>2]|0;
-   $950 = ((($949)) + 4|0);
-   $951 = HEAP32[$950>>2]|0;
-   $952 = $5;
-   $953 = (($952) + 2)|0;
-   _mrb_parser_dump($943,$951,$953);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 138: {
-   (_printf(58329,$vararg_buffer278)|0);
-   $954 = $4;
-   $955 = HEAP32[$954>>2]|0;
-   $956 = HEAP32[$955>>2]|0;
-   $957 = ($956|0)==(0|0);
-   $958 = $4;
-   do {
-    if ($957) {
-     $959 = $5;
-     $960 = (($959) + 1)|0;
-     _dump_prefix($958,$960);
-     $961 = $3;
-     $962 = $4;
-     $963 = HEAP32[$962>>2]|0;
-     $964 = ((($963)) + 4|0);
-     $965 = HEAP32[$964>>2]|0;
-     $966 = $965;
-     $967 = (_mrb_sym2name($961,$966)|0);
-     HEAP32[$vararg_buffer280>>2] = $967;
-     (_printf(58316,$vararg_buffer280)|0);
-    } else {
-     $968 = HEAP32[$958>>2]|0;
-     $969 = HEAP32[$968>>2]|0;
-     $970 = ($969|0)==((1)|0);
-     if ($970) {
-      $971 = $4;
-      $972 = $5;
-      $973 = (($972) + 1)|0;
-      _dump_prefix($971,$973);
-      $974 = $3;
-      $975 = $4;
-      $976 = HEAP32[$975>>2]|0;
-      $977 = ((($976)) + 4|0);
-      $978 = HEAP32[$977>>2]|0;
-      $979 = $978;
-      $980 = (_mrb_sym2name($974,$979)|0);
-      HEAP32[$vararg_buffer283>>2] = $980;
-      (_printf(57629,$vararg_buffer283)|0);
-      break;
-     } else {
-      $981 = $3;
-      $982 = $4;
-      $983 = HEAP32[$982>>2]|0;
-      $984 = HEAP32[$983>>2]|0;
-      $985 = $5;
-      $986 = (($985) + 1)|0;
-      _mrb_parser_dump($981,$984,$986);
-      $987 = $4;
-      $988 = $5;
-      $989 = (($988) + 1)|0;
-      _dump_prefix($987,$989);
-      $990 = $3;
-      $991 = $4;
-      $992 = HEAP32[$991>>2]|0;
-      $993 = ((($992)) + 4|0);
-      $994 = HEAP32[$993>>2]|0;
-      $995 = $994;
-      $996 = (_mrb_sym2name($990,$995)|0);
-      HEAP32[$vararg_buffer286>>2] = $996;
-      (_printf(57629,$vararg_buffer286)|0);
-      break;
-     }
-    }
-   } while(0);
-   $997 = $4;
-   $998 = $5;
-   $999 = (($998) + 1)|0;
-   _dump_prefix($997,$999);
-   (_printf(57194,$vararg_buffer289)|0);
-   $1000 = $3;
-   $1001 = $4;
-   $1002 = ((($1001)) + 4|0);
-   $1003 = HEAP32[$1002>>2]|0;
-   $1004 = HEAP32[$1003>>2]|0;
-   $1005 = ((($1004)) + 4|0);
-   $1006 = HEAP32[$1005>>2]|0;
-   $1007 = $5;
-   $1008 = (($1007) + 2)|0;
-   _mrb_parser_dump($1000,$1006,$1008);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 144: {
-   (_printf(58343,$vararg_buffer291)|0);
-   $1009 = $3;
-   $1010 = $4;
-   $1011 = HEAP32[$1010>>2]|0;
-   $1012 = $5;
-   $1013 = (($1012) + 1)|0;
-   _mrb_parser_dump($1009,$1011,$1013);
-   $1014 = $4;
-   $1015 = $5;
-   $1016 = (($1015) + 1)|0;
-   _dump_prefix($1014,$1016);
-   (_printf(57194,$vararg_buffer293)|0);
-   $1017 = $3;
-   $1018 = $4;
-   $1019 = ((($1018)) + 4|0);
-   $1020 = HEAP32[$1019>>2]|0;
-   $1021 = HEAP32[$1020>>2]|0;
-   $1022 = ((($1021)) + 4|0);
-   $1023 = HEAP32[$1022>>2]|0;
-   $1024 = $5;
-   $1025 = (($1024) + 2)|0;
-   _mrb_parser_dump($1017,$1023,$1025);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 145: {
-   (_printf(58357,$vararg_buffer295)|0);
-   $1026 = $4;
-   $1027 = $5;
-   $1028 = (($1027) + 1)|0;
-   _dump_prefix($1026,$1028);
-   $1029 = $3;
-   $1030 = $4;
-   $1031 = HEAP32[$1030>>2]|0;
-   $1032 = $1031;
-   $1033 = (_mrb_sym2name($1029,$1032)|0);
-   HEAP32[$vararg_buffer297>>2] = $1033;
-   (_printf(58368,$vararg_buffer297)|0);
-   $1034 = $4;
-   $1035 = ((($1034)) + 4|0);
-   $1036 = HEAP32[$1035>>2]|0;
-   $4 = $1036;
-   $1037 = $4;
-   $1038 = HEAP32[$1037>>2]|0;
-   $16 = $1038;
-   $17 = 1;
-   $1039 = $16;
-   $1040 = ($1039|0)!=(0|0);
-   do {
-    if ($1040) {
-     $1041 = $16;
-     $1042 = HEAP32[$1041>>2]|0;
-     $1043 = ($1042|0)!=(0|0);
-     if (!($1043)) {
-      $1044 = $16;
-      $1045 = ((($1044)) + 4|0);
-      $1046 = HEAP32[$1045>>2]|0;
-      $1047 = ($1046|0)!=(0|0);
-      if (!($1047)) {
-       break;
-      }
-     }
-     $1048 = $16;
-     $1049 = $5;
-     $1050 = (($1049) + 1)|0;
-     _dump_prefix($1048,$1050);
-     (_printf(57522,$vararg_buffer300)|0);
-     $1051 = $16;
-     $1052 = $5;
-     $1053 = (($1052) + 2)|0;
-     _dump_prefix($1051,$1053);
-     while(1) {
-      $1054 = $16;
-      $1055 = ($1054|0)!=(0|0);
-      if (!($1055)) {
-       break;
-      }
-      $1056 = $16;
-      $1057 = HEAP32[$1056>>2]|0;
-      $1058 = ($1057|0)!=(0|0);
-      if ($1058) {
-       $1059 = $17;
-       $1060 = ($1059<<24>>24)!=(0);
-       if (!($1060)) {
-        (_printf(57540,$vararg_buffer302)|0);
-       }
-       $1061 = $3;
-       $1062 = $16;
-       $1063 = HEAP32[$1062>>2]|0;
-       $1064 = $1063;
-       $1065 = (_mrb_sym2name($1061,$1064)|0);
-       HEAP32[$vararg_buffer304>>2] = $1065;
-       (_printf(57543,$vararg_buffer304)|0);
-       $17 = 0;
-      }
-      $1066 = $16;
-      $1067 = ((($1066)) + 4|0);
-      $1068 = HEAP32[$1067>>2]|0;
-      $16 = $1068;
-     }
-     (_printf(67789,$vararg_buffer307)|0);
-    }
-   } while(0);
-   $1069 = $4;
-   $1070 = ((($1069)) + 4|0);
-   $1071 = HEAP32[$1070>>2]|0;
-   $4 = $1071;
-   $1072 = $4;
-   $1073 = HEAP32[$1072>>2]|0;
-   $1074 = ($1073|0)!=(0|0);
-   if ($1074) {
-    $1075 = $4;
-    $1076 = HEAP32[$1075>>2]|0;
-    $18 = $1076;
-    $1077 = $18;
-    $1078 = HEAP32[$1077>>2]|0;
-    $1079 = ($1078|0)!=(0|0);
-    if ($1079) {
-     $1080 = $18;
-     $1081 = $5;
-     $1082 = (($1081) + 1)|0;
-     _dump_prefix($1080,$1082);
-     (_printf(57294,$vararg_buffer309)|0);
-     $1083 = $3;
-     $1084 = $18;
-     $1085 = HEAP32[$1084>>2]|0;
-     $1086 = $5;
-     $1087 = (($1086) + 2)|0;
-     _dump_recur($1083,$1085,$1087);
-    }
-    $1088 = $18;
-    $1089 = ((($1088)) + 4|0);
-    $1090 = HEAP32[$1089>>2]|0;
-    $18 = $1090;
-    $1091 = $18;
-    $1092 = HEAP32[$1091>>2]|0;
-    $1093 = ($1092|0)!=(0|0);
-    L255: do {
-     if ($1093) {
-      $1094 = $18;
-      $1095 = $5;
-      $1096 = (($1095) + 1)|0;
-      _dump_prefix($1094,$1096);
-      (_printf(57311,$vararg_buffer311)|0);
-      $1097 = $18;
-      $1098 = HEAP32[$1097>>2]|0;
-      $19 = $1098;
-      while(1) {
-       $1099 = $19;
-       $1100 = ($1099|0)!=(0|0);
-       if (!($1100)) {
-        break L255;
-       }
-       $1101 = $19;
-       $1102 = $5;
-       $1103 = (($1102) + 2)|0;
-       _dump_prefix($1101,$1103);
-       $1104 = $3;
-       $1105 = $19;
-       $1106 = HEAP32[$1105>>2]|0;
-       $1107 = HEAP32[$1106>>2]|0;
-       $1108 = $1107;
-       $1109 = (_mrb_sym2name($1104,$1108)|0);
-       HEAP32[$vararg_buffer313>>2] = $1109;
-       (_printf(57327,$vararg_buffer313)|0);
-       $1110 = $3;
-       $1111 = $19;
-       $1112 = HEAP32[$1111>>2]|0;
-       $1113 = ((($1112)) + 4|0);
-       $1114 = HEAP32[$1113>>2]|0;
-       _mrb_parser_dump($1110,$1114,0);
-       $1115 = $19;
-       $1116 = ((($1115)) + 4|0);
-       $1117 = HEAP32[$1116>>2]|0;
-       $19 = $1117;
-      }
-     }
-    } while(0);
-    $1118 = $18;
-    $1119 = ((($1118)) + 4|0);
-    $1120 = HEAP32[$1119>>2]|0;
-    $18 = $1120;
-    $1121 = $18;
-    $1122 = HEAP32[$1121>>2]|0;
-    $1123 = ($1122|0)!=(0|0);
-    if ($1123) {
-     $1124 = $18;
-     $1125 = $5;
-     $1126 = (($1125) + 1)|0;
-     _dump_prefix($1124,$1126);
-     $1127 = $3;
-     $1128 = $18;
-     $1129 = HEAP32[$1128>>2]|0;
-     $1130 = $1129;
-     $1131 = (_mrb_sym2name($1127,$1130)|0);
-     HEAP32[$vararg_buffer316>>2] = $1131;
-     (_printf(57331,$vararg_buffer316)|0);
-    }
-    $1132 = $18;
-    $1133 = ((($1132)) + 4|0);
-    $1134 = HEAP32[$1133>>2]|0;
-    $18 = $1134;
-    $1135 = $18;
-    $1136 = HEAP32[$1135>>2]|0;
-    $1137 = ($1136|0)!=(0|0);
-    if ($1137) {
-     $1138 = $18;
-     $1139 = $5;
-     $1140 = (($1139) + 1)|0;
-     _dump_prefix($1138,$1140);
-     (_printf(57341,$vararg_buffer319)|0);
-     $1141 = $3;
-     $1142 = $18;
-     $1143 = HEAP32[$1142>>2]|0;
-     $1144 = $5;
-     $1145 = (($1144) + 2)|0;
-     _dump_recur($1141,$1143,$1145);
-    }
-    $1146 = $18;
-    $1147 = ((($1146)) + 4|0);
-    $1148 = HEAP32[$1147>>2]|0;
-    $1149 = ($1148|0)!=(0|0);
-    if ($1149) {
-     $1150 = $18;
-     $1151 = $5;
-     $1152 = (($1151) + 1)|0;
-     _dump_prefix($1150,$1152);
-     $1153 = $3;
-     $1154 = $18;
-     $1155 = ((($1154)) + 4|0);
-     $1156 = HEAP32[$1155>>2]|0;
-     $1157 = $1156;
-     $1158 = (_mrb_sym2name($1153,$1157)|0);
-     HEAP32[$vararg_buffer321>>2] = $1158;
-     (_printf(57363,$vararg_buffer321)|0);
-    }
-   }
-   $1159 = $3;
-   $1160 = $4;
-   $1161 = ((($1160)) + 4|0);
-   $1162 = HEAP32[$1161>>2]|0;
-   $1163 = HEAP32[$1162>>2]|0;
-   $1164 = $5;
-   $1165 = (($1164) + 1)|0;
-   _mrb_parser_dump($1159,$1163,$1165);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 170: {
-   (_printf(58372,$vararg_buffer324)|0);
-   $1166 = $3;
-   $1167 = $4;
-   $1168 = HEAP32[$1167>>2]|0;
-   $1169 = $5;
-   $1170 = (($1169) + 1)|0;
-   _mrb_parser_dump($1166,$1168,$1170);
-   $1171 = $4;
-   $1172 = ((($1171)) + 4|0);
-   $1173 = HEAP32[$1172>>2]|0;
-   $4 = $1173;
-   $1174 = $4;
-   $1175 = $5;
-   $1176 = (($1175) + 1)|0;
-   _dump_prefix($1174,$1176);
-   $1177 = $3;
-   $1178 = $4;
-   $1179 = HEAP32[$1178>>2]|0;
-   $1180 = $1179;
-   $1181 = (_mrb_sym2name($1177,$1180)|0);
-   HEAP32[$vararg_buffer326>>2] = $1181;
-   (_printf(58316,$vararg_buffer326)|0);
-   $1182 = $4;
-   $1183 = ((($1182)) + 4|0);
-   $1184 = HEAP32[$1183>>2]|0;
-   $1185 = ((($1184)) + 4|0);
-   $1186 = HEAP32[$1185>>2]|0;
-   $4 = $1186;
-   $1187 = $4;
-   $1188 = HEAP32[$1187>>2]|0;
-   $1189 = ($1188|0)!=(0|0);
-   if ($1189) {
-    $1190 = $4;
-    $1191 = HEAP32[$1190>>2]|0;
-    $20 = $1191;
-    $1192 = $20;
-    $1193 = HEAP32[$1192>>2]|0;
-    $1194 = ($1193|0)!=(0|0);
-    if ($1194) {
-     $1195 = $20;
-     $1196 = $5;
-     $1197 = (($1196) + 1)|0;
-     _dump_prefix($1195,$1197);
-     (_printf(57294,$vararg_buffer329)|0);
-     $1198 = $3;
-     $1199 = $20;
-     $1200 = HEAP32[$1199>>2]|0;
-     $1201 = $5;
-     $1202 = (($1201) + 2)|0;
-     _dump_recur($1198,$1200,$1202);
-    }
-    $1203 = $20;
-    $1204 = ((($1203)) + 4|0);
-    $1205 = HEAP32[$1204>>2]|0;
-    $20 = $1205;
-    $1206 = $20;
-    $1207 = HEAP32[$1206>>2]|0;
-    $1208 = ($1207|0)!=(0|0);
-    L276: do {
-     if ($1208) {
-      $1209 = $20;
-      $1210 = $5;
-      $1211 = (($1210) + 1)|0;
-      _dump_prefix($1209,$1211);
-      (_printf(57311,$vararg_buffer331)|0);
-      $1212 = $20;
-      $1213 = HEAP32[$1212>>2]|0;
-      $21 = $1213;
-      while(1) {
-       $1214 = $21;
-       $1215 = ($1214|0)!=(0|0);
-       if (!($1215)) {
-        break L276;
-       }
-       $1216 = $21;
-       $1217 = $5;
-       $1218 = (($1217) + 2)|0;
-       _dump_prefix($1216,$1218);
-       $1219 = $3;
-       $1220 = $21;
-       $1221 = HEAP32[$1220>>2]|0;
-       $1222 = HEAP32[$1221>>2]|0;
-       $1223 = $1222;
-       $1224 = (_mrb_sym2name($1219,$1223)|0);
-       HEAP32[$vararg_buffer333>>2] = $1224;
-       (_printf(57327,$vararg_buffer333)|0);
-       $1225 = $3;
-       $1226 = $21;
-       $1227 = HEAP32[$1226>>2]|0;
-       $1228 = ((($1227)) + 4|0);
-       $1229 = HEAP32[$1228>>2]|0;
-       _mrb_parser_dump($1225,$1229,0);
-       $1230 = $21;
-       $1231 = ((($1230)) + 4|0);
-       $1232 = HEAP32[$1231>>2]|0;
-       $21 = $1232;
-      }
-     }
-    } while(0);
-    $1233 = $20;
-    $1234 = ((($1233)) + 4|0);
-    $1235 = HEAP32[$1234>>2]|0;
-    $20 = $1235;
-    $1236 = $20;
-    $1237 = HEAP32[$1236>>2]|0;
-    $1238 = ($1237|0)!=(0|0);
-    if ($1238) {
-     $1239 = $20;
-     $1240 = $5;
-     $1241 = (($1240) + 1)|0;
-     _dump_prefix($1239,$1241);
-     $1242 = $3;
-     $1243 = $20;
-     $1244 = HEAP32[$1243>>2]|0;
-     $1245 = $1244;
-     $1246 = (_mrb_sym2name($1242,$1245)|0);
-     HEAP32[$vararg_buffer336>>2] = $1246;
-     (_printf(57331,$vararg_buffer336)|0);
-    }
-    $1247 = $20;
-    $1248 = ((($1247)) + 4|0);
-    $1249 = HEAP32[$1248>>2]|0;
-    $20 = $1249;
-    $1250 = $20;
-    $1251 = HEAP32[$1250>>2]|0;
-    $1252 = ($1251|0)!=(0|0);
-    if ($1252) {
-     $1253 = $20;
-     $1254 = $5;
-     $1255 = (($1254) + 1)|0;
-     _dump_prefix($1253,$1255);
-     (_printf(57341,$vararg_buffer339)|0);
-     $1256 = $3;
-     $1257 = $20;
-     $1258 = HEAP32[$1257>>2]|0;
-     $1259 = $5;
-     $1260 = (($1259) + 2)|0;
-     _dump_recur($1256,$1258,$1260);
-    }
-    $1261 = $20;
-    $1262 = ((($1261)) + 4|0);
-    $1263 = HEAP32[$1262>>2]|0;
-    $20 = $1263;
-    $1264 = $20;
-    $1265 = ($1264|0)!=(0|0);
-    if ($1265) {
-     $1266 = $20;
-     $1267 = $5;
-     $1268 = (($1267) + 1)|0;
-     _dump_prefix($1266,$1268);
-     $1269 = $3;
-     $1270 = $20;
-     $1271 = $1270;
-     $1272 = (_mrb_sym2name($1269,$1271)|0);
-     HEAP32[$vararg_buffer341>>2] = $1272;
-     (_printf(57363,$vararg_buffer341)|0);
-    }
-   }
-   $1273 = $4;
-   $1274 = ((($1273)) + 4|0);
-   $1275 = HEAP32[$1274>>2]|0;
-   $4 = $1275;
-   $1276 = $3;
-   $1277 = $4;
-   $1278 = HEAP32[$1277>>2]|0;
-   $1279 = $5;
-   $1280 = (($1279) + 1)|0;
-   _mrb_parser_dump($1276,$1278,$1280);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 184: {
-   (_printf(58384,$vararg_buffer344)|0);
-   $1281 = $3;
-   $1282 = $4;
-   $1283 = $5;
-   $1284 = (($1283) + 1)|0;
-   _mrb_parser_dump($1281,$1282,$1284);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 185: {
-   (_printf(58399,$vararg_buffer346)|0);
-   $1285 = $3;
-   $1286 = $4;
-   $1287 = ((($1286)) + 16|0);
-   $1288 = HEAP32[$1287>>2]|0;
-   $1289 = $5;
-   $1290 = (($1289) + 1)|0;
-   _mrb_parser_dump($1285,$1288,$1290);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 186: {
-   $1291 = $6;
-   $1292 = $6;
-   HEAP32[$vararg_buffer348>>2] = $1291;
-   $vararg_ptr351 = ((($vararg_buffer348)) + 4|0);
-   HEAP32[$vararg_ptr351>>2] = $1292;
-   (_printf(58414,$vararg_buffer348)|0);
-   STACKTOP = sp;return;
-   break;
-  }
- }
- (_printf(57281,$vararg_buffer23)|0);
- $144 = $4;
- $145 = ((($144)) + 4|0);
- $146 = HEAP32[$145>>2]|0;
- $4 = $146;
- $147 = $4;
- $148 = HEAP32[$147>>2]|0;
- $149 = ($148|0)!=(0|0);
- if ($149) {
-  $150 = $4;
-  $151 = HEAP32[$150>>2]|0;
-  $9 = $151;
-  $152 = $9;
-  $153 = HEAP32[$152>>2]|0;
-  $154 = ($153|0)!=(0|0);
-  if ($154) {
-   $155 = $9;
-   $156 = $5;
-   $157 = (($156) + 1)|0;
-   _dump_prefix($155,$157);
-   (_printf(57294,$vararg_buffer25)|0);
-   $158 = $3;
-   $159 = $9;
-   $160 = HEAP32[$159>>2]|0;
-   $161 = $5;
-   $162 = (($161) + 2)|0;
-   _dump_recur($158,$160,$162);
-  }
-  $163 = $9;
-  $164 = ((($163)) + 4|0);
-  $165 = HEAP32[$164>>2]|0;
-  $9 = $165;
-  $166 = $9;
-  $167 = HEAP32[$166>>2]|0;
-  $168 = ($167|0)!=(0|0);
-  L301: do {
-   if ($168) {
-    $169 = $9;
-    $170 = $5;
-    $171 = (($170) + 1)|0;
-    _dump_prefix($169,$171);
-    (_printf(57311,$vararg_buffer27)|0);
-    $172 = $9;
-    $173 = HEAP32[$172>>2]|0;
-    $10 = $173;
-    while(1) {
-     $174 = $10;
-     $175 = ($174|0)!=(0|0);
-     if (!($175)) {
-      break L301;
-     }
-     $176 = $10;
-     $177 = $5;
-     $178 = (($177) + 2)|0;
-     _dump_prefix($176,$178);
-     $179 = $3;
-     $180 = $10;
-     $181 = HEAP32[$180>>2]|0;
-     $182 = HEAP32[$181>>2]|0;
-     $183 = $182;
-     $184 = (_mrb_sym2name($179,$183)|0);
-     HEAP32[$vararg_buffer29>>2] = $184;
-     (_printf(57327,$vararg_buffer29)|0);
-     $185 = $3;
-     $186 = $10;
-     $187 = HEAP32[$186>>2]|0;
-     $188 = ((($187)) + 4|0);
-     $189 = HEAP32[$188>>2]|0;
-     _mrb_parser_dump($185,$189,0);
-     $190 = $10;
-     $191 = ((($190)) + 4|0);
-     $192 = HEAP32[$191>>2]|0;
-     $10 = $192;
-    }
-   }
-  } while(0);
-  $193 = $9;
-  $194 = ((($193)) + 4|0);
-  $195 = HEAP32[$194>>2]|0;
-  $9 = $195;
-  $196 = $9;
-  $197 = HEAP32[$196>>2]|0;
-  $198 = ($197|0)!=(0|0);
-  if ($198) {
-   $199 = $9;
-   $200 = $5;
-   $201 = (($200) + 1)|0;
-   _dump_prefix($199,$201);
-   $202 = $3;
-   $203 = $9;
-   $204 = HEAP32[$203>>2]|0;
-   $205 = $204;
-   $206 = (_mrb_sym2name($202,$205)|0);
-   HEAP32[$vararg_buffer31>>2] = $206;
-   (_printf(57331,$vararg_buffer31)|0);
-  }
-  $207 = $9;
-  $208 = ((($207)) + 4|0);
-  $209 = HEAP32[$208>>2]|0;
-  $9 = $209;
-  $210 = $9;
-  $211 = HEAP32[$210>>2]|0;
-  $212 = ($211|0)!=(0|0);
-  if ($212) {
-   $213 = $9;
-   $214 = $5;
-   $215 = (($214) + 1)|0;
-   _dump_prefix($213,$215);
-   (_printf(57341,$vararg_buffer34)|0);
-   $216 = $3;
-   $217 = $9;
-   $218 = HEAP32[$217>>2]|0;
-   $219 = $5;
-   $220 = (($219) + 2)|0;
-   _dump_recur($216,$218,$220);
-  }
-  $221 = $9;
-  $222 = ((($221)) + 4|0);
-  $223 = HEAP32[$222>>2]|0;
-  $9 = $223;
-  $224 = $9;
-  $225 = ($224|0)!=(0|0);
-  if ($225) {
-   $226 = $9;
-   $227 = $5;
-   $228 = (($227) + 1)|0;
-   _dump_prefix($226,$228);
-   $229 = $3;
-   $230 = $9;
-   $231 = $230;
-   $232 = (_mrb_sym2name($229,$231)|0);
-   HEAP32[$vararg_buffer36>>2] = $232;
-   (_printf(57363,$vararg_buffer36)|0);
-  }
- }
- $233 = $4;
- $234 = $5;
- $235 = (($234) + 1)|0;
- _dump_prefix($233,$235);
- (_printf(57194,$vararg_buffer39)|0);
- $236 = $3;
- $237 = $4;
- $238 = ((($237)) + 4|0);
- $239 = HEAP32[$238>>2]|0;
- $240 = HEAP32[$239>>2]|0;
- $241 = $5;
- $242 = (($241) + 2)|0;
- _mrb_parser_dump($236,$240,$242);
- STACKTOP = sp;return;
-}
-function _yyerror($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0;
- var $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer4 = sp + 16|0;
- $vararg_buffer = sp;
- $2 = $0;
- $3 = $1;
- $6 = $2;
- $7 = ((($6)) + 1148|0);
- $8 = HEAP8[$7>>0]|0;
- $9 = ($8&255) >>> 1;
- $10 = $9 & 1;
- $11 = ($10<<24>>24)!=(0);
- $12 = $2;
- if ($11) {
-  $33 = ((($12)) + 1136|0);
-  $34 = HEAP32[$33>>2]|0;
-  $35 = ($34>>>0)<(10);
-  if (!($35)) {
-   $73 = $2;
-   $74 = ((($73)) + 1136|0);
-   $75 = HEAP32[$74>>2]|0;
-   $76 = (($75) + 1)|0;
-   HEAP32[$74>>2] = $76;
-   STACKTOP = sp;return;
-  }
-  $36 = $3;
-  $37 = (_strlen($36)|0);
-  $5 = $37;
-  $38 = $2;
-  $39 = $5;
-  $40 = (($39) + 1)|0;
-  $41 = (_parser_palloc($38,$40)|0);
-  $4 = $41;
-  $42 = $4;
-  $43 = $3;
-  $44 = $5;
-  $45 = (($44) + 1)|0;
-  _memcpy(($42|0),($43|0),($45|0))|0;
-  $46 = $4;
-  $47 = $2;
-  $48 = ((($47)) + 1152|0);
-  $49 = $2;
-  $50 = ((($49)) + 1136|0);
-  $51 = HEAP32[$50>>2]|0;
-  $52 = (($48) + (($51*12)|0)|0);
-  $53 = ((($52)) + 8|0);
-  HEAP32[$53>>2] = $46;
-  $54 = $2;
-  $55 = ((($54)) + 32|0);
-  $56 = HEAP32[$55>>2]|0;
-  $57 = $2;
-  $58 = ((($57)) + 1152|0);
-  $59 = $2;
-  $60 = ((($59)) + 1136|0);
-  $61 = HEAP32[$60>>2]|0;
-  $62 = (($58) + (($61*12)|0)|0);
-  HEAP32[$62>>2] = $56;
-  $63 = $2;
-  $64 = ((($63)) + 36|0);
-  $65 = HEAP32[$64>>2]|0;
-  $66 = $2;
-  $67 = ((($66)) + 1152|0);
-  $68 = $2;
-  $69 = ((($68)) + 1136|0);
-  $70 = HEAP32[$69>>2]|0;
-  $71 = (($67) + (($70*12)|0)|0);
-  $72 = ((($71)) + 4|0);
-  HEAP32[$72>>2] = $65;
-  $73 = $2;
-  $74 = ((($73)) + 1136|0);
-  $75 = HEAP32[$74>>2]|0;
-  $76 = (($75) + 1)|0;
-  HEAP32[$74>>2] = $76;
-  STACKTOP = sp;return;
- }
- $13 = ((($12)) + 28|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ($14|0)!=(0|0);
- $16 = HEAP32[637]|0;
- $17 = $2;
- if ($15) {
-  $18 = ((($17)) + 28|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $2;
-  $21 = ((($20)) + 32|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $2;
-  $24 = ((($23)) + 36|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $3;
-  HEAP32[$vararg_buffer>>2] = $19;
-  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
-  HEAP32[$vararg_ptr1>>2] = $22;
-  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
-  HEAP32[$vararg_ptr2>>2] = $25;
-  $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
-  HEAP32[$vararg_ptr3>>2] = $26;
-  (_fprintf($16,57137,$vararg_buffer)|0);
-  $73 = $2;
-  $74 = ((($73)) + 1136|0);
-  $75 = HEAP32[$74>>2]|0;
-  $76 = (($75) + 1)|0;
-  HEAP32[$74>>2] = $76;
-  STACKTOP = sp;return;
- } else {
-  $27 = ((($17)) + 32|0);
-  $28 = HEAP32[$27>>2]|0;
-  $29 = $2;
-  $30 = ((($29)) + 36|0);
-  $31 = HEAP32[$30>>2]|0;
-  $32 = $3;
-  HEAP32[$vararg_buffer4>>2] = $28;
-  $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
-  HEAP32[$vararg_ptr7>>2] = $31;
-  $vararg_ptr8 = ((($vararg_buffer4)) + 8|0);
-  HEAP32[$vararg_ptr8>>2] = $32;
-  (_fprintf($16,57151,$vararg_buffer4)|0);
-  $73 = $2;
-  $74 = ((($73)) + 1136|0);
-  $75 = HEAP32[$74>>2]|0;
-  $76 = (($75) + 1)|0;
-  HEAP32[$74>>2] = $76;
-  STACKTOP = sp;return;
- }
-}
-function _parser_palloc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = ((($5)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = $3;
- $9 = (_mrb_pool_alloc($7,$8)|0);
- $4 = $9;
- $10 = $4;
- $11 = ($10|0)!=(0|0);
- if ($11) {
-  $15 = $4;
-  STACKTOP = sp;return ($15|0);
- } else {
-  $12 = $2;
-  $13 = ((($12)) + 1404|0);
-  $14 = HEAP32[$13>>2]|0;
-  _longjmp(($14|0),1);
-  // unreachable;
- }
- return (0)|0;
-}
-function _dump_prefix($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = ((($4)) + 8|0);
- $6 = HEAP16[$5>>1]|0;
- $7 = $6&65535;
- HEAP32[$vararg_buffer>>2] = $7;
- (_printf(58436,$vararg_buffer)|0);
- while(1) {
-  $8 = $3;
-  $9 = (($8) + -1)|0;
-  $3 = $9;
-  $10 = ($8|0)!=(0);
-  if (!($10)) {
-   break;
-  }
-  $11 = HEAP32[762]|0;
-  (_putc(32,$11)|0);
-  $12 = HEAP32[762]|0;
-  (_putc(32,$12)|0);
- }
- STACKTOP = sp;return;
-}
-function _dump_recur($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- while(1) {
-  $6 = $4;
-  $7 = ($6|0)!=(0|0);
-  if (!($7)) {
-   break;
-  }
-  $8 = $3;
-  $9 = $4;
-  $10 = HEAP32[$9>>2]|0;
-  $11 = $5;
-  _mrb_parser_dump($8,$10,$11);
-  $12 = $4;
-  $13 = ((($12)) + 4|0);
-  $14 = HEAP32[$13>>2]|0;
-  $4 = $14;
- }
- STACKTOP = sp;return;
-}
-function _list1_gen($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,$5,0)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _cons_gen($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $3;
- $8 = ((($7)) + 8|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ($9|0)!=(0|0);
- $11 = $3;
- if ($10) {
-  $12 = ((($11)) + 8|0);
-  $13 = HEAP32[$12>>2]|0;
-  $6 = $13;
-  $14 = $3;
-  $15 = ((($14)) + 8|0);
-  $16 = HEAP32[$15>>2]|0;
-  $17 = ((($16)) + 4|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = $3;
-  $20 = ((($19)) + 8|0);
-  HEAP32[$20>>2] = $18;
- } else {
-  $21 = (_parser_palloc($11,12)|0);
-  $6 = $21;
- }
- $22 = $4;
- $23 = $6;
- HEAP32[$23>>2] = $22;
- $24 = $5;
- $25 = $6;
- $26 = ((($25)) + 4|0);
- HEAP32[$26>>2] = $24;
- $27 = $3;
- $28 = ((($27)) + 32|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = $29&65535;
- $31 = $6;
- $32 = ((($31)) + 8|0);
- HEAP16[$32>>1] = $30;
- $33 = $3;
- $34 = ((($33)) + 1400|0);
- $35 = HEAP32[$34>>2]|0;
- $36 = $35&65535;
- $37 = $6;
- $38 = ((($37)) + 10|0);
- HEAP16[$38>>1] = $36;
- $39 = $6;
- STACKTOP = sp;return ($39|0);
-}
-function _yylex($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = ((($5)) + 1132|0);
- HEAP32[$6>>2] = $4;
- $7 = $3;
- $8 = (_parser_yylex($7)|0);
- STACKTOP = sp;return ($8|0);
-}
-function _new_scope($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $2;
- $6 = $2;
- $7 = (_locals_node($6)|0);
- $8 = $3;
- $9 = (_cons_gen($5,$7,$8)|0);
- $10 = (_cons_gen($4,(3),$9)|0);
- STACKTOP = sp;return ($10|0);
-}
-function _new_begin($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $4;
- $6 = ($5|0)!=(0|0);
- $7 = $3;
- if ($6) {
-  $8 = $4;
-  $9 = (_list2_gen($7,(17),$8)|0);
-  $2 = $9;
- } else {
-  $10 = (_cons_gen($7,(17),0)|0);
-  $2 = $10;
- }
- $11 = $2;
- STACKTOP = sp;return ($11|0);
-}
-function _append_gen($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $8 = $5;
- $7 = $8;
- $9 = $5;
- $10 = ($9|0)!=(0|0);
- if (!($10)) {
-  $11 = $6;
-  $3 = $11;
-  $25 = $3;
-  STACKTOP = sp;return ($25|0);
- }
- while(1) {
-  $12 = $7;
-  $13 = ((($12)) + 4|0);
-  $14 = HEAP32[$13>>2]|0;
-  $15 = ($14|0)!=(0|0);
-  if (!($15)) {
-   break;
-  }
-  $16 = $7;
-  $17 = ((($16)) + 4|0);
-  $18 = HEAP32[$17>>2]|0;
-  $7 = $18;
- }
- $19 = $6;
- $20 = ($19|0)!=(0|0);
- if ($20) {
-  $21 = $6;
-  $22 = $7;
-  $23 = ((($22)) + 4|0);
-  HEAP32[$23>>2] = $21;
- }
- $24 = $5;
- $3 = $24;
- $25 = $3;
- STACKTOP = sp;return ($25|0);
-}
-function _local_switch($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = ((($3)) + 76|0);
- $5 = HEAP32[$4>>2]|0;
- $2 = $5;
- $6 = $1;
- $7 = (_cons_gen($6,0,0)|0);
- $8 = $1;
- $9 = ((($8)) + 76|0);
- HEAP32[$9>>2] = $7;
- $10 = $2;
- STACKTOP = sp;return ($10|0);
-}
-function _local_resume($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = $2;
- $6 = ((($5)) + 76|0);
- HEAP32[$6>>2] = $4;
- STACKTOP = sp;return;
-}
-function _new_rescue($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $6;
- $11 = $7;
- $12 = (_list4_gen($8,(18),$9,$10,$11)|0);
- STACKTOP = sp;return ($12|0);
-}
-function _yywarn($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer4 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0;
- var $vararg_ptr7 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer4 = sp + 16|0;
- $vararg_buffer = sp;
- $2 = $0;
- $3 = $1;
- $6 = $2;
- $7 = ((($6)) + 1148|0);
- $8 = HEAP8[$7>>0]|0;
- $9 = ($8&255) >>> 1;
- $10 = $9 & 1;
- $11 = ($10<<24>>24)!=(0);
- $12 = $2;
- if ($11) {
-  $33 = ((($12)) + 1140|0);
-  $34 = HEAP32[$33>>2]|0;
-  $35 = ($34>>>0)<(10);
-  if (!($35)) {
-   $73 = $2;
-   $74 = ((($73)) + 1140|0);
-   $75 = HEAP32[$74>>2]|0;
-   $76 = (($75) + 1)|0;
-   HEAP32[$74>>2] = $76;
-   STACKTOP = sp;return;
-  }
-  $36 = $3;
-  $37 = (_strlen($36)|0);
-  $5 = $37;
-  $38 = $2;
-  $39 = $5;
-  $40 = (($39) + 1)|0;
-  $41 = (_parser_palloc($38,$40)|0);
-  $4 = $41;
-  $42 = $4;
-  $43 = $3;
-  $44 = $5;
-  $45 = (($44) + 1)|0;
-  _memcpy(($42|0),($43|0),($45|0))|0;
-  $46 = $4;
-  $47 = $2;
-  $48 = ((($47)) + 1272|0);
-  $49 = $2;
-  $50 = ((($49)) + 1140|0);
-  $51 = HEAP32[$50>>2]|0;
-  $52 = (($48) + (($51*12)|0)|0);
-  $53 = ((($52)) + 8|0);
-  HEAP32[$53>>2] = $46;
-  $54 = $2;
-  $55 = ((($54)) + 32|0);
-  $56 = HEAP32[$55>>2]|0;
-  $57 = $2;
-  $58 = ((($57)) + 1272|0);
-  $59 = $2;
-  $60 = ((($59)) + 1140|0);
-  $61 = HEAP32[$60>>2]|0;
-  $62 = (($58) + (($61*12)|0)|0);
-  HEAP32[$62>>2] = $56;
-  $63 = $2;
-  $64 = ((($63)) + 36|0);
-  $65 = HEAP32[$64>>2]|0;
-  $66 = $2;
-  $67 = ((($66)) + 1272|0);
-  $68 = $2;
-  $69 = ((($68)) + 1140|0);
-  $70 = HEAP32[$69>>2]|0;
-  $71 = (($67) + (($70*12)|0)|0);
-  $72 = ((($71)) + 4|0);
-  HEAP32[$72>>2] = $65;
-  $73 = $2;
-  $74 = ((($73)) + 1140|0);
-  $75 = HEAP32[$74>>2]|0;
-  $76 = (($75) + 1)|0;
-  HEAP32[$74>>2] = $76;
-  STACKTOP = sp;return;
- }
- $13 = ((($12)) + 28|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ($14|0)!=(0|0);
- $16 = HEAP32[637]|0;
- $17 = $2;
- if ($15) {
-  $18 = ((($17)) + 28|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $2;
-  $21 = ((($20)) + 32|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $2;
-  $24 = ((($23)) + 36|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $3;
-  HEAP32[$vararg_buffer>>2] = $19;
-  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
-  HEAP32[$vararg_ptr1>>2] = $22;
-  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
-  HEAP32[$vararg_ptr2>>2] = $25;
-  $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
-  HEAP32[$vararg_ptr3>>2] = $26;
-  (_fprintf($16,57137,$vararg_buffer)|0);
-  $73 = $2;
-  $74 = ((($73)) + 1140|0);
-  $75 = HEAP32[$74>>2]|0;
-  $76 = (($75) + 1)|0;
-  HEAP32[$74>>2] = $76;
-  STACKTOP = sp;return;
- } else {
-  $27 = ((($17)) + 32|0);
-  $28 = HEAP32[$27>>2]|0;
-  $29 = $2;
-  $30 = ((($29)) + 36|0);
-  $31 = HEAP32[$30>>2]|0;
-  $32 = $3;
-  HEAP32[$vararg_buffer4>>2] = $28;
-  $vararg_ptr7 = ((($vararg_buffer4)) + 4|0);
-  HEAP32[$vararg_ptr7>>2] = $31;
-  $vararg_ptr8 = ((($vararg_buffer4)) + 8|0);
-  HEAP32[$vararg_ptr8>>2] = $32;
-  (_fprintf($16,57151,$vararg_buffer4)|0);
-  $73 = $2;
-  $74 = ((($73)) + 1140|0);
-  $75 = HEAP32[$74>>2]|0;
-  $76 = (($75) + 1)|0;
-  HEAP32[$74>>2] = $76;
-  STACKTOP = sp;return;
- }
-}
-function _new_ensure($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $3;
- $10 = $5;
- $11 = (_cons_gen($9,0,$10)|0);
- $12 = (_cons_gen($7,$8,$11)|0);
- $13 = (_cons_gen($6,(19),$12)|0);
- STACKTOP = sp;return ($13|0);
-}
-function _new_alias($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $8;
- $10 = $5;
- $11 = $10;
- $12 = (_cons_gen($7,$9,$11)|0);
- $13 = (_cons_gen($6,(72),$12)|0);
- STACKTOP = sp;return ($13|0);
-}
-function _cond($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- STACKTOP = sp;return ($2|0);
-}
-function _new_if($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $6;
- $11 = $7;
- $12 = (_list4_gen($8,(5),$9,$10,$11)|0);
- STACKTOP = sp;return ($12|0);
-}
-function _new_unless($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $7;
- $11 = $6;
- $12 = (_list4_gen($8,(5),$9,$10,$11)|0);
- STACKTOP = sp;return ($12|0);
-}
-function _new_while($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = (_cons_gen($7,$8,$9)|0);
- $11 = (_cons_gen($6,(9),$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _new_until($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = (_cons_gen($7,$8,$9)|0);
- $11 = (_cons_gen($6,(10),$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _list3_gen($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $4;
- $11 = $6;
- $12 = $4;
- $13 = $7;
- $14 = (_cons_gen($12,$13,0)|0);
- $15 = (_cons_gen($10,$11,$14)|0);
- $16 = (_cons_gen($8,$9,$15)|0);
- STACKTOP = sp;return ($16|0);
-}
-function _new_postexe($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(91),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_masgn($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = (_cons_gen($7,$8,$9)|0);
- $11 = (_cons_gen($6,(23),$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _new_op_asgn($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $6;
- $11 = $10;
- $12 = $7;
- $13 = (_list4_gen($8,(28),$9,$11,$12)|0);
- STACKTOP = sp;return ($13|0);
-}
-function _intern_gen($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = HEAP32[$6>>2]|0;
- $8 = $4;
- $9 = $5;
- $10 = (_mrb_intern($7,$8,$9)|0);
- STACKTOP = sp;return ($10|0);
-}
-function _new_call($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $9 = $4;
- $10 = $5;
- $11 = $6;
- $12 = $11;
- $13 = $7;
- $14 = (_list4_gen($9,(29),$10,$12,$13)|0);
- $8 = $14;
- $15 = $5;
- $16 = ($15|0)!=(0|0);
- if (!($16)) {
-  $27 = $8;
-  STACKTOP = sp;return ($27|0);
- }
- $17 = $5;
- $18 = ((($17)) + 10|0);
- $19 = HEAP16[$18>>1]|0;
- $20 = $8;
- $21 = ((($20)) + 10|0);
- HEAP16[$21>>1] = $19;
- $22 = $5;
- $23 = ((($22)) + 8|0);
- $24 = HEAP16[$23>>1]|0;
- $25 = $8;
- $26 = ((($25)) + 8|0);
- HEAP16[$26>>1] = $24;
- $27 = $8;
- STACKTOP = sp;return ($27|0);
-}
-function _backref_error($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $5 = sp + 8|0;
- $2 = $0;
- $3 = $1;
- $6 = $3;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7;
- $4 = $8;
- $9 = $4;
- $10 = ($9|0)==(45);
- if ($10) {
-  $11 = $2;
-  $12 = $3;
-  $13 = ((($12)) + 4|0);
-  $14 = HEAP32[$13>>2]|0;
-  $15 = $14;
-  _yyerror_i($11,62881,$15);
-  STACKTOP = sp;return;
- }
- $16 = $4;
- $17 = ($16|0)==(46);
- $18 = $2;
- if (!($17)) {
-  $23 = HEAP32[$18>>2]|0;
-  $24 = $4;
-  _mrb_fixnum_value_530($5,$24);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$5>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$5+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$5+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$5+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$5+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$5+7>>0]|0;
-  _mrb_bug($23,62927,$vararg_buffer);
-  // unreachable;
- }
- $19 = $3;
- $20 = ((($19)) + 4|0);
- $21 = HEAP32[$20>>2]|0;
- $22 = $21;
- _yyerror_i($18,62904,$22);
- STACKTOP = sp;return;
-}
-function _new_array($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(34),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_asgn($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = (_cons_gen($7,$8,$9)|0);
- $11 = (_cons_gen($6,(24),$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _new_and($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = (_cons_gen($7,$8,$9)|0);
- $11 = (_cons_gen($6,(20),$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _new_or($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = (_cons_gen($7,$8,$9)|0);
- $11 = (_cons_gen($6,(21),$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _call_uni_op($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $3;
- $9 = $5;
- $10 = (_intern_cstr_gen($8,$9)|0);
- $11 = (_new_call($6,$7,$10,0)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _local_nest($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = $1;
- $4 = ((($3)) + 76|0);
- $5 = HEAP32[$4>>2]|0;
- $6 = (_cons_gen($2,0,$5)|0);
- $7 = $1;
- $8 = ((($7)) + 76|0);
- HEAP32[$8>>2] = $6;
- STACKTOP = sp;return;
-}
-function _new_block($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = (_locals_node($7)|0);
- $9 = $4;
- $10 = $5;
- $11 = (_list4_gen($6,(4),$8,$9,$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _local_unnest($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 76|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $1;
- $7 = ((($6)) + 76|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = $1;
- $12 = ((($11)) + 76|0);
- HEAP32[$12>>2] = $10;
- STACKTOP = sp;return;
-}
-function _new_fcall($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $3;
- $8 = (_new_self($7)|0);
- $6 = $8;
- $9 = $5;
- $10 = ($9|0)!=(0|0);
- if ($10) {
-  $11 = $5;
-  $12 = ((($11)) + 10|0);
-  $13 = HEAP16[$12>>1]|0;
-  $14 = $6;
-  $15 = ((($14)) + 10|0);
-  HEAP16[$15>>1] = $13;
-  $16 = $5;
-  $17 = ((($16)) + 8|0);
-  $18 = HEAP16[$17>>1]|0;
-  $19 = $6;
-  $20 = ((($19)) + 8|0);
-  HEAP16[$20>>1] = $18;
- }
- $21 = $3;
- $22 = $6;
- $23 = $4;
- $24 = $23;
- $25 = $5;
- $26 = (_list4_gen($21,(30),$22,$24,$25)|0);
- $6 = $26;
- $27 = $5;
- $28 = ($27|0)!=(0|0);
- if (!($28)) {
-  $39 = $6;
-  STACKTOP = sp;return ($39|0);
- }
- $29 = $5;
- $30 = ((($29)) + 10|0);
- $31 = HEAP16[$30>>1]|0;
- $32 = $6;
- $33 = ((($32)) + 10|0);
- HEAP16[$33>>1] = $31;
- $34 = $5;
- $35 = ((($34)) + 8|0);
- $36 = HEAP16[$35>>1]|0;
- $37 = $6;
- $38 = ((($37)) + 8|0);
- HEAP16[$38>>1] = $36;
- $39 = $6;
- STACKTOP = sp;return ($39|0);
-}
-function _args_with_block($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $5;
- $7 = ($6|0)!=(0|0);
- if (!($7)) {
-  STACKTOP = sp;return;
- }
- $8 = $4;
- $9 = ((($8)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)!=(0|0);
- if ($11) {
-  $12 = $3;
-  _yyerror($12,62843);
- }
- $13 = $5;
- $14 = $4;
- $15 = ((($14)) + 4|0);
- HEAP32[$15>>2] = $13;
- STACKTOP = sp;return;
-}
-function _new_super($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(32),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_yield($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $4;
- $6 = ($5|0)!=(0|0);
- if (!($6)) {
-  $16 = $3;
-  $17 = (_cons_gen($16,(38),0)|0);
-  $2 = $17;
-  $18 = $2;
-  STACKTOP = sp;return ($18|0);
- }
- $7 = $4;
- $8 = ((($7)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ($9|0)!=(0|0);
- if ($10) {
-  $11 = $3;
-  _yyerror($11,62843);
- }
- $12 = $3;
- $13 = $4;
- $14 = HEAP32[$13>>2]|0;
- $15 = (_cons_gen($12,(38),$14)|0);
- $2 = $15;
- $18 = $2;
- STACKTOP = sp;return ($18|0);
-}
-function _ret_args($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $4;
- $6 = ((($5)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)!=(0|0);
- if ($8) {
-  $9 = $3;
-  _yyerror($9,62808);
-  $2 = 0;
-  $22 = $2;
-  STACKTOP = sp;return ($22|0);
- }
- $10 = $4;
- $11 = HEAP32[$10>>2]|0;
- $12 = ((($11)) + 4|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ($13|0)!=(0|0);
- if ($14) {
-  $18 = $3;
-  $19 = $4;
-  $20 = HEAP32[$19>>2]|0;
-  $21 = (_new_array($18,$20)|0);
-  $2 = $21;
-  $22 = $2;
-  STACKTOP = sp;return ($22|0);
- } else {
-  $15 = $4;
-  $16 = HEAP32[$15>>2]|0;
-  $17 = HEAP32[$16>>2]|0;
-  $2 = $17;
-  $22 = $2;
-  STACKTOP = sp;return ($22|0);
- }
- return (0)|0;
-}
-function _new_return($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(37),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_break($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(13),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_next($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(14),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _list2_gen($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $3;
- $9 = $5;
- $10 = (_cons_gen($8,$9,0)|0);
- $11 = (_cons_gen($6,$7,$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _assignable($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5;
- $7 = ($6|0)==(39);
- if (!($7)) {
-  STACKTOP = sp;return;
- }
- $8 = $2;
- $9 = $3;
- $10 = ((($9)) + 4|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = $11;
- _local_add($8,$12);
- STACKTOP = sp;return;
-}
-function _new_colon2($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $9;
- $11 = (_cons_gen($7,$8,$10)|0);
- $12 = (_cons_gen($6,(77),$11)|0);
- STACKTOP = sp;return ($12|0);
-}
-function _new_colon3($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_cons_gen($4,(78),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _new_undef($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_list2_gen($4,(73),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _intern_gen_c($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp + 4|0;
- $2 = $0;
- HEAP8[$3>>0] = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = (_mrb_intern($5,$3,1)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_dot2($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = (_cons_gen($7,$8,$9)|0);
- $11 = (_cons_gen($6,(80),$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _new_dot3($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = (_cons_gen($7,$8,$9)|0);
- $11 = (_cons_gen($6,(81),$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _call_bin_op($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $4;
- $11 = $6;
- $12 = (_intern_cstr_gen($10,$11)|0);
- $13 = $4;
- $14 = $4;
- $15 = $7;
- $16 = (_list1_gen($14,$15)|0);
- $17 = (_list1_gen($13,$16)|0);
- $18 = (_new_call($8,$9,$12,$17)|0);
- STACKTOP = sp;return ($18|0);
-}
-function _new_hash($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(36),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_block_arg($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(69),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_splat($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(66),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _call_with_block($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $4;
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)==((32)|0);
- if (!($9)) {
-  $10 = $4;
-  $11 = HEAP32[$10>>2]|0;
-  $12 = ($11|0)==((33)|0);
-  if (!($12)) {
-   $26 = $4;
-   $27 = ((($26)) + 4|0);
-   $28 = HEAP32[$27>>2]|0;
-   $29 = ((($28)) + 4|0);
-   $30 = HEAP32[$29>>2]|0;
-   $31 = ((($30)) + 4|0);
-   $32 = HEAP32[$31>>2]|0;
-   $6 = $32;
-   $33 = $6;
-   $34 = HEAP32[$33>>2]|0;
-   $35 = ($34|0)!=(0|0);
-   $36 = $3;
-   if ($35) {
-    $40 = $6;
-    $41 = HEAP32[$40>>2]|0;
-    $42 = $5;
-    _args_with_block($36,$41,$42);
-    STACKTOP = sp;return;
-   } else {
-    $37 = $5;
-    $38 = (_cons_gen($36,0,$37)|0);
-    $39 = $6;
-    HEAP32[$39>>2] = $38;
-    STACKTOP = sp;return;
-   }
-  }
- }
- $13 = $4;
- $14 = ((($13)) + 4|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = ($15|0)!=(0|0);
- $17 = $3;
- if ($16) {
-  $22 = $4;
-  $23 = ((($22)) + 4|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = $5;
-  _args_with_block($17,$24,$25);
-  STACKTOP = sp;return;
- } else {
-  $18 = $5;
-  $19 = (_cons_gen($17,0,$18)|0);
-  $20 = $4;
-  $21 = ((($20)) + 4|0);
-  HEAP32[$21>>2] = $19;
-  STACKTOP = sp;return;
- }
-}
-function _new_lambda($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = (_locals_node($7)|0);
- $9 = $4;
- $10 = $5;
- $11 = (_list4_gen($6,(53),$8,$9,$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _new_case($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = $4;
- $10 = (_list2_gen($8,(6),$9)|0);
- $6 = $10;
- $11 = $6;
- $7 = $11;
- while(1) {
-  $12 = $7;
-  $13 = ((($12)) + 4|0);
-  $14 = HEAP32[$13>>2]|0;
-  $15 = ($14|0)!=(0|0);
-  if (!($15)) {
-   break;
-  }
-  $16 = $7;
-  $17 = ((($16)) + 4|0);
-  $18 = HEAP32[$17>>2]|0;
-  $7 = $18;
- }
- $19 = $5;
- $20 = $7;
- $21 = ((($20)) + 4|0);
- HEAP32[$21>>2] = $19;
- $22 = $6;
- STACKTOP = sp;return ($22|0);
-}
-function _new_for($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $6;
- $11 = $7;
- $12 = (_list4_gen($8,(12),$9,$10,$11)|0);
- STACKTOP = sp;return ($12|0);
-}
-function _new_class($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $6;
- $11 = $4;
- $12 = $4;
- $13 = (_locals_node($12)|0);
- $14 = $7;
- $15 = (_cons_gen($11,$13,$14)|0);
- $16 = (_list4_gen($8,(74),$9,$10,$15)|0);
- STACKTOP = sp;return ($16|0);
-}
-function _new_sclass($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $3;
- $9 = $3;
- $10 = (_locals_node($9)|0);
- $11 = $5;
- $12 = (_cons_gen($8,$10,$11)|0);
- $13 = (_list3_gen($6,(76),$7,$12)|0);
- STACKTOP = sp;return ($13|0);
-}
-function _new_module($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $3;
- $9 = $3;
- $10 = (_locals_node($9)|0);
- $11 = $5;
- $12 = (_cons_gen($8,$10,$11)|0);
- $13 = (_list3_gen($6,(75),$7,$12)|0);
- STACKTOP = sp;return ($13|0);
-}
-function _new_def($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $9;
- $11 = $4;
- $12 = (_locals_node($11)|0);
- $13 = $6;
- $14 = $7;
- $15 = (_list5_gen($8,(70),$10,$12,$13,$14)|0);
- STACKTOP = sp;return ($15|0);
-}
-function _new_sdef($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $10 = $5;
- $11 = $6;
- $12 = $7;
- $13 = $12;
- $14 = $5;
- $15 = (_locals_node($14)|0);
- $16 = $8;
- $17 = $9;
- $18 = (_list6_gen($10,(71),$11,$13,$15,$16,$17)|0);
- STACKTOP = sp;return ($18|0);
-}
-function _new_redo($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_list1_gen($2,(15))|0);
- STACKTOP = sp;return ($3|0);
-}
-function _new_retry($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_list1_gen($2,(16))|0);
- STACKTOP = sp;return ($3|0);
-}
-function _new_arg($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_cons_gen($4,(63),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _new_args($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $6 = $0;
- $7 = $1;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- $11 = $5;
- $13 = $6;
- $14 = $10;
- $15 = $11;
- $16 = $15;
- $17 = (_cons_gen($13,$14,$16)|0);
- $12 = $17;
- $18 = $6;
- $19 = $9;
- $20 = $19;
- $21 = $12;
- $22 = (_cons_gen($18,$20,$21)|0);
- $12 = $22;
- $23 = $6;
- $24 = $8;
- $25 = $12;
- $26 = (_cons_gen($23,$24,$25)|0);
- $12 = $26;
- $27 = $6;
- $28 = $7;
- $29 = $12;
- $30 = (_cons_gen($27,$28,$29)|0);
- STACKTOP = sp;return ($30|0);
-}
-function _local_add_f($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = ((($4)) + 76|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ($6|0)!=(0|0);
- if (!($7)) {
-  STACKTOP = sp;return;
- }
- $8 = $2;
- $9 = $2;
- $10 = ((($9)) + 76|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = HEAP32[$11>>2]|0;
- $13 = $2;
- $14 = $3;
- $15 = $14;
- $16 = (_list1_gen($13,$15)|0);
- $17 = (_append_gen($8,$12,$16)|0);
- $18 = $2;
- $19 = ((($18)) + 76|0);
- $20 = HEAP32[$19>>2]|0;
- HEAP32[$20>>2] = $17;
- STACKTOP = sp;return;
-}
-function _new_bv($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- STACKTOP = sp;return;
-}
-function _new_zsuper($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_list1_gen($2,(33))|0);
- STACKTOP = sp;return ($3|0);
-}
-function _new_dstr($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(56),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_literal_delim($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_cons_gen($2,(100),0)|0);
- STACKTOP = sp;return ($3|0);
-}
-function _new_dxstr($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(58),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_dregx($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = (_cons_gen($7,$8,$9)|0);
- $11 = (_cons_gen($6,(60),$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _parsing_heredoc_inf($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $4 = $2;
- $5 = ((($4)) + 1120|0);
- $6 = HEAP32[$5>>2]|0;
- $3 = $6;
- $7 = $3;
- $8 = ($7|0)==(0|0);
- if ($8) {
-  $1 = 0;
-  $13 = $1;
-  STACKTOP = sp;return ($13|0);
- } else {
-  $9 = $3;
-  $10 = HEAP32[$9>>2]|0;
-  $11 = ((($10)) + 4|0);
-  $12 = HEAP32[$11>>2]|0;
-  $1 = $12;
-  $13 = $1;
-  STACKTOP = sp;return ($13|0);
- }
- return (0)|0;
-}
-function _new_str($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $3;
- $9 = $4;
- $10 = $5;
- $11 = (_parser_strndup($8,$9,$10)|0);
- $12 = $5;
- $13 = $12;
- $14 = (_cons_gen($7,$11,$13)|0);
- $15 = (_cons_gen($6,(55),$14)|0);
- STACKTOP = sp;return ($15|0);
-}
-function _heredoc_end($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 1120|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ((($4)) + 4|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = $1;
- $8 = ((($7)) + 1120|0);
- HEAP32[$8>>2] = $6;
- $9 = $1;
- $10 = ((($9)) + 1120|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)==(0|0);
- $13 = $1;
- if ($12) {
-  $14 = ((($13)) + 40|0);
-  HEAP32[$14>>2] = 0;
-  $15 = $1;
-  $16 = ((($15)) + 72|0);
-  $17 = HEAP8[$16>>0]|0;
-  $18 = $17 & -2;
-  $19 = $18 | 1;
-  HEAP8[$16>>0] = $19;
-  $20 = $1;
-  _end_strterm($20);
-  $21 = $1;
-  $22 = ((($21)) + 1124|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = $1;
-  $25 = ((($24)) + 44|0);
-  HEAP32[$25>>2] = $23;
-  $26 = $1;
-  $27 = ((($26)) + 1124|0);
-  HEAP32[$27>>2] = 0;
-  $28 = $1;
-  $29 = ((($28)) + 1128|0);
-  $30 = HEAP8[$29>>0]|0;
-  $31 = $30 & -2;
-  $32 = $31 | 1;
-  HEAP8[$29>>0] = $32;
-  STACKTOP = sp;return;
- } else {
-  $33 = (_parsing_heredoc_inf($13)|0);
-  $34 = ((($33)) + 4|0);
-  $35 = HEAP32[$34>>2]|0;
-  $36 = $35;
-  $37 = $1;
-  $38 = ((($37)) + 44|0);
-  $39 = HEAP32[$38>>2]|0;
-  HEAP32[$39>>2] = $36;
-  STACKTOP = sp;return;
- }
-}
-function _heredoc_treat_nextline($0) {
- $0 = $0|0;
- var $$sink = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0;
- var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
- var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
- var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
- var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
- var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $5 = $1;
- $6 = ((($5)) + 1116|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)==(0|0);
- if ($8) {
-  STACKTOP = sp;return;
- }
- $9 = $1;
- $10 = ((($9)) + 1120|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)==(0|0);
- $13 = $1;
- $14 = ((($13)) + 1116|0);
- $15 = HEAP32[$14>>2]|0;
- do {
-  if ($12) {
-   $16 = $1;
-   $17 = ((($16)) + 1120|0);
-   HEAP32[$17>>2] = $15;
-   $18 = $1;
-   $19 = ((($18)) + 44|0);
-   $20 = HEAP32[$19>>2]|0;
-   $21 = $1;
-   $22 = ((($21)) + 1124|0);
-   HEAP32[$22>>2] = $20;
-   $23 = $1;
-   $24 = $1;
-   $25 = (_parsing_heredoc_inf($24)|0);
-   $26 = ((($25)) + 4|0);
-   $27 = HEAP32[$26>>2]|0;
-   $28 = (_new_strterm($23,$27,0,0)|0);
-   $29 = $1;
-   $30 = ((($29)) + 44|0);
-   HEAP32[$30>>2] = $28;
-   $31 = $1;
-   $32 = ((($31)) + 1112|0);
-   $33 = HEAP32[$32>>2]|0;
-   $2 = $33;
-   $34 = $2;
-   $35 = ($34|0)!=(0|0);
-   if (!($35)) {
-    $48 = $1;
-    $49 = ((($48)) + 1120|0);
-    $50 = HEAP32[$49>>2]|0;
-    $51 = $1;
-    $52 = ((($51)) + 1112|0);
-    HEAP32[$52>>2] = $50;
-    break;
-   }
-   while(1) {
-    $36 = $2;
-    $37 = ((($36)) + 4|0);
-    $38 = HEAP32[$37>>2]|0;
-    $39 = ($38|0)!=(0|0);
-    if (!($39)) {
-     break;
-    }
-    $40 = $2;
-    $41 = ((($40)) + 4|0);
-    $42 = HEAP32[$41>>2]|0;
-    $2 = $42;
-   }
-   $43 = $1;
-   $44 = ((($43)) + 1120|0);
-   $45 = HEAP32[$44>>2]|0;
-   $46 = $2;
-   $47 = ((($46)) + 4|0);
-   HEAP32[$47>>2] = $45;
-  } else {
-   $4 = $15;
-   while(1) {
-    $53 = $4;
-    $54 = ((($53)) + 4|0);
-    $55 = HEAP32[$54>>2]|0;
-    $56 = ($55|0)!=(0|0);
-    if (!($56)) {
-     break;
-    }
-    $57 = $4;
-    $58 = ((($57)) + 4|0);
-    $59 = HEAP32[$58>>2]|0;
-    $4 = $59;
-   }
-   $60 = $1;
-   $61 = ((($60)) + 1112|0);
-   $62 = HEAP32[$61>>2]|0;
-   $3 = $62;
-   $63 = $3;
-   $64 = $1;
-   $65 = ((($64)) + 1120|0);
-   $66 = HEAP32[$65>>2]|0;
-   $67 = ($63|0)==($66|0);
-   if ($67) {
-    $68 = $3;
-    $69 = $4;
-    $70 = ((($69)) + 4|0);
-    HEAP32[$70>>2] = $68;
-    $71 = $1;
-    $72 = ((($71)) + 1116|0);
-    $73 = HEAP32[$72>>2]|0;
-    $74 = $1;
-    $75 = ((($74)) + 1112|0);
-    HEAP32[$75>>2] = $73;
-    $76 = $1;
-    $77 = ((($76)) + 1116|0);
-    $78 = HEAP32[$77>>2]|0;
-    $79 = $1;
-    $$sink = $78;$$sink2 = $79;
-   } else {
-    while(1) {
-     $80 = $3;
-     $81 = ((($80)) + 4|0);
-     $82 = HEAP32[$81>>2]|0;
-     $83 = $1;
-     $84 = ((($83)) + 1120|0);
-     $85 = HEAP32[$84>>2]|0;
-     $86 = ($82|0)!=($85|0);
-     $87 = $3;
-     $88 = ((($87)) + 4|0);
-     $89 = HEAP32[$88>>2]|0;
-     if (!($86)) {
-      break;
-     }
-     $3 = $89;
-    }
-    $90 = $4;
-    $91 = ((($90)) + 4|0);
-    HEAP32[$91>>2] = $89;
-    $92 = $1;
-    $93 = ((($92)) + 1116|0);
-    $94 = HEAP32[$93>>2]|0;
-    $95 = $3;
-    $96 = ((($95)) + 4|0);
-    HEAP32[$96>>2] = $94;
-    $97 = $1;
-    $98 = ((($97)) + 1116|0);
-    $99 = HEAP32[$98>>2]|0;
-    $100 = $1;
-    $$sink = $99;$$sink2 = $100;
-   }
-   $101 = ((($$sink2)) + 1120|0);
-   HEAP32[$101>>2] = $$sink;
-  }
- } while(0);
- $102 = $1;
- $103 = ((($102)) + 1116|0);
- HEAP32[$103>>2] = 0;
- STACKTOP = sp;return;
-}
-function _new_words($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(101),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_sym($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_cons_gen($4,(54),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _new_dsym($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $2;
- $6 = $3;
- $7 = (_new_dstr($5,$6)|0);
- $8 = (_cons_gen($4,(97),$7)|0);
- STACKTOP = sp;return ($8|0);
-}
-function _new_strsym($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $6 = $3;
- $7 = ((($6)) + 4|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = HEAP32[$8>>2]|0;
- $4 = $9;
- $10 = $3;
- $11 = ((($10)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ((($12)) + 4|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = $14;
- $5 = $15;
- $16 = $2;
- $17 = HEAP32[$16>>2]|0;
- $18 = $4;
- $19 = $5;
- $20 = (_mrb_intern($17,$18,$19)|0);
- STACKTOP = sp;return ($20|0);
-}
-function _new_symbols($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(102),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _negate_lit($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_cons_gen($4,(52),$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _new_lvar($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_cons_gen($4,(39),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _new_ivar($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_cons_gen($4,(42),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _new_gvar($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_cons_gen($4,(41),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _new_cvar($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_cons_gen($4,(44),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _new_const($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_cons_gen($4,(43),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _var_reference($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $6 = $4;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7;
- $9 = ($8|0)==(39);
- if ($9) {
-  $10 = $3;
-  $11 = $4;
-  $12 = ((($11)) + 4|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = $13;
-  $15 = (_local_var_p($10,$14)|0);
-  $16 = ($15<<24>>24)!=(0);
-  if (!($16)) {
-   $17 = $3;
-   $18 = $4;
-   $19 = ((($18)) + 4|0);
-   $20 = HEAP32[$19>>2]|0;
-   $21 = $20;
-   $22 = (_new_fcall($17,$21,0)|0);
-   $5 = $22;
-   $23 = $3;
-   $24 = $4;
-   _cons_free_gen($23,$24);
-   $25 = $5;
-   $2 = $25;
-   $27 = $2;
-   STACKTOP = sp;return ($27|0);
-  }
- }
- $26 = $4;
- $2 = $26;
- $27 = $2;
- STACKTOP = sp;return ($27|0);
-}
-function _new_self($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_list1_gen($2,(85))|0);
- STACKTOP = sp;return ($3|0);
-}
-function _new_true($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_list1_gen($2,(87))|0);
- STACKTOP = sp;return ($3|0);
-}
-function _new_false($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_list1_gen($2,(88))|0);
- STACKTOP = sp;return ($3|0);
-}
-function _new_int($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = (_parser_strdup($7,$8)|0);
- $10 = $5;
- $11 = $10;
- $12 = (_list3_gen($6,(50),$9,$11)|0);
- STACKTOP = sp;return ($12|0);
-}
-function _yysyntax_error($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $16 = 0, $17 = 0;
- var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0;
- var $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0;
- var $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
- var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
- var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
- $13 = sp + 40|0;
- $17 = sp + 100|0;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $25 = $5;
- $26 = (3344 + ($25<<1)|0);
- $27 = HEAP16[$26>>1]|0;
- $28 = $27 << 16 >> 16;
- $7 = $28;
- $29 = $7;
- $30 = (-771)<($29|0);
- $31 = $7;
- $32 = ($31|0)<=(10639);
- $or$cond = $30 & $32;
- if (!($or$cond)) {
-  $3 = 0;
-  $151 = $3;
-  STACKTOP = sp;return ($151|0);
- }
- $33 = $6;
- $34 = ($33>>>0)<=(372);
- if ($34) {
-  $35 = $6;
-  $36 = (58442 + ($35)|0);
-  $37 = HEAP8[$36>>0]|0;
-  $38 = $37&255;
-  $39 = $38;
- } else {
-  $39 = 2;
- }
- $8 = $39;
- $40 = $8;
- $41 = (504 + ($40<<2)|0);
- $42 = HEAP32[$41>>2]|0;
- $43 = (_yytnamerr(0,$42)|0);
- $9 = $43;
- $44 = $9;
- $10 = $44;
- $12 = 0;
- $18 = 60021;
- $45 = $7;
- $46 = ($45|0)<(0);
- $47 = $7;
- $48 = (0 - ($47))|0;
- $49 = $46 ? $48 : 0;
- $19 = $49;
- $50 = $7;
- $51 = (10639 - ($50))|0;
- $52 = (($51) + 1)|0;
- $20 = $52;
- $53 = $20;
- $54 = ($53|0)<(144);
- $55 = $20;
- $56 = $54 ? $55 : 144;
- $21 = $56;
- $22 = 1;
- $57 = $8;
- $58 = (504 + ($57<<2)|0);
- $59 = HEAP32[$58>>2]|0;
- HEAP32[$13>>2] = $59;
- $60 = (_yystpcpy($17,60036)|0);
- $15 = $60;
- $61 = $19;
- $14 = $61;
- while(1) {
-  $62 = $14;
-  $63 = $21;
-  $64 = ($62|0)<($63|0);
-  if (!($64)) {
-   break;
-  }
-  $65 = $14;
-  $66 = $7;
-  $67 = (($65) + ($66))|0;
-  $68 = (5280 + ($67<<1)|0);
-  $69 = HEAP16[$68>>1]|0;
-  $70 = $69 << 16 >> 16;
-  $71 = $14;
-  $72 = ($70|0)==($71|0);
-  $73 = $14;
-  $74 = ($73|0)!=(1);
-  $or$cond3 = $72 & $74;
-  if ($or$cond3) {
-   $75 = $22;
-   $76 = ($75|0)==(5);
-   if ($76) {
-    label = 9;
-    break;
-   }
-   $79 = $14;
-   $80 = (504 + ($79<<2)|0);
-   $81 = HEAP32[$80>>2]|0;
-   $82 = $22;
-   $83 = (($82) + 1)|0;
-   $22 = $83;
-   $84 = (($13) + ($82<<2)|0);
-   HEAP32[$84>>2] = $81;
-   $85 = $10;
-   $86 = $14;
-   $87 = (504 + ($86<<2)|0);
-   $88 = HEAP32[$87>>2]|0;
-   $89 = (_yytnamerr(0,$88)|0);
-   $90 = (($85) + ($89))|0;
-   $11 = $90;
-   $91 = $11;
-   $92 = $10;
-   $93 = ($91>>>0)<($92>>>0);
-   $94 = $93&1;
-   $95 = $12;
-   $96 = $95 | $94;
-   $12 = $96;
-   $97 = $11;
-   $10 = $97;
-   $98 = $15;
-   $99 = $18;
-   $100 = (_yystpcpy($98,$99)|0);
-   $15 = $100;
-   $18 = 60064;
-  }
-  $101 = $14;
-  $102 = (($101) + 1)|0;
-  $14 = $102;
- }
- if ((label|0) == 9) {
-  $22 = 1;
-  $77 = $9;
-  $10 = $77;
-  $78 = ((($17)) + 27|0);
-  HEAP8[$78>>0] = 0;
- }
- $16 = $17;
- $103 = $10;
- $104 = $16;
- $105 = (_yystrlen($104)|0);
- $106 = (($103) + ($105))|0;
- $11 = $106;
- $107 = $11;
- $108 = $10;
- $109 = ($107>>>0)<($108>>>0);
- $110 = $109&1;
- $111 = $12;
- $112 = $111 | $110;
- $12 = $112;
- $113 = $11;
- $10 = $113;
- $114 = $12;
- $115 = ($114|0)!=(0);
- if ($115) {
-  $3 = -1;
-  $151 = $3;
-  STACKTOP = sp;return ($151|0);
- }
- $116 = $4;
- $117 = ($116|0)!=(0|0);
- L22: do {
-  if ($117) {
-   $118 = $4;
-   $23 = $118;
-   $24 = 0;
-   while(1) {
-    $119 = $16;
-    $120 = HEAP8[$119>>0]|0;
-    $121 = $23;
-    HEAP8[$121>>0] = $120;
-    $122 = $120 << 24 >> 24;
-    $123 = ($122|0)!=(0);
-    if (!($123)) {
-     break L22;
-    }
-    $124 = $23;
-    $125 = HEAP8[$124>>0]|0;
-    $126 = $125 << 24 >> 24;
-    $127 = ($126|0)==(37);
-    if ($127) {
-     $128 = $16;
-     $129 = ((($128)) + 1|0);
-     $130 = HEAP8[$129>>0]|0;
-     $131 = $130 << 24 >> 24;
-     $132 = ($131|0)==(115);
-     if ($132) {
-      $133 = $24;
-      $134 = $22;
-      $135 = ($133|0)<($134|0);
-      if ($135) {
-       $136 = $23;
-       $137 = $24;
-       $138 = (($137) + 1)|0;
-       $24 = $138;
-       $139 = (($13) + ($137<<2)|0);
-       $140 = HEAP32[$139>>2]|0;
-       $141 = (_yytnamerr($136,$140)|0);
-       $142 = $23;
-       $143 = (($142) + ($141)|0);
-       $23 = $143;
-       $144 = $16;
-       $145 = ((($144)) + 2|0);
-       $16 = $145;
-       continue;
-      }
-     }
-    }
-    $146 = $23;
-    $147 = ((($146)) + 1|0);
-    $23 = $147;
-    $148 = $16;
-    $149 = ((($148)) + 1|0);
-    $16 = $149;
-   }
-  }
- } while(0);
- $150 = $10;
- $3 = $150;
- $151 = $3;
- STACKTOP = sp;return ($151|0);
-}
-function _yydestruct($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = ($8|0)!=(0|0);
- if (!($9)) {
-  $4 = 60012;
- }
- STACKTOP = sp;return;
-}
-function _yytnamerr($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $7 = $4;
- $8 = HEAP8[$7>>0]|0;
- $9 = $8 << 24 >> 24;
- $10 = ($9|0)==(34);
- L1: do {
-  if ($10) {
-   $5 = 0;
-   $11 = $4;
-   $6 = $11;
-   L3: while(1) {
-    $12 = $6;
-    $13 = ((($12)) + 1|0);
-    $6 = $13;
-    $14 = HEAP8[$13>>0]|0;
-    $15 = $14 << 24 >> 24;
-    switch ($15|0) {
-    case 44: case 39:  {
-     break L1;
-     break;
-    }
-    case 34:  {
-     break L3;
-     break;
-    }
-    case 92:  {
-     $16 = $6;
-     $17 = ((($16)) + 1|0);
-     $6 = $17;
-     $18 = HEAP8[$17>>0]|0;
-     $19 = $18 << 24 >> 24;
-     $20 = ($19|0)!=(92);
-     if ($20) {
-      break L1;
-     }
-     break;
-    }
-    default: {
-    }
-    }
-    $21 = $3;
-    $22 = ($21|0)!=(0|0);
-    if ($22) {
-     $23 = $6;
-     $24 = HEAP8[$23>>0]|0;
-     $25 = $3;
-     $26 = $5;
-     $27 = (($25) + ($26)|0);
-     HEAP8[$27>>0] = $24;
-    }
-    $28 = $5;
-    $29 = (($28) + 1)|0;
-    $5 = $29;
-   }
-   $30 = $3;
-   $31 = ($30|0)!=(0|0);
-   if ($31) {
-    $32 = $3;
-    $33 = $5;
-    $34 = (($32) + ($33)|0);
-    HEAP8[$34>>0] = 0;
-   }
-   $35 = $5;
-   $2 = $35;
-   $47 = $2;
-   STACKTOP = sp;return ($47|0);
-  }
- } while(0);
- $36 = $3;
- $37 = ($36|0)!=(0|0);
- if ($37) {
-  $40 = $3;
-  $41 = $4;
-  $42 = (_yystpcpy($40,$41)|0);
-  $43 = $3;
-  $44 = $42;
-  $45 = $43;
-  $46 = (($44) - ($45))|0;
-  $2 = $46;
-  $47 = $2;
-  STACKTOP = sp;return ($47|0);
- } else {
-  $38 = $4;
-  $39 = (_yystrlen($38)|0);
-  $2 = $39;
-  $47 = $2;
-  STACKTOP = sp;return ($47|0);
- }
- return (0)|0;
-}
-function _yystpcpy($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $6 = $2;
- $4 = $6;
- $7 = $3;
- $5 = $7;
- while(1) {
-  $8 = $5;
-  $9 = ((($8)) + 1|0);
-  $5 = $9;
-  $10 = HEAP8[$8>>0]|0;
-  $11 = $4;
-  $12 = ((($11)) + 1|0);
-  $4 = $12;
-  HEAP8[$11>>0] = $10;
-  $13 = $10 << 24 >> 24;
-  $14 = ($13|0)!=(0);
-  if (!($14)) {
-   break;
-  }
- }
- $15 = $4;
- $16 = ((($15)) + -1|0);
- STACKTOP = sp;return ($16|0);
-}
-function _yystrlen($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = 0;
- while(1) {
-  $3 = $1;
-  $4 = $2;
-  $5 = (($3) + ($4)|0);
-  $6 = HEAP8[$5>>0]|0;
-  $7 = ($6<<24>>24)!=(0);
-  $8 = $2;
-  if (!($7)) {
-   break;
-  }
-  $9 = (($8) + 1)|0;
-  $2 = $9;
- }
- STACKTOP = sp;return ($8|0);
-}
-function _parser_strdup($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $3;
- $7 = (_strlen($6)|0);
- $8 = (_parser_strndup($4,$5,$7)|0);
- STACKTOP = sp;return ($8|0);
-}
-function _parser_strndup($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $3;
- $8 = $5;
- $9 = (($8) + 1)|0;
- $10 = (_parser_palloc($7,$9)|0);
- $6 = $10;
- $11 = $6;
- $12 = $4;
- $13 = $5;
- _memcpy(($11|0),($12|0),($13|0))|0;
- $14 = $6;
- $15 = $5;
- $16 = (($14) + ($15)|0);
- HEAP8[$16>>0] = 0;
- $17 = $6;
- STACKTOP = sp;return ($17|0);
-}
-function _local_var_p($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $7 = $3;
- $8 = ((($7)) + 76|0);
- $9 = HEAP32[$8>>2]|0;
- $5 = $9;
- L1: while(1) {
-  $10 = $5;
-  $11 = ($10|0)!=(0|0);
-  if (!($11)) {
-   label = 9;
-   break;
-  }
-  $12 = $5;
-  $13 = HEAP32[$12>>2]|0;
-  $6 = $13;
-  while(1) {
-   $14 = $6;
-   $15 = ($14|0)!=(0|0);
-   if (!($15)) {
-    break;
-   }
-   $16 = $6;
-   $17 = HEAP32[$16>>2]|0;
-   $18 = $17;
-   $19 = $4;
-   $20 = ($18|0)==($19|0);
-   if ($20) {
-    label = 6;
-    break L1;
-   }
-   $21 = $6;
-   $22 = ((($21)) + 4|0);
-   $23 = HEAP32[$22>>2]|0;
-   $6 = $23;
-  }
-  $24 = $5;
-  $25 = ((($24)) + 4|0);
-  $26 = HEAP32[$25>>2]|0;
-  $5 = $26;
- }
- if ((label|0) == 6) {
-  $2 = 1;
-  $27 = $2;
-  STACKTOP = sp;return ($27|0);
- }
- else if ((label|0) == 9) {
-  $2 = 0;
-  $27 = $2;
-  STACKTOP = sp;return ($27|0);
- }
- return (0)|0;
-}
-function _cons_free_gen($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = ((($4)) + 8|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = $3;
- $8 = ((($7)) + 4|0);
- HEAP32[$8>>2] = $6;
- $9 = $3;
- $10 = $2;
- $11 = ((($10)) + 8|0);
- HEAP32[$11>>2] = $9;
- STACKTOP = sp;return;
-}
-function _new_strterm($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $9;
- $11 = $4;
- $12 = $4;
- $13 = $7;
- $14 = $13;
- $15 = $6;
- $16 = $15;
- $17 = (_cons_gen($12,$14,$16)|0);
- $18 = (_cons_gen($11,0,$17)|0);
- $19 = (_cons_gen($8,$10,$18)|0);
- STACKTOP = sp;return ($19|0);
-}
-function _end_strterm($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = $1;
- $4 = ((($3)) + 44|0);
- $5 = HEAP32[$4>>2]|0;
- $6 = ((($5)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ((($7)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- _cons_free_gen($2,$9);
- $10 = $1;
- $11 = $1;
- $12 = ((($11)) + 44|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ((($13)) + 4|0);
- $15 = HEAP32[$14>>2]|0;
- _cons_free_gen($10,$15);
- $16 = $1;
- $17 = $1;
- $18 = ((($17)) + 44|0);
- $19 = HEAP32[$18>>2]|0;
- _cons_free_gen($16,$19);
- $20 = $1;
- $21 = ((($20)) + 44|0);
- HEAP32[$21>>2] = 0;
- STACKTOP = sp;return;
-}
-function _locals_node($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 76|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  $10 = 0;
-  STACKTOP = sp;return ($10|0);
- }
- $6 = $1;
- $7 = ((($6)) + 76|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = HEAP32[$8>>2]|0;
- $10 = $9;
- STACKTOP = sp;return ($10|0);
-}
-function _list6_gen($0,$1,$2,$3,$4,$5,$6) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- $6 = $6|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $7 = $0;
- $8 = $1;
- $9 = $2;
- $10 = $3;
- $11 = $4;
- $12 = $5;
- $13 = $6;
- $14 = $7;
- $15 = $8;
- $16 = $7;
- $17 = $9;
- $18 = $7;
- $19 = $10;
- $20 = $7;
- $21 = $11;
- $22 = $7;
- $23 = $12;
- $24 = $7;
- $25 = $13;
- $26 = (_cons_gen($24,$25,0)|0);
- $27 = (_cons_gen($22,$23,$26)|0);
- $28 = (_cons_gen($20,$21,$27)|0);
- $29 = (_cons_gen($18,$19,$28)|0);
- $30 = (_cons_gen($16,$17,$29)|0);
- $31 = (_cons_gen($14,$15,$30)|0);
- STACKTOP = sp;return ($31|0);
-}
-function _list5_gen($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $6 = $0;
- $7 = $1;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- $11 = $5;
- $12 = $6;
- $13 = $7;
- $14 = $6;
- $15 = $8;
- $16 = $6;
- $17 = $9;
- $18 = $6;
- $19 = $10;
- $20 = $6;
- $21 = $11;
- $22 = (_cons_gen($20,$21,0)|0);
- $23 = (_cons_gen($18,$19,$22)|0);
- $24 = (_cons_gen($16,$17,$23)|0);
- $25 = (_cons_gen($14,$15,$24)|0);
- $26 = (_cons_gen($12,$13,$25)|0);
- STACKTOP = sp;return ($26|0);
-}
-function _list4_gen($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $10 = $5;
- $11 = $6;
- $12 = $5;
- $13 = $7;
- $14 = $5;
- $15 = $8;
- $16 = $5;
- $17 = $9;
- $18 = (_cons_gen($16,$17,0)|0);
- $19 = (_cons_gen($14,$15,$18)|0);
- $20 = (_cons_gen($12,$13,$19)|0);
- $21 = (_cons_gen($10,$11,$20)|0);
- STACKTOP = sp;return ($21|0);
-}
-function _intern_cstr_gen($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $3;
- $7 = (_mrb_intern_cstr($5,$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _local_add($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = (_local_var_p($4,$5)|0);
- $7 = ($6<<24>>24)!=(0);
- if ($7) {
-  STACKTOP = sp;return;
- }
- $8 = $2;
- $9 = $3;
- _local_add_f($8,$9);
- STACKTOP = sp;return;
-}
-function _yyerror_i($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0);
- $vararg_buffer = sp;
- $6 = sp + 16|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $4;
- $8 = $5;
- HEAP32[$vararg_buffer>>2] = $8;
- (_snprintf($6,256,$7,$vararg_buffer)|0);
- $9 = $3;
- _yyerror($9,$6);
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_value_530($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _parser_yylex($0) {
- $0 = $0|0;
- var $$old = 0, $$old1 = 0, $$old104 = 0, $$old105 = 0, $$old110 = 0, $$old111 = 0, $$old113 = 0, $$old114 = 0, $$old127 = 0, $$old128 = 0, $$old130 = 0, $$old131 = 0, $$old136 = 0, $$old137 = 0, $$old139 = 0, $$old140 = 0, $$old15 = 0, $$old16 = 0, $$old2 = 0, $$old28 = 0;
- var $$old29 = 0, $$old3 = 0, $$old31 = 0, $$old32 = 0, $$old42 = 0, $$old43 = 0, $$old45 = 0, $$old46 = 0, $$old50 = 0, $$old51 = 0, $$old53 = 0, $$old54 = 0, $$sink = 0, $$sink103 = 0, $$sink118 = 0, $$sink12 = 0, $$sink120 = 0, $$sink121 = 0, $$sink123 = 0, $$sink124 = 0;
- var $$sink126 = 0, $$sink14 = 0, $$sink144 = 0, $$sink146 = 0, $$sink18 = 0, $$sink194 = 0, $$sink195 = 0, $$sink20 = 0, $$sink21 = 0, $$sink36 = 0, $$sink38 = 0, $$sink39 = 0, $$sink41 = 0, $$sink8 = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0;
- var $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0;
- var $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0.0, $1032 = 0.0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0;
- var $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0;
- var $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0;
- var $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0;
- var $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0, $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0;
- var $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0, $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0;
- var $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0, $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0;
- var $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0, $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0;
- var $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0, $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0;
- var $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0;
- var $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0, $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0;
- var $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0, $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0;
- var $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0, $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0;
- var $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0, $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0;
- var $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0, $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0;
- var $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0;
- var $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0, $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0;
- var $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0, $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0;
- var $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0, $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0;
- var $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0, $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0;
- var $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0, $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0;
- var $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0, $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0;
- var $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0, $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0;
- var $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0, $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0;
- var $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0, $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0;
- var $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0, $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0;
- var $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0, $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0;
- var $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0, $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0;
- var $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0, $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0;
- var $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0, $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0;
- var $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0, $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0;
- var $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0, $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0;
- var $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0;
- var $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0, $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0;
- var $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0, $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0;
- var $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0, $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0;
- var $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0, $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0;
- var $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0, $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0;
- var $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0, $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0;
- var $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0, $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0;
- var $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0, $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0;
- var $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0, $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0;
- var $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0;
- var $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0.0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0, $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0;
- var $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0, $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0;
- var $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0, $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0;
- var $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0, $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0;
- var $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0, $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0;
- var $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0, $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0;
- var $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0, $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0;
- var $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0, $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0;
- var $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0, $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0;
- var $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0, $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0;
- var $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0, $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0;
- var $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $2 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0, $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0;
- var $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0, $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0;
- var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
- var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
- var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0;
- var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0;
- var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0;
- var $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0;
- var $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0;
- var $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0;
- var $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0;
- var $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0;
- var $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0;
- var $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0;
- var $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0;
- var $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0;
- var $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0;
- var $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0;
- var $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0;
- var $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0;
- var $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0;
- var $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0;
- var $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0;
- var $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0;
- var $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0;
- var $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0;
- var $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0;
- var $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0;
- var $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0;
- var $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0;
- var $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0;
- var $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0;
- var $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0;
- var $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0;
- var $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0;
- var $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0;
- var $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0;
- var $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0;
- var $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0;
- var $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0;
- var $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0;
- var $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0;
- var $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0;
- var $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0;
- var $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0;
- var $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0;
- var $997 = 0, $998 = 0, $999 = 0, $or$cond = 0, $or$cond$not = 0, $or$cond102 = 0, $or$cond106 = 0, $or$cond109 = 0, $or$cond11 = 0, $or$cond112 = 0, $or$cond112$not = 0, $or$cond115 = 0, $or$cond117 = 0, $or$cond129 = 0, $or$cond132 = 0, $or$cond135 = 0, $or$cond138 = 0, $or$cond138$not = 0, $or$cond141 = 0, $or$cond143 = 0;
- var $or$cond149 = 0, $or$cond149$not = 0, $or$cond152 = 0, $or$cond155 = 0, $or$cond155$not = 0, $or$cond158 = 0, $or$cond161 = 0, $or$cond161$not = 0, $or$cond164 = 0, $or$cond167 = 0, $or$cond167$not = 0, $or$cond17 = 0, $or$cond170 = 0, $or$cond173 = 0, $or$cond178 = 0, $or$cond181 = 0, $or$cond184 = 0, $or$cond187 = 0, $or$cond190 = 0, $or$cond193 = 0;
- var $or$cond198 = 0, $or$cond24 = 0, $or$cond27 = 0, $or$cond30 = 0, $or$cond30$not = 0, $or$cond33 = 0, $or$cond35 = 0, $or$cond4 = 0, $or$cond44 = 0, $or$cond44$not = 0, $or$cond47 = 0, $or$cond49 = 0, $or$cond52 = 0, $or$cond52$not = 0, $or$cond55 = 0, $or$cond57 = 0, $or$cond6 = 0, $or$cond60 = 0, $or$cond63 = 0, $or$cond66 = 0;
- var $or$cond69 = 0, $or$cond72 = 0, $or$cond75 = 0, $or$cond78 = 0, $or$cond81 = 0, $or$cond84 = 0, $or$cond87 = 0, $or$cond90 = 0, $or$cond93 = 0, $or$cond96 = 0, $or$cond99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0);
- $vararg_buffer = sp + 8|0;
- $10 = sp + 112|0;
- $19 = sp + 40|0;
- $2 = $0;
- $4 = 0;
- $27 = $2;
- $28 = ((($27)) + 44|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = ($29|0)!=(0|0);
- if ($30) {
-  $31 = $2;
-  $32 = ((($31)) + 44|0);
-  $33 = HEAP32[$32>>2]|0;
-  $34 = HEAP32[$33>>2]|0;
-  $35 = $34;
-  $36 = $35 & 64;
-  $37 = ($36|0)!=(0);
-  $38 = $2;
-  if (!($37)) {
-   $44 = (_parse_string($38)|0);
-   $1 = $44;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-  }
-  $39 = ((($38)) + 1120|0);
-  $40 = HEAP32[$39>>2]|0;
-  $41 = ($40|0)!=(0|0);
-  if ($41) {
-   $42 = $2;
-   $43 = (_parse_string($42)|0);
-   $1 = $43;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-  }
- }
- $45 = $2;
- $46 = ((($45)) + 72|0);
- $47 = HEAP8[$46>>0]|0;
- $48 = $47 & 1;
- $49 = $48&255;
- $5 = $49;
- $50 = $2;
- $51 = ((($50)) + 72|0);
- $52 = HEAP8[$51>>0]|0;
- $53 = $52 & -2;
- HEAP8[$51>>0] = $53;
- L10: while(1) {
-  $54 = $2;
-  $55 = ((($54)) + 40|0);
-  $56 = HEAP32[$55>>2]|0;
-  $6 = $56;
-  $57 = $2;
-  $58 = (_nextc($57)|0);
-  $3 = $58;
-  switch ($58|0) {
-  case 42:  {
-   label = 25;
-   break L10;
-   break;
-  }
-  case 33:  {
-   label = 47;
-   break L10;
-   break;
-  }
-  case 60:  {
-   label = 82;
-   break L10;
-   break;
-  }
-  case 62:  {
-   label = 107;
-   break L10;
-   break;
-  }
-  case 34:  {
-   label = 118;
-   break L10;
-   break;
-  }
-  case 39:  {
-   label = 119;
-   break L10;
-   break;
-  }
-  case 96:  {
-   label = 120;
-   break L10;
-   break;
-  }
-  case 63:  {
-   label = 125;
-   break L10;
-   break;
-  }
-  case 38:  {
-   label = 152;
-   break L10;
-   break;
-  }
-  case 124:  {
-   label = 174;
-   break L10;
-   break;
-  }
-  case 43:  {
-   label = 185;
-   break L10;
-   break;
-  }
-  case 45:  {
-   label = 206;
-   break L10;
-   break;
-  }
-  case 46:  {
-   label = 229;
-   break L10;
-   break;
-  }
-  case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48:  {
-   label = 237;
-   break L10;
-   break;
-  }
-  case 93: case 41:  {
-   label = 329;
-   break L10;
-   break;
-  }
-  case 125:  {
-   label = 330;
-   break L10;
-   break;
-  }
-  case 58:  {
-   label = 331;
-   break L10;
-   break;
-  }
-  case 47:  {
-   label = 348;
-   break L10;
-   break;
-  }
-  case 94:  {
-   label = 365;
-   break L10;
-   break;
-  }
-  case 59:  {
-   label = 372;
-   break L10;
-   break;
-  }
-  case 44:  {
-   label = 373;
-   break L10;
-   break;
-  }
-  case 126:  {
-   label = 374;
-   break L10;
-   break;
-  }
-  case 40:  {
-   label = 381;
-   break L10;
-   break;
-  }
-  case 91:  {
-   label = 391;
-   break L10;
-   break;
-  }
-  case 123:  {
-   label = 408;
-   break L10;
-   break;
-  }
-  case 37:  {
-   label = 423;
-   break L10;
-   break;
-  }
-  case 36:  {
-   label = 467;
-   break L10;
-   break;
-  }
-  case 64:  {
-   label = 491;
-   break L10;
-   break;
-  }
-  case 95:  {
-   label = 506;
-   break L10;
-   break;
-  }
-  case -1: case 0: case 26: case 4:  {
-   $59 = $2;
-   $60 = ((($59)) + 1116|0);
-   $61 = HEAP32[$60>>2]|0;
-   $62 = ($61|0)!=(0|0);
-   if (!($62)) {
-    label = 9;
-    break L10;
-   }
-   break;
-  }
-  case 11: case 13: case 12: case 9: case 32:  {
-   $4 = 1;
-   continue L10;
-   break;
-  }
-  case 35:  {
-   $63 = $2;
-   _skip($63,10);
-   break;
-  }
-  case 10: case -2:  {
-   break;
-  }
-  case 61:  {
-   $197 = $2;
-   $198 = ((($197)) + 36|0);
-   $199 = HEAP32[$198>>2]|0;
-   $200 = ($199|0)==(1);
-   if (!($200)) {
-    label = 69;
-    break L10;
-   }
-   $201 = $2;
-   $202 = (_peeks($201,69214)|0);
-   $203 = ($202<<24>>24)!=(0);
-   if (!($203)) {
-    label = 69;
-    break L10;
-   }
-   $204 = $2;
-   $205 = (_peekc_n($204,5)|0);
-   $3 = $205;
-   $206 = $3;
-   $207 = ($206|0)<(0);
-   $208 = $3;
-   $209 = ($208|0)==(32);
-   $or$cond11 = $207 | $209;
-   if (!($or$cond11)) {
-    $210 = $3;
-    $211 = (($210) - 9)|0;
-    $212 = ($211>>>0)<(5);
-    if (!($212)) {
-     label = 69;
-     break L10;
-    }
-   }
-   while(1) {
-    $213 = $2;
-    $214 = (_skips($213,63011)|0);
-    $215 = ($214<<24>>24)!=(0);
-    $216 = $2;
-    if (!($215)) {
-     label = 62;
-     break L10;
-    }
-    $217 = (_nextc($216)|0);
-    $3 = $217;
-    $218 = $3;
-    $219 = ($218|0)<(0);
-    $220 = $3;
-    $221 = ($220|0)==(32);
-    $or$cond198 = $219 | $221;
-    if ($or$cond198) {
-     $226 = 1;
-    } else {
-     $222 = $3;
-     $223 = (($222) - 9)|0;
-     $224 = ($223>>>0)<(5);
-     $226 = $224;
-    }
-    $225 = $226 ^ 1;
-    if (!($225)) {
-     break;
-    }
-   }
-   $227 = $3;
-   $228 = ($227|0)!=(10);
-   if ($228) {
-    $229 = $2;
-    _skip($229,10);
-   }
-   $230 = $2;
-   $231 = ((($230)) + 32|0);
-   $232 = HEAP32[$231>>2]|0;
-   $233 = (($232) + 1)|0;
-   HEAP32[$231>>2] = $233;
-   $234 = $2;
-   $235 = ((($234)) + 36|0);
-   HEAP32[$235>>2] = 0;
-   continue L10;
-   break;
-  }
-  case 92:  {
-   $1431 = $2;
-   $1432 = (_nextc($1431)|0);
-   $3 = $1432;
-   $1433 = $3;
-   $1434 = ($1433|0)==(10);
-   $1435 = $2;
-   if (!($1434)) {
-    label = 422;
-    break L10;
-   }
-   $1436 = ((($1435)) + 32|0);
-   $1437 = HEAP32[$1436>>2]|0;
-   $1438 = (($1437) + 1)|0;
-   HEAP32[$1436>>2] = $1438;
-   $1439 = $2;
-   $1440 = ((($1439)) + 36|0);
-   HEAP32[$1440>>2] = 0;
-   $4 = 1;
-   continue L10;
-   break;
-  }
-  default: {
-   $1731 = $3;
-   $1732 = $1731 | 32;
-   $1733 = (($1732) - 97)|0;
-   $1734 = ($1733>>>0)<(26);
-   if ($1734) {
-    label = 510;
-    break L10;
-   }
-   $1735 = $3;
-   $1736 = (($1735) - 48)|0;
-   $1737 = ($1736>>>0)<(10);
-   $1738 = $3;
-   $1739 = ($1738|0)==(95);
-   $or$cond167 = $1737 | $1739;
-   $or$cond167$not = $or$cond167 ^ 1;
-   $1740 = $3;
-   $1741 = ($1740>>>0)<=(127);
-   $or$cond170 = $or$cond167$not & $1741;
-   if (!($or$cond170)) {
-    label = 510;
-    break L10;
-   }
-   $1742 = $2;
-   $1743 = $3;
-   _yyerror_i($1742,63639,$1743);
-   continue L10;
-  }
-  }
-  $64 = $2;
-  _heredoc_treat_nextline($64);
-  $65 = $2;
-  $66 = ((($65)) + 40|0);
-  $67 = HEAP32[$66>>2]|0;
-  switch ($67|0) {
-  case 10: case 9: case 8: case 7: case 0:  {
-   $68 = $2;
-   $69 = ((($68)) + 32|0);
-   $70 = HEAP32[$69>>2]|0;
-   $71 = (($70) + 1)|0;
-   HEAP32[$69>>2] = $71;
-   $72 = $2;
-   $73 = ((($72)) + 36|0);
-   HEAP32[$73>>2] = 0;
-   $74 = $2;
-   $75 = ((($74)) + 1120|0);
-   $76 = HEAP32[$75>>2]|0;
-   $77 = ($76|0)!=(0|0);
-   if (!($77)) {
-    continue L10;
-   }
-   $78 = $2;
-   $79 = ((($78)) + 44|0);
-   $80 = HEAP32[$79>>2]|0;
-   $81 = ($80|0)!=(0|0);
-   if ($81) {
-    label = 15;
-    break L10;
-   } else {
-    continue L10;
-   }
-   break;
-  }
-  default: {
-  }
-  }
-  $84 = $2;
-  $85 = ((($84)) + 1120|0);
-  $86 = HEAP32[$85>>2]|0;
-  $87 = ($86|0)!=(0|0);
-  if ($87) {
-   label = 17;
-   break;
-  }
-  L41: while(1) {
-   $88 = $2;
-   $89 = (_nextc($88)|0);
-   $3 = $89;
-   $90 = ($89|0)!=(0);
-   if (!($90)) {
-    label = 24;
-    break L10;
-   }
-   $91 = $3;
-   switch ($91|0) {
-   case -2: case -1:  {
-    label = 24;
-    break L10;
-    break;
-   }
-   case 46:  {
-    break L41;
-    break;
-   }
-   case 11: case 13: case 12: case 9: case 32:  {
-    break;
-   }
-   default: {
-    label = 23;
-    break L10;
-   }
-   }
-   $4 = 1;
-  }
-  $92 = $2;
-  $93 = (_nextc($92)|0);
-  $3 = $93;
-  $94 = ($93|0)!=(46);
-  if (!($94)) {
-   label = 24;
-   break;
-  }
-  $95 = $2;
-  $96 = $3;
-  _pushback($95,$96);
-  $97 = $2;
-  _pushback($97,46);
- }
- L47:  switch (label|0) {
-  case 9: {
-   $1 = 0;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 15: {
-   $82 = $2;
-   $83 = (_parse_string($82)|0);
-   $1 = $83;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 17: {
-   $1 = 10;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 23: {
-   $98 = $2;
-   $99 = $3;
-   _pushback($98,$99);
-   label = 24;
-   break;
-  }
-  case 25: {
-   $107 = $2;
-   $108 = (_nextc($107)|0);
-   $3 = $108;
-   $109 = ($108|0)==(42);
-   do {
-    if ($109) {
-     $110 = $2;
-     $111 = (_nextc($110)|0);
-     $3 = $111;
-     $112 = ($111|0)==(61);
-     $113 = $2;
-     if (!($112)) {
-      $120 = $3;
-      _pushback($113,$120);
-      $3 = 326;
-      break;
-     }
-     $114 = (_intern_gen($113,59540,2)|0);
-     $115 = $2;
-     $116 = ((($115)) + 1132|0);
-     $117 = HEAP32[$116>>2]|0;
-     HEAP32[$117>>2] = $114;
-     $118 = $2;
-     $119 = ((($118)) + 40|0);
-     HEAP32[$119>>2] = 0;
-     $1 = 345;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    } else {
-     $121 = $3;
-     $122 = ($121|0)==(61);
-     $123 = $2;
-     if ($122) {
-      $124 = (_intern_gen_c($123,42)|0);
-      $125 = $2;
-      $126 = ((($125)) + 1132|0);
-      $127 = HEAP32[$126>>2]|0;
-      HEAP32[$127>>2] = $124;
-      $128 = $2;
-      $129 = ((($128)) + 40|0);
-      HEAP32[$129>>2] = 0;
-      $1 = 345;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-     $130 = $3;
-     _pushback($123,$130);
-     $131 = $2;
-     $132 = ((($131)) + 40|0);
-     $133 = HEAP32[$132>>2]|0;
-     $134 = ($133|0)==(4);
-     if ($134) {
-      $$old = $4;
-      $$old1 = ($$old|0)==(0);
-      $$old2 = $3;
-      $$old3 = ($$old2|0)==(32);
-      $or$cond6 = $$old1 | $$old3;
-      if (!($or$cond6)) {
-       label = 34;
-      }
-     } else {
-      $135 = $2;
-      $136 = ((($135)) + 40|0);
-      $137 = HEAP32[$136>>2]|0;
-      $138 = ($137|0)==(5);
-      $139 = $4;
-      $140 = ($139|0)!=(0);
-      $or$cond = $138 & $140;
-      $or$cond$not = $or$cond ^ 1;
-      $141 = $3;
-      $142 = ($141|0)==(32);
-      $or$cond4 = $or$cond$not | $142;
-      if (!($or$cond4)) {
-       label = 34;
-      }
-     }
-     if ((label|0) == 34) {
-      $143 = $3;
-      $144 = (($143) - 9)|0;
-      $145 = ($144>>>0)<(5);
-      if (!($145)) {
-       $146 = $2;
-       _yywarning($146,62976);
-       $3 = 353;
-       break;
-      }
-     }
-     $147 = $2;
-     $148 = ((($147)) + 40|0);
-     $149 = HEAP32[$148>>2]|0;
-     $150 = ($149|0)==(0);
-     if (!($150)) {
-      $151 = $2;
-      $152 = ((($151)) + 40|0);
-      $153 = HEAP32[$152>>2]|0;
-      $154 = ($153|0)==(6);
-      if (!($154)) {
-       $155 = $2;
-       $156 = ((($155)) + 40|0);
-       $157 = HEAP32[$156>>2]|0;
-       $158 = ($157|0)==(10);
-       if (!($158)) {
-        $159 = $2;
-        $160 = ((($159)) + 40|0);
-        $161 = HEAP32[$160>>2]|0;
-        $162 = ($161|0)==(9);
-        if (!($162)) {
-         $3 = 42;
-         break;
-        }
-       }
-      }
-     }
-     $3 = 353;
-    }
-   } while(0);
-   $163 = $2;
-   $164 = ((($163)) + 40|0);
-   $165 = HEAP32[$164>>2]|0;
-   $166 = ($165|0)==(7);
-   if ($166) {
-    label = 44;
-   } else {
-    $167 = $2;
-    $168 = ((($167)) + 40|0);
-    $169 = HEAP32[$168>>2]|0;
-    $170 = ($169|0)==(8);
-    if ($170) {
-     label = 44;
-    } else {
-     $172 = $2;
-     $$sink = 0;$$sink8 = $172;
-    }
-   }
-   if ((label|0) == 44) {
-    $171 = $2;
-    $$sink = 4;$$sink8 = $171;
-   }
-   $173 = ((($$sink8)) + 40|0);
-   HEAP32[$173>>2] = $$sink;
-   $174 = $3;
-   $1 = $174;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 47: {
-   $175 = $2;
-   $176 = (_nextc($175)|0);
-   $3 = $176;
-   $177 = $2;
-   $178 = ((($177)) + 40|0);
-   $179 = HEAP32[$178>>2]|0;
-   $180 = ($179|0)==(7);
-   if ($180) {
-    label = 49;
-   } else {
-    $181 = $2;
-    $182 = ((($181)) + 40|0);
-    $183 = HEAP32[$182>>2]|0;
-    $184 = ($183|0)==(8);
-    if ($184) {
-     label = 49;
-    } else {
-     $189 = $2;
-     $190 = ((($189)) + 40|0);
-     HEAP32[$190>>2] = 0;
-    }
-   }
-   if ((label|0) == 49) {
-    $185 = $2;
-    $186 = ((($185)) + 40|0);
-    HEAP32[$186>>2] = 4;
-    $187 = $3;
-    $188 = ($187|0)==(64);
-    if ($188) {
-     $1 = 33;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-   }
-   $191 = $3;
-   $192 = ($191|0)==(61);
-   if ($192) {
-    $1 = 330;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $193 = $3;
-   $194 = ($193|0)==(126);
-   if ($194) {
-    $1 = 336;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   } else {
-    $195 = $2;
-    $196 = $3;
-    _pushback($195,$196);
-    $1 = 33;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   break;
-  }
-  case 62: {
-   _yyerror($216,63017);
-   $1 = 0;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 69: {
-   $236 = $2;
-   $237 = ((($236)) + 40|0);
-   $238 = HEAP32[$237>>2]|0;
-   $239 = ($238|0)==(7);
-   if ($239) {
-    label = 71;
-   } else {
-    $240 = $2;
-    $241 = ((($240)) + 40|0);
-    $242 = HEAP32[$241>>2]|0;
-    $243 = ($242|0)==(8);
-    if ($243) {
-     label = 71;
-    } else {
-     $245 = $2;
-     $$sink12 = 0;$$sink14 = $245;
-    }
-   }
-   if ((label|0) == 71) {
-    $244 = $2;
-    $$sink12 = 4;$$sink14 = $244;
-   }
-   $246 = ((($$sink14)) + 40|0);
-   HEAP32[$246>>2] = $$sink12;
-   $247 = $2;
-   $248 = (_nextc($247)|0);
-   $3 = $248;
-   $249 = ($248|0)==(61);
-   if ($249) {
-    $250 = $2;
-    $251 = (_nextc($250)|0);
-    $3 = $251;
-    $252 = ($251|0)==(61);
-    if ($252) {
-     $1 = 329;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    } else {
-     $253 = $2;
-     $254 = $3;
-     _pushback($253,$254);
-     $1 = 328;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-   }
-   $255 = $3;
-   $256 = ($255|0)==(126);
-   if ($256) {
-    $1 = 335;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $257 = $3;
-   $258 = ($257|0)==(62);
-   if ($258) {
-    $1 = 346;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   } else {
-    $259 = $2;
-    $260 = $3;
-    _pushback($259,$260);
-    $1 = 61;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   break;
-  }
-  case 82: {
-   $261 = $2;
-   $262 = (_nextc($261)|0);
-   $3 = $262;
-   $263 = $3;
-   $264 = ($263|0)==(60);
-   do {
-    if ($264) {
-     $265 = $2;
-     $266 = ((($265)) + 40|0);
-     $267 = HEAP32[$266>>2]|0;
-     $268 = ($267|0)!=(8);
-     if ($268) {
-      $269 = $2;
-      $270 = ((($269)) + 40|0);
-      $271 = HEAP32[$270>>2]|0;
-      $272 = ($271|0)!=(9);
-      if ($272) {
-       $273 = $2;
-       $274 = ((($273)) + 40|0);
-       $275 = HEAP32[$274>>2]|0;
-       $276 = ($275|0)==(1);
-       if (!($276)) {
-        $277 = $2;
-        $278 = ((($277)) + 40|0);
-        $279 = HEAP32[$278>>2]|0;
-        $280 = ($279|0)==(2);
-        if (!($280)) {
-         $281 = $2;
-         $282 = ((($281)) + 40|0);
-         $283 = HEAP32[$282>>2]|0;
-         $284 = ($283|0)==(3);
-         if (!($284)) {
-          $285 = $2;
-          $286 = ((($285)) + 40|0);
-          $287 = HEAP32[$286>>2]|0;
-          $288 = ($287|0)==(4);
-          if ($288) {
-           $$old15 = $4;
-           $$old16 = ($$old15|0)!=(0);
-           if (!($$old16)) {
-            break;
-           }
-          } else {
-           $289 = $2;
-           $290 = ((($289)) + 40|0);
-           $291 = HEAP32[$290>>2]|0;
-           $292 = ($291|0)!=(5);
-           $293 = $4;
-           $294 = ($293|0)!=(0);
-           $or$cond17 = $292 | $294;
-           if (!($or$cond17)) {
-            break;
-           }
-          }
-          $295 = $2;
-          $296 = (_heredoc_identifier($295)|0);
-          $8 = $296;
-          $297 = $8;
-          $298 = ($297|0)!=(0);
-          if ($298) {
-           $299 = $8;
-           $1 = $299;
-           $2029 = $1;
-           STACKTOP = sp;return ($2029|0);
-          }
-         }
-        }
-       }
-      }
-     }
-    }
-   } while(0);
-   $300 = $2;
-   $301 = ((($300)) + 40|0);
-   $302 = HEAP32[$301>>2]|0;
-   $303 = ($302|0)==(7);
-   if ($303) {
-    label = 95;
-   } else {
-    $304 = $2;
-    $305 = ((($304)) + 40|0);
-    $306 = HEAP32[$305>>2]|0;
-    $307 = ($306|0)==(8);
-    if ($307) {
-     label = 95;
-    } else {
-     $310 = $2;
-     $311 = ((($310)) + 40|0);
-     HEAP32[$311>>2] = 0;
-     $312 = $2;
-     $313 = ((($312)) + 40|0);
-     $314 = HEAP32[$313>>2]|0;
-     $315 = ($314|0)==(9);
-     if ($315) {
-      $316 = $2;
-      $317 = ((($316)) + 72|0);
-      $318 = HEAP8[$317>>0]|0;
-      $319 = $318 & -2;
-      $320 = $319 | 1;
-      HEAP8[$317>>0] = $320;
-     }
-    }
-   }
-   if ((label|0) == 95) {
-    $308 = $2;
-    $309 = ((($308)) + 40|0);
-    HEAP32[$309>>2] = 4;
-   }
-   $321 = $3;
-   $322 = ($321|0)==(61);
-   if ($322) {
-    $323 = $2;
-    $324 = (_nextc($323)|0);
-    $3 = $324;
-    $325 = ($324|0)==(62);
-    if ($325) {
-     $1 = 327;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    } else {
-     $326 = $2;
-     $327 = $3;
-     _pushback($326,$327);
-     $1 = 332;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-   }
-   $328 = $3;
-   $329 = ($328|0)==(60);
-   $330 = $2;
-   if (!($329)) {
-    $341 = $3;
-    _pushback($330,$341);
-    $1 = 60;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $331 = (_nextc($330)|0);
-   $3 = $331;
-   $332 = ($331|0)==(61);
-   $333 = $2;
-   if ($332) {
-    $334 = (_intern_gen($333,64616,2)|0);
-    $335 = $2;
-    $336 = ((($335)) + 1132|0);
-    $337 = HEAP32[$336>>2]|0;
-    HEAP32[$337>>2] = $334;
-    $338 = $2;
-    $339 = ((($338)) + 40|0);
-    HEAP32[$339>>2] = 0;
-    $1 = 345;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   } else {
-    $340 = $3;
-    _pushback($333,$340);
-    $1 = 341;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   break;
-  }
-  case 107: {
-   $342 = $2;
-   $343 = ((($342)) + 40|0);
-   $344 = HEAP32[$343>>2]|0;
-   $345 = ($344|0)==(7);
-   if ($345) {
-    label = 109;
-   } else {
-    $346 = $2;
-    $347 = ((($346)) + 40|0);
-    $348 = HEAP32[$347>>2]|0;
-    $349 = ($348|0)==(8);
-    if ($349) {
-     label = 109;
-    } else {
-     $351 = $2;
-     $$sink18 = 0;$$sink20 = $351;
-    }
-   }
-   if ((label|0) == 109) {
-    $350 = $2;
-    $$sink18 = 4;$$sink20 = $350;
-   }
-   $352 = ((($$sink20)) + 40|0);
-   HEAP32[$352>>2] = $$sink18;
-   $353 = $2;
-   $354 = (_nextc($353)|0);
-   $3 = $354;
-   $355 = ($354|0)==(61);
-   if ($355) {
-    $1 = 331;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $356 = $3;
-   $357 = ($356|0)==(62);
-   $358 = $2;
-   if (!($357)) {
-    $369 = $3;
-    _pushback($358,$369);
-    $1 = 62;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $359 = (_nextc($358)|0);
-   $3 = $359;
-   $360 = ($359|0)==(61);
-   $361 = $2;
-   if ($360) {
-    $362 = (_intern_gen($361,59537,2)|0);
-    $363 = $2;
-    $364 = ((($363)) + 1132|0);
-    $365 = HEAP32[$364>>2]|0;
-    HEAP32[$365>>2] = $362;
-    $366 = $2;
-    $367 = ((($366)) + 40|0);
-    HEAP32[$367>>2] = 0;
-    $1 = 345;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   } else {
-    $368 = $3;
-    _pushback($361,$368);
-    $1 = 342;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   break;
-  }
-  case 118: {
-   $370 = $2;
-   $371 = (_new_strterm($370,3,34,0)|0);
-   $372 = $2;
-   $373 = ((($372)) + 44|0);
-   HEAP32[$373>>2] = $371;
-   $1 = 360;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 119: {
-   $374 = $2;
-   $375 = (_new_strterm($374,1,39,0)|0);
-   $376 = $2;
-   $377 = ((($376)) + 44|0);
-   HEAP32[$377>>2] = $375;
-   $378 = $2;
-   $379 = (_parse_string($378)|0);
-   $1 = $379;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 120: {
-   $380 = $2;
-   $381 = ((($380)) + 40|0);
-   $382 = HEAP32[$381>>2]|0;
-   $383 = ($382|0)==(7);
-   $384 = $2;
-   $385 = ((($384)) + 40|0);
-   if ($383) {
-    HEAP32[$385>>2] = 3;
-    $1 = 96;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $386 = HEAP32[$385>>2]|0;
-   $387 = ($386|0)==(8);
-   if ($387) {
-    $388 = $5;
-    $389 = ($388|0)!=(0);
-    $390 = $2;
-    $391 = ((($390)) + 40|0);
-    $$sink21 = $389 ? 5 : 4;
-    HEAP32[$391>>2] = $$sink21;
-    $1 = 96;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   } else {
-    $392 = $2;
-    $393 = (_new_strterm($392,131,96,0)|0);
-    $394 = $2;
-    $395 = ((($394)) + 44|0);
-    HEAP32[$395>>2] = $393;
-    $1 = 361;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   break;
-  }
-  case 125: {
-   $396 = $2;
-   $397 = ((($396)) + 40|0);
-   $398 = HEAP32[$397>>2]|0;
-   $399 = ($398|0)==(1);
-   if (!($399)) {
-    $400 = $2;
-    $401 = ((($400)) + 40|0);
-    $402 = HEAP32[$401>>2]|0;
-    $403 = ($402|0)==(2);
-    if (!($403)) {
-     $404 = $2;
-     $405 = ((($404)) + 40|0);
-     $406 = HEAP32[$405>>2]|0;
-     $407 = ($406|0)==(3);
-     if (!($407)) {
-      $410 = $2;
-      $411 = (_nextc($410)|0);
-      $3 = $411;
-      $412 = $3;
-      $413 = ($412|0)<(0);
-      if ($413) {
-       $414 = $2;
-       _yyerror($414,63053);
-       $1 = 0;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-      $415 = $3;
-      $416 = ($415|0)==(32);
-      do {
-       if ($416) {
-        label = 133;
-       } else {
-        $417 = $3;
-        $418 = (($417) - 9)|0;
-        $419 = ($418>>>0)<(5);
-        if ($419) {
-         label = 133;
-        } else {
-         $437 = $2;
-         (_newtok($437)|0);
-         $438 = $3;
-         $439 = (_isalnum($438)|0);
-         $440 = ($439|0)!=(0);
-         $441 = $3;
-         $442 = ($441|0)==(95);
-         $or$cond24 = $440 | $442;
-         if ($or$cond24) {
-          $443 = $2;
-          $444 = (_nextc($443)|0);
-          $11 = $444;
-          $445 = $2;
-          $446 = $11;
-          _pushback($445,$446);
-          $447 = $11;
-          $448 = (_isalnum($447)|0);
-          $449 = ($448|0)!=(0);
-          $450 = $11;
-          $451 = ($450|0)==(95);
-          $or$cond27 = $449 | $451;
-          if ($or$cond27) {
-           break;
-          }
-         }
-         $452 = $3;
-         $453 = ($452|0)==(92);
-         $454 = $2;
-         if ($453) {
-          $455 = (_read_escape($454)|0);
-          $3 = $455;
-          $456 = $2;
-          $457 = $3;
-          _tokadd($456,$457);
-         } else {
-          $458 = $3;
-          _tokadd($454,$458);
-         }
-         $459 = $2;
-         _tokfix($459);
-         $460 = $2;
-         $461 = $2;
-         $462 = (_tok($461)|0);
-         $463 = $2;
-         $464 = (_toklen($463)|0);
-         $465 = (_new_str($460,$462,$464)|0);
-         $466 = $2;
-         $467 = ((($466)) + 1132|0);
-         $468 = HEAP32[$467>>2]|0;
-         HEAP32[$468>>2] = $465;
-         $469 = $2;
-         $470 = ((($469)) + 40|0);
-         HEAP32[$470>>2] = 1;
-         $1 = 315;
-         $2029 = $1;
-         STACKTOP = sp;return ($2029|0);
-        }
-       }
-      } while(0);
-      if ((label|0) == 133) {
-       $420 = $2;
-       $421 = ((($420)) + 40|0);
-       $422 = HEAP32[$421>>2]|0;
-       $423 = ($422|0)==(4);
-       if (!($423)) {
-        $424 = $2;
-        $425 = ((($424)) + 40|0);
-        $426 = HEAP32[$425>>2]|0;
-        $427 = ($426|0)==(5);
-        if (!($427)) {
-         $428 = $3;
-         switch ($428|0) {
-         case 32:  {
-          $9 = 115;
-          break;
-         }
-         case 10:  {
-          $9 = 110;
-          break;
-         }
-         case 9:  {
-          $9 = 116;
-          break;
-         }
-         case 11:  {
-          $9 = 118;
-          break;
-         }
-         case 13:  {
-          $9 = 114;
-          break;
-         }
-         case 12:  {
-          $9 = 102;
-          break;
-         }
-         default: {
-          $9 = 0;
-         }
-         }
-         $429 = $9;
-         $430 = ($429|0)!=(0);
-         if ($430) {
-          $431 = $9;
-          HEAP32[$vararg_buffer>>2] = $431;
-          (_snprintf($10,256,63081,$vararg_buffer)|0);
-          $432 = $2;
-          _yyerror($432,$10);
-         }
-        }
-       }
-      }
-      $433 = $2;
-      $434 = $3;
-      _pushback($433,$434);
-      $435 = $2;
-      $436 = ((($435)) + 40|0);
-      HEAP32[$436>>2] = 10;
-      $1 = 63;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-    }
-   }
-   $408 = $2;
-   $409 = ((($408)) + 40|0);
-   HEAP32[$409>>2] = 10;
-   $1 = 63;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 152: {
-   $471 = $2;
-   $472 = (_nextc($471)|0);
-   $3 = $472;
-   $473 = ($472|0)==(38);
-   if ($473) {
-    $474 = $2;
-    $475 = ((($474)) + 40|0);
-    HEAP32[$475>>2] = 0;
-    $476 = $2;
-    $477 = (_nextc($476)|0);
-    $3 = $477;
-    $478 = ($477|0)==(61);
-    $479 = $2;
-    if ($478) {
-     $480 = (_intern_gen($479,63116,2)|0);
-     $481 = $2;
-     $482 = ((($481)) + 1132|0);
-     $483 = HEAP32[$482>>2]|0;
-     HEAP32[$483>>2] = $480;
-     $484 = $2;
-     $485 = ((($484)) + 40|0);
-     HEAP32[$485>>2] = 0;
-     $1 = 345;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    } else {
-     $486 = $3;
-     _pushback($479,$486);
-     $1 = 333;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-   }
-   $487 = $3;
-   $488 = ($487|0)==(61);
-   $489 = $2;
-   if ($488) {
-    $490 = (_intern_gen_c($489,38)|0);
-    $491 = $2;
-    $492 = ((($491)) + 1132|0);
-    $493 = HEAP32[$492>>2]|0;
-    HEAP32[$493>>2] = $490;
-    $494 = $2;
-    $495 = ((($494)) + 40|0);
-    HEAP32[$495>>2] = 0;
-    $1 = 345;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $496 = $3;
-   _pushback($489,$496);
-   $497 = $2;
-   $498 = ((($497)) + 40|0);
-   $499 = HEAP32[$498>>2]|0;
-   $500 = ($499|0)==(4);
-   if ($500) {
-    $$old28 = $4;
-    $$old29 = ($$old28|0)==(0);
-    $$old31 = $3;
-    $$old32 = ($$old31|0)==(32);
-    $or$cond35 = $$old29 | $$old32;
-    if ($or$cond35) {
-     label = 163;
-    } else {
-     label = 161;
-    }
-   } else {
-    $501 = $2;
-    $502 = ((($501)) + 40|0);
-    $503 = HEAP32[$502>>2]|0;
-    $504 = ($503|0)==(5);
-    $505 = $4;
-    $506 = ($505|0)!=(0);
-    $or$cond30 = $504 & $506;
-    $or$cond30$not = $or$cond30 ^ 1;
-    $507 = $3;
-    $508 = ($507|0)==(32);
-    $or$cond33 = $or$cond30$not | $508;
-    if ($or$cond33) {
-     label = 163;
-    } else {
-     label = 161;
-    }
-   }
-   if ((label|0) == 161) {
-    $509 = $3;
-    $510 = (($509) - 9)|0;
-    $511 = ($510>>>0)<(5);
-    if ($511) {
-     label = 163;
-    } else {
-     $512 = $2;
-     _yywarning($512,63119);
-     $3 = 354;
-    }
-   }
-   do {
-    if ((label|0) == 163) {
-     $513 = $2;
-     $514 = ((($513)) + 40|0);
-     $515 = HEAP32[$514>>2]|0;
-     $516 = ($515|0)==(0);
-     if (!($516)) {
-      $517 = $2;
-      $518 = ((($517)) + 40|0);
-      $519 = HEAP32[$518>>2]|0;
-      $520 = ($519|0)==(6);
-      if (!($520)) {
-       $521 = $2;
-       $522 = ((($521)) + 40|0);
-       $523 = HEAP32[$522>>2]|0;
-       $524 = ($523|0)==(10);
-       if (!($524)) {
-        $525 = $2;
-        $526 = ((($525)) + 40|0);
-        $527 = HEAP32[$526>>2]|0;
-        $528 = ($527|0)==(9);
-        if (!($528)) {
-         $3 = 38;
-         break;
-        }
-       }
-      }
-     }
-     $3 = 354;
-    }
-   } while(0);
-   $529 = $2;
-   $530 = ((($529)) + 40|0);
-   $531 = HEAP32[$530>>2]|0;
-   $532 = ($531|0)==(7);
-   if ($532) {
-    label = 171;
-   } else {
-    $533 = $2;
-    $534 = ((($533)) + 40|0);
-    $535 = HEAP32[$534>>2]|0;
-    $536 = ($535|0)==(8);
-    if ($536) {
-     label = 171;
-    } else {
-     $538 = $2;
-     $$sink36 = 0;$$sink38 = $538;
-    }
-   }
-   if ((label|0) == 171) {
-    $537 = $2;
-    $$sink36 = 4;$$sink38 = $537;
-   }
-   $539 = ((($$sink38)) + 40|0);
-   HEAP32[$539>>2] = $$sink36;
-   $540 = $3;
-   $1 = $540;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 174: {
-   $541 = $2;
-   $542 = (_nextc($541)|0);
-   $3 = $542;
-   $543 = ($542|0)==(124);
-   if ($543) {
-    $544 = $2;
-    $545 = ((($544)) + 40|0);
-    HEAP32[$545>>2] = 0;
-    $546 = $2;
-    $547 = (_nextc($546)|0);
-    $3 = $547;
-    $548 = ($547|0)==(61);
-    $549 = $2;
-    if ($548) {
-     $550 = (_intern_gen($549,63154,2)|0);
-     $551 = $2;
-     $552 = ((($551)) + 1132|0);
-     $553 = HEAP32[$552>>2]|0;
-     HEAP32[$553>>2] = $550;
-     $554 = $2;
-     $555 = ((($554)) + 40|0);
-     HEAP32[$555>>2] = 0;
-     $1 = 345;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    } else {
-     $556 = $3;
-     _pushback($549,$556);
-     $1 = 334;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-   }
-   $557 = $3;
-   $558 = ($557|0)==(61);
-   $559 = $2;
-   if ($558) {
-    $560 = (_intern_gen_c($559,124)|0);
-    $561 = $2;
-    $562 = ((($561)) + 1132|0);
-    $563 = HEAP32[$562>>2]|0;
-    HEAP32[$563>>2] = $560;
-    $564 = $2;
-    $565 = ((($564)) + 40|0);
-    HEAP32[$565>>2] = 0;
-    $1 = 345;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $566 = ((($559)) + 40|0);
-   $567 = HEAP32[$566>>2]|0;
-   $568 = ($567|0)==(7);
-   if ($568) {
-    label = 182;
-   } else {
-    $569 = $2;
-    $570 = ((($569)) + 40|0);
-    $571 = HEAP32[$570>>2]|0;
-    $572 = ($571|0)==(8);
-    if ($572) {
-     label = 182;
-    } else {
-     $574 = $2;
-     $$sink39 = 0;$$sink41 = $574;
-    }
-   }
-   if ((label|0) == 182) {
-    $573 = $2;
-    $$sink39 = 4;$$sink41 = $573;
-   }
-   $575 = ((($$sink41)) + 40|0);
-   HEAP32[$575>>2] = $$sink39;
-   $576 = $2;
-   $577 = $3;
-   _pushback($576,$577);
-   $1 = 124;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 185: {
-   $578 = $2;
-   $579 = (_nextc($578)|0);
-   $3 = $579;
-   $580 = $2;
-   $581 = ((($580)) + 40|0);
-   $582 = HEAP32[$581>>2]|0;
-   $583 = ($582|0)==(7);
-   if (!($583)) {
-    $584 = $2;
-    $585 = ((($584)) + 40|0);
-    $586 = HEAP32[$585>>2]|0;
-    $587 = ($586|0)==(8);
-    if (!($587)) {
-     $594 = $3;
-     $595 = ($594|0)==(61);
-     $596 = $2;
-     if ($595) {
-      $597 = (_intern_gen_c($596,43)|0);
-      $598 = $2;
-      $599 = ((($598)) + 1132|0);
-      $600 = HEAP32[$599>>2]|0;
-      HEAP32[$600>>2] = $597;
-      $601 = $2;
-      $602 = ((($601)) + 40|0);
-      HEAP32[$602>>2] = 0;
-      $1 = 345;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-     $603 = ((($596)) + 40|0);
-     $604 = HEAP32[$603>>2]|0;
-     $605 = ($604|0)==(0);
-     do {
-      if (!($605)) {
-       $606 = $2;
-       $607 = ((($606)) + 40|0);
-       $608 = HEAP32[$607>>2]|0;
-       $609 = ($608|0)==(6);
-       if (!($609)) {
-        $610 = $2;
-        $611 = ((($610)) + 40|0);
-        $612 = HEAP32[$611>>2]|0;
-        $613 = ($612|0)==(10);
-        if (!($613)) {
-         $614 = $2;
-         $615 = ((($614)) + 40|0);
-         $616 = HEAP32[$615>>2]|0;
-         $617 = ($616|0)==(9);
-         if (!($617)) {
-          $618 = $2;
-          $619 = ((($618)) + 40|0);
-          $620 = HEAP32[$619>>2]|0;
-          $621 = ($620|0)==(4);
-          if ($621) {
-           $$old42 = $4;
-           $$old43 = ($$old42|0)==(0);
-           $$old45 = $3;
-           $$old46 = ($$old45|0)==(32);
-           $or$cond49 = $$old43 | $$old46;
-           if (!($or$cond49)) {
-            label = 199;
-           }
-          } else {
-           $622 = $2;
-           $623 = ((($622)) + 40|0);
-           $624 = HEAP32[$623>>2]|0;
-           $625 = ($624|0)==(5);
-           $626 = $4;
-           $627 = ($626|0)!=(0);
-           $or$cond44 = $625 & $627;
-           $or$cond44$not = $or$cond44 ^ 1;
-           $628 = $3;
-           $629 = ($628|0)==(32);
-           $or$cond47 = $or$cond44$not | $629;
-           if (!($or$cond47)) {
-            label = 199;
-           }
-          }
-          if ((label|0) == 199) {
-           $630 = $3;
-           $631 = (($630) - 9)|0;
-           $632 = ($631>>>0)<(5);
-           if (!($632)) {
-            $633 = $2;
-            $634 = (_arg_ambiguous($633)|0);
-            $635 = ($634|0)!=(0);
-            if ($635) {
-             break;
-            }
-           }
-          }
-          $645 = $2;
-          $646 = ((($645)) + 40|0);
-          HEAP32[$646>>2] = 0;
-          $647 = $2;
-          $648 = $3;
-          _pushback($647,$648);
-          $1 = 43;
-          $2029 = $1;
-          STACKTOP = sp;return ($2029|0);
-         }
-        }
-       }
-      }
-     } while(0);
-     $636 = $2;
-     $637 = ((($636)) + 40|0);
-     HEAP32[$637>>2] = 0;
-     $638 = $2;
-     $639 = $3;
-     _pushback($638,$639);
-     $640 = $3;
-     $641 = ($640|0)>=(0);
-     if ($641) {
-      $642 = $3;
-      $643 = (($642) - 48)|0;
-      $644 = ($643>>>0)<(10);
-      if ($644) {
-       $3 = 43;
-       label = 237;
-       break;
-      }
-     }
-     $1 = 324;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-   }
-   $588 = $2;
-   $589 = ((($588)) + 40|0);
-   HEAP32[$589>>2] = 4;
-   $590 = $3;
-   $591 = ($590|0)==(64);
-   if ($591) {
-    $1 = 324;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   } else {
-    $592 = $2;
-    $593 = $3;
-    _pushback($592,$593);
-    $1 = 43;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   break;
-  }
-  case 206: {
-   $649 = $2;
-   $650 = (_nextc($649)|0);
-   $3 = $650;
-   $651 = $2;
-   $652 = ((($651)) + 40|0);
-   $653 = HEAP32[$652>>2]|0;
-   $654 = ($653|0)==(7);
-   if (!($654)) {
-    $655 = $2;
-    $656 = ((($655)) + 40|0);
-    $657 = HEAP32[$656>>2]|0;
-    $658 = ($657|0)==(8);
-    if (!($658)) {
-     $665 = $3;
-     $666 = ($665|0)==(61);
-     if ($666) {
-      $667 = $2;
-      $668 = (_intern_gen_c($667,45)|0);
-      $669 = $2;
-      $670 = ((($669)) + 1132|0);
-      $671 = HEAP32[$670>>2]|0;
-      HEAP32[$671>>2] = $668;
-      $672 = $2;
-      $673 = ((($672)) + 40|0);
-      HEAP32[$673>>2] = 0;
-      $1 = 345;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-     $674 = $3;
-     $675 = ($674|0)==(62);
-     $676 = $2;
-     $677 = ((($676)) + 40|0);
-     if ($675) {
-      HEAP32[$677>>2] = 3;
-      $1 = 355;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-     $678 = HEAP32[$677>>2]|0;
-     $679 = ($678|0)==(0);
-     do {
-      if (!($679)) {
-       $680 = $2;
-       $681 = ((($680)) + 40|0);
-       $682 = HEAP32[$681>>2]|0;
-       $683 = ($682|0)==(6);
-       if (!($683)) {
-        $684 = $2;
-        $685 = ((($684)) + 40|0);
-        $686 = HEAP32[$685>>2]|0;
-        $687 = ($686|0)==(10);
-        if (!($687)) {
-         $688 = $2;
-         $689 = ((($688)) + 40|0);
-         $690 = HEAP32[$689>>2]|0;
-         $691 = ($690|0)==(9);
-         if (!($691)) {
-          $692 = $2;
-          $693 = ((($692)) + 40|0);
-          $694 = HEAP32[$693>>2]|0;
-          $695 = ($694|0)==(4);
-          if ($695) {
-           $$old50 = $4;
-           $$old51 = ($$old50|0)==(0);
-           $$old53 = $3;
-           $$old54 = ($$old53|0)==(32);
-           $or$cond57 = $$old51 | $$old54;
-           if (!($or$cond57)) {
-            label = 222;
-           }
-          } else {
-           $696 = $2;
-           $697 = ((($696)) + 40|0);
-           $698 = HEAP32[$697>>2]|0;
-           $699 = ($698|0)==(5);
-           $700 = $4;
-           $701 = ($700|0)!=(0);
-           $or$cond52 = $699 & $701;
-           $or$cond52$not = $or$cond52 ^ 1;
-           $702 = $3;
-           $703 = ($702|0)==(32);
-           $or$cond55 = $or$cond52$not | $703;
-           if (!($or$cond55)) {
-            label = 222;
-           }
-          }
-          if ((label|0) == 222) {
-           $704 = $3;
-           $705 = (($704) - 9)|0;
-           $706 = ($705>>>0)<(5);
-           if (!($706)) {
-            $707 = $2;
-            $708 = (_arg_ambiguous($707)|0);
-            $709 = ($708|0)!=(0);
-            if ($709) {
-             break;
-            }
-           }
-          }
-          $719 = $2;
-          $720 = ((($719)) + 40|0);
-          HEAP32[$720>>2] = 0;
-          $721 = $2;
-          $722 = $3;
-          _pushback($721,$722);
-          $1 = 45;
-          $2029 = $1;
-          STACKTOP = sp;return ($2029|0);
-         }
-        }
-       }
-      }
-     } while(0);
-     $710 = $2;
-     $711 = ((($710)) + 40|0);
-     HEAP32[$711>>2] = 0;
-     $712 = $2;
-     $713 = $3;
-     _pushback($712,$713);
-     $714 = $3;
-     $715 = ($714|0)>=(0);
-     if ($715) {
-      $716 = $3;
-      $717 = (($716) - 48)|0;
-      $718 = ($717>>>0)<(10);
-      if ($718) {
-       $1 = 371;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-     }
-     $1 = 325;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-   }
-   $659 = $2;
-   $660 = ((($659)) + 40|0);
-   HEAP32[$660>>2] = 4;
-   $661 = $3;
-   $662 = ($661|0)==(64);
-   if ($662) {
-    $1 = 325;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   } else {
-    $663 = $2;
-    $664 = $3;
-    _pushback($663,$664);
-    $1 = 45;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   break;
-  }
-  case 229: {
-   $723 = $2;
-   $724 = ((($723)) + 40|0);
-   HEAP32[$724>>2] = 0;
-   $725 = $2;
-   $726 = (_nextc($725)|0);
-   $3 = $726;
-   $727 = ($726|0)==(46);
-   $728 = $2;
-   if ($727) {
-    $729 = (_nextc($728)|0);
-    $3 = $729;
-    $730 = ($729|0)==(46);
-    if ($730) {
-     $1 = 338;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    } else {
-     $731 = $2;
-     $732 = $3;
-     _pushback($731,$732);
-     $1 = 337;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-   } else {
-    $733 = $3;
-    _pushback($728,$733);
-    $734 = $3;
-    $735 = ($734|0)>=(0);
-    if ($735) {
-     $736 = $3;
-     $737 = (($736) - 48)|0;
-     $738 = ($737>>>0)<(10);
-     if ($738) {
-      $739 = $2;
-      _yyerror($739,63157);
-     }
-    }
-    $740 = $2;
-    $741 = ((($740)) + 40|0);
-    HEAP32[$741>>2] = 8;
-    $1 = 46;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   break;
-  }
-  case 329: {
-   $1062 = $2;
-   $1063 = ((($1062)) + 56|0);
-   $1064 = HEAP32[$1063>>2]|0;
-   $1065 = (($1064) + -1)|0;
-   HEAP32[$1063>>2] = $1065;
-   label = 330;
-   break;
-  }
-  case 331: {
-   $1093 = $2;
-   $1094 = (_nextc($1093)|0);
-   $3 = $1094;
-   $1095 = $3;
-   $1096 = ($1095|0)==(58);
-   $1097 = $2;
-   $1098 = ((($1097)) + 40|0);
-   $1099 = HEAP32[$1098>>2]|0;
-   if (!($1096)) {
-    $1131 = ($1099|0)==(1);
-    if (!($1131)) {
-     $1132 = $2;
-     $1133 = ((($1132)) + 40|0);
-     $1134 = HEAP32[$1133>>2]|0;
-     $1135 = ($1134|0)==(2);
-     if (!($1135)) {
-      $1136 = $2;
-      $1137 = ((($1136)) + 40|0);
-      $1138 = HEAP32[$1137>>2]|0;
-      $1139 = ($1138|0)==(3);
-      $1140 = $3;
-      $1141 = ($1140|0)==(32);
-      $or$cond109 = $1139 | $1141;
-      if (!($or$cond109)) {
-       $1142 = $3;
-       $1143 = (($1142) - 9)|0;
-       $1144 = ($1143>>>0)<(5);
-       if (!($1144)) {
-        $1149 = $2;
-        $1150 = $3;
-        _pushback($1149,$1150);
-        $1151 = $2;
-        $1152 = ((($1151)) + 40|0);
-        HEAP32[$1152>>2] = 7;
-        $1 = 356;
-        $2029 = $1;
-        STACKTOP = sp;return ($2029|0);
-       }
-      }
-     }
-    }
-    $1145 = $2;
-    $1146 = $3;
-    _pushback($1145,$1146);
-    $1147 = $2;
-    $1148 = ((($1147)) + 40|0);
-    HEAP32[$1148>>2] = 0;
-    $1 = 58;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $1100 = ($1099|0)==(0);
-   do {
-    if (!($1100)) {
-     $1101 = $2;
-     $1102 = ((($1101)) + 40|0);
-     $1103 = HEAP32[$1102>>2]|0;
-     $1104 = ($1103|0)==(6);
-     if (!($1104)) {
-      $1105 = $2;
-      $1106 = ((($1105)) + 40|0);
-      $1107 = HEAP32[$1106>>2]|0;
-      $1108 = ($1107|0)==(10);
-      if (!($1108)) {
-       $1109 = $2;
-       $1110 = ((($1109)) + 40|0);
-       $1111 = HEAP32[$1110>>2]|0;
-       $1112 = ($1111|0)==(9);
-       if (!($1112)) {
-        $1113 = $2;
-        $1114 = ((($1113)) + 40|0);
-        $1115 = HEAP32[$1114>>2]|0;
-        $1116 = ($1115|0)==(9);
-        if (!($1116)) {
-         $1117 = $2;
-         $1118 = ((($1117)) + 40|0);
-         $1119 = HEAP32[$1118>>2]|0;
-         $1120 = ($1119|0)==(4);
-         if ($1120) {
-          $$old104 = $4;
-          $$old105 = ($$old104|0)!=(0);
-          if ($$old105) {
-           break;
-          }
-         } else {
-          $1121 = $2;
-          $1122 = ((($1121)) + 40|0);
-          $1123 = HEAP32[$1122>>2]|0;
-          $1124 = ($1123|0)==(5);
-          $1125 = $4;
-          $1126 = ($1125|0)!=(0);
-          $or$cond106 = $1124 & $1126;
-          if ($or$cond106) {
-           break;
-          }
-         }
-         $1129 = $2;
-         $1130 = ((($1129)) + 40|0);
-         HEAP32[$1130>>2] = 8;
-         $1 = 343;
-         $2029 = $1;
-         STACKTOP = sp;return ($2029|0);
-        }
-       }
-      }
-     }
-    }
-   } while(0);
-   $1127 = $2;
-   $1128 = ((($1127)) + 40|0);
-   HEAP32[$1128>>2] = 0;
-   $1 = 344;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 348: {
-   $1153 = $2;
-   $1154 = ((($1153)) + 40|0);
-   $1155 = HEAP32[$1154>>2]|0;
-   $1156 = ($1155|0)==(0);
-   if (!($1156)) {
-    $1157 = $2;
-    $1158 = ((($1157)) + 40|0);
-    $1159 = HEAP32[$1158>>2]|0;
-    $1160 = ($1159|0)==(6);
-    if (!($1160)) {
-     $1161 = $2;
-     $1162 = ((($1161)) + 40|0);
-     $1163 = HEAP32[$1162>>2]|0;
-     $1164 = ($1163|0)==(10);
-     if (!($1164)) {
-      $1165 = $2;
-      $1166 = ((($1165)) + 40|0);
-      $1167 = HEAP32[$1166>>2]|0;
-      $1168 = ($1167|0)==(9);
-      if (!($1168)) {
-       $1173 = $2;
-       $1174 = (_nextc($1173)|0);
-       $3 = $1174;
-       $1175 = ($1174|0)==(61);
-       $1176 = $2;
-       if ($1175) {
-        $1177 = (_intern_gen_c($1176,47)|0);
-        $1178 = $2;
-        $1179 = ((($1178)) + 1132|0);
-        $1180 = HEAP32[$1179>>2]|0;
-        HEAP32[$1180>>2] = $1177;
-        $1181 = $2;
-        $1182 = ((($1181)) + 40|0);
-        HEAP32[$1182>>2] = 0;
-        $1 = 345;
-        $2029 = $1;
-        STACKTOP = sp;return ($2029|0);
-       }
-       $1183 = $3;
-       _pushback($1176,$1183);
-       $1184 = $2;
-       $1185 = ((($1184)) + 40|0);
-       $1186 = HEAP32[$1185>>2]|0;
-       $1187 = ($1186|0)==(4);
-       if ($1187) {
-        $$old110 = $4;
-        $$old111 = ($$old110|0)==(0);
-        $$old113 = $3;
-        $$old114 = ($$old113|0)==(32);
-        $or$cond117 = $$old111 | $$old114;
-        if (!($or$cond117)) {
-         label = 358;
-        }
-       } else {
-        $1188 = $2;
-        $1189 = ((($1188)) + 40|0);
-        $1190 = HEAP32[$1189>>2]|0;
-        $1191 = ($1190|0)==(5);
-        $1192 = $4;
-        $1193 = ($1192|0)!=(0);
-        $or$cond112 = $1191 & $1193;
-        $or$cond112$not = $or$cond112 ^ 1;
-        $1194 = $3;
-        $1195 = ($1194|0)==(32);
-        $or$cond115 = $or$cond112$not | $1195;
-        if (!($or$cond115)) {
-         label = 358;
-        }
-       }
-       if ((label|0) == 358) {
-        $1196 = $3;
-        $1197 = (($1196) - 9)|0;
-        $1198 = ($1197>>>0)<(5);
-        if (!($1198)) {
-         $1199 = $2;
-         $1200 = (_new_strterm($1199,7,47,0)|0);
-         $1201 = $2;
-         $1202 = ((($1201)) + 44|0);
-         HEAP32[$1202>>2] = $1200;
-         $1 = 357;
-         $2029 = $1;
-         STACKTOP = sp;return ($2029|0);
-        }
-       }
-       $1203 = $2;
-       $1204 = ((($1203)) + 40|0);
-       $1205 = HEAP32[$1204>>2]|0;
-       $1206 = ($1205|0)==(7);
-       if ($1206) {
-        label = 362;
-       } else {
-        $1207 = $2;
-        $1208 = ((($1207)) + 40|0);
-        $1209 = HEAP32[$1208>>2]|0;
-        $1210 = ($1209|0)==(8);
-        if ($1210) {
-         label = 362;
-        } else {
-         $1212 = $2;
-         $$sink118 = 0;$$sink120 = $1212;
-        }
-       }
-       if ((label|0) == 362) {
-        $1211 = $2;
-        $$sink118 = 4;$$sink120 = $1211;
-       }
-       $1213 = ((($$sink120)) + 40|0);
-       HEAP32[$1213>>2] = $$sink118;
-       $1 = 47;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-     }
-    }
-   }
-   $1169 = $2;
-   $1170 = (_new_strterm($1169,7,47,0)|0);
-   $1171 = $2;
-   $1172 = ((($1171)) + 44|0);
-   HEAP32[$1172>>2] = $1170;
-   $1 = 357;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 365: {
-   $1214 = $2;
-   $1215 = (_nextc($1214)|0);
-   $3 = $1215;
-   $1216 = ($1215|0)==(61);
-   $1217 = $2;
-   if ($1216) {
-    $1218 = (_intern_gen_c($1217,94)|0);
-    $1219 = $2;
-    $1220 = ((($1219)) + 1132|0);
-    $1221 = HEAP32[$1220>>2]|0;
-    HEAP32[$1221>>2] = $1218;
-    $1222 = $2;
-    $1223 = ((($1222)) + 40|0);
-    HEAP32[$1223>>2] = 0;
-    $1 = 345;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $1224 = ((($1217)) + 40|0);
-   $1225 = HEAP32[$1224>>2]|0;
-   $1226 = ($1225|0)==(7);
-   if ($1226) {
-    label = 369;
-   } else {
-    $1227 = $2;
-    $1228 = ((($1227)) + 40|0);
-    $1229 = HEAP32[$1228>>2]|0;
-    $1230 = ($1229|0)==(8);
-    if ($1230) {
-     label = 369;
-    } else {
-     $1232 = $2;
-     $$sink121 = 0;$$sink123 = $1232;
-    }
-   }
-   if ((label|0) == 369) {
-    $1231 = $2;
-    $$sink121 = 4;$$sink123 = $1231;
-   }
-   $1233 = ((($$sink123)) + 40|0);
-   HEAP32[$1233>>2] = $$sink121;
-   $1234 = $2;
-   $1235 = $3;
-   _pushback($1234,$1235);
-   $1 = 94;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 372: {
-   $1236 = $2;
-   $1237 = ((($1236)) + 40|0);
-   HEAP32[$1237>>2] = 0;
-   $1 = 59;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 373: {
-   $1238 = $2;
-   $1239 = ((($1238)) + 40|0);
-   HEAP32[$1239>>2] = 0;
-   $1 = 44;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 374: {
-   $1240 = $2;
-   $1241 = ((($1240)) + 40|0);
-   $1242 = HEAP32[$1241>>2]|0;
-   $1243 = ($1242|0)==(7);
-   if ($1243) {
-    label = 376;
-   } else {
-    $1244 = $2;
-    $1245 = ((($1244)) + 40|0);
-    $1246 = HEAP32[$1245>>2]|0;
-    $1247 = ($1246|0)==(8);
-    if ($1247) {
-     label = 376;
-    } else {
-     $1254 = $2;
-     $$sink124 = 0;$$sink126 = $1254;
-    }
-   }
-   if ((label|0) == 376) {
-    $1248 = $2;
-    $1249 = (_nextc($1248)|0);
-    $3 = $1249;
-    $1250 = ($1249|0)!=(64);
-    if ($1250) {
-     $1251 = $2;
-     $1252 = $3;
-     _pushback($1251,$1252);
-    }
-    $1253 = $2;
-    $$sink124 = 4;$$sink126 = $1253;
-   }
-   $1255 = ((($$sink126)) + 40|0);
-   HEAP32[$1255>>2] = $$sink124;
-   $1 = 126;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 381: {
-   $1256 = $2;
-   $1257 = ((($1256)) + 40|0);
-   $1258 = HEAP32[$1257>>2]|0;
-   $1259 = ($1258|0)==(0);
-   do {
-    if ($1259) {
-     label = 385;
-    } else {
-     $1260 = $2;
-     $1261 = ((($1260)) + 40|0);
-     $1262 = HEAP32[$1261>>2]|0;
-     $1263 = ($1262|0)==(6);
-     if ($1263) {
-      label = 385;
-     } else {
-      $1264 = $2;
-      $1265 = ((($1264)) + 40|0);
-      $1266 = HEAP32[$1265>>2]|0;
-      $1267 = ($1266|0)==(10);
-      if ($1267) {
-       label = 385;
-      } else {
-       $1268 = $2;
-       $1269 = ((($1268)) + 40|0);
-       $1270 = HEAP32[$1269>>2]|0;
-       $1271 = ($1270|0)==(9);
-       if ($1271) {
-        label = 385;
-       } else {
-        $1272 = $2;
-        $1273 = ((($1272)) + 40|0);
-        $1274 = HEAP32[$1273>>2]|0;
-        $1275 = ($1274|0)==(4);
-        if ($1275) {
-         $$old127 = $4;
-         $$old128 = ($$old127|0)!=(0);
-         if (!($$old128)) {
-          break;
-         }
-        } else {
-         $1276 = $2;
-         $1277 = ((($1276)) + 40|0);
-         $1278 = HEAP32[$1277>>2]|0;
-         $1279 = ($1278|0)==(5);
-         $1280 = $4;
-         $1281 = ($1280|0)!=(0);
-         $or$cond129 = $1279 & $1281;
-         if (!($or$cond129)) {
-          break;
-         }
-        }
-        $3 = 348;
-       }
-      }
-     }
-    }
-   } while(0);
-   if ((label|0) == 385) {
-    $3 = 347;
-   }
-   $1282 = $2;
-   $1283 = ((($1282)) + 56|0);
-   $1284 = HEAP32[$1283>>2]|0;
-   $1285 = (($1284) + 1)|0;
-   HEAP32[$1283>>2] = $1285;
-   $1286 = $2;
-   $1287 = ((($1286)) + 48|0);
-   $1288 = HEAP32[$1287>>2]|0;
-   $1289 = $1288 << 1;
-   $1290 = $2;
-   $1291 = ((($1290)) + 48|0);
-   HEAP32[$1291>>2] = $1289;
-   $1292 = $2;
-   $1293 = ((($1292)) + 52|0);
-   $1294 = HEAP32[$1293>>2]|0;
-   $1295 = $1294 << 1;
-   $1296 = $2;
-   $1297 = ((($1296)) + 52|0);
-   HEAP32[$1297>>2] = $1295;
-   $1298 = $2;
-   $1299 = ((($1298)) + 40|0);
-   HEAP32[$1299>>2] = 0;
-   $1300 = $3;
-   $1 = $1300;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 391: {
-   $1301 = $2;
-   $1302 = ((($1301)) + 56|0);
-   $1303 = HEAP32[$1302>>2]|0;
-   $1304 = (($1303) + 1)|0;
-   HEAP32[$1302>>2] = $1304;
-   $1305 = $2;
-   $1306 = ((($1305)) + 40|0);
-   $1307 = HEAP32[$1306>>2]|0;
-   $1308 = ($1307|0)==(7);
-   if (!($1308)) {
-    $1309 = $2;
-    $1310 = ((($1309)) + 40|0);
-    $1311 = HEAP32[$1310>>2]|0;
-    $1312 = ($1311|0)==(8);
-    if (!($1312)) {
-     $1324 = $2;
-     $1325 = ((($1324)) + 40|0);
-     $1326 = HEAP32[$1325>>2]|0;
-     $1327 = ($1326|0)==(0);
-     do {
-      if ($1327) {
-       label = 402;
-      } else {
-       $1328 = $2;
-       $1329 = ((($1328)) + 40|0);
-       $1330 = HEAP32[$1329>>2]|0;
-       $1331 = ($1330|0)==(6);
-       if ($1331) {
-        label = 402;
-       } else {
-        $1332 = $2;
-        $1333 = ((($1332)) + 40|0);
-        $1334 = HEAP32[$1333>>2]|0;
-        $1335 = ($1334|0)==(10);
-        if ($1335) {
-         label = 402;
-        } else {
-         $1336 = $2;
-         $1337 = ((($1336)) + 40|0);
-         $1338 = HEAP32[$1337>>2]|0;
-         $1339 = ($1338|0)==(9);
-         if ($1339) {
-          label = 402;
-         } else {
-          $1340 = $2;
-          $1341 = ((($1340)) + 40|0);
-          $1342 = HEAP32[$1341>>2]|0;
-          $1343 = ($1342|0)==(4);
-          if ($1343) {
-           $$old130 = $4;
-           $$old131 = ($$old130|0)!=(0);
-           if (!($$old131)) {
-            break;
-           }
-          } else {
-           $1344 = $2;
-           $1345 = ((($1344)) + 40|0);
-           $1346 = HEAP32[$1345>>2]|0;
-           $1347 = ($1346|0)==(5);
-           $1348 = $4;
-           $1349 = ($1348|0)!=(0);
-           $or$cond132 = $1347 & $1349;
-           if (!($or$cond132)) {
-            break;
-           }
-          }
-          $3 = 350;
-         }
-        }
-       }
-      }
-     } while(0);
-     if ((label|0) == 402) {
-      $3 = 350;
-     }
-     $1350 = $2;
-     $1351 = ((($1350)) + 40|0);
-     HEAP32[$1351>>2] = 0;
-     $1352 = $2;
-     $1353 = ((($1352)) + 48|0);
-     $1354 = HEAP32[$1353>>2]|0;
-     $1355 = $1354 << 1;
-     $1356 = $2;
-     $1357 = ((($1356)) + 48|0);
-     HEAP32[$1357>>2] = $1355;
-     $1358 = $2;
-     $1359 = ((($1358)) + 52|0);
-     $1360 = HEAP32[$1359>>2]|0;
-     $1361 = $1360 << 1;
-     $1362 = $2;
-     $1363 = ((($1362)) + 52|0);
-     HEAP32[$1363>>2] = $1361;
-     $1364 = $3;
-     $1 = $1364;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-   }
-   $1313 = $2;
-   $1314 = ((($1313)) + 40|0);
-   HEAP32[$1314>>2] = 4;
-   $1315 = $2;
-   $1316 = (_nextc($1315)|0);
-   $3 = $1316;
-   $1317 = ($1316|0)==(93);
-   $1318 = $2;
-   if (!($1317)) {
-    $1323 = $3;
-    _pushback($1318,$1323);
-    $1 = 91;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $1319 = (_nextc($1318)|0);
-   $3 = $1319;
-   $1320 = ($1319|0)==(61);
-   if ($1320) {
-    $1 = 340;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   } else {
-    $1321 = $2;
-    $1322 = $3;
-    _pushback($1321,$1322);
-    $1 = 339;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   break;
-  }
-  case 408: {
-   $1365 = $2;
-   $1366 = ((($1365)) + 60|0);
-   $1367 = HEAP32[$1366>>2]|0;
-   $1368 = ($1367|0)!=(0);
-   if ($1368) {
-    $1369 = $2;
-    $1370 = ((($1369)) + 60|0);
-    $1371 = HEAP32[$1370>>2]|0;
-    $1372 = $2;
-    $1373 = ((($1372)) + 56|0);
-    $1374 = HEAP32[$1373>>2]|0;
-    $1375 = ($1371|0)==($1374|0);
-    if ($1375) {
-     $1376 = $2;
-     $1377 = ((($1376)) + 40|0);
-     HEAP32[$1377>>2] = 0;
-     $1378 = $2;
-     $1379 = ((($1378)) + 60|0);
-     HEAP32[$1379>>2] = 0;
-     $1380 = $2;
-     $1381 = ((($1380)) + 56|0);
-     $1382 = HEAP32[$1381>>2]|0;
-     $1383 = (($1382) + -1)|0;
-     HEAP32[$1381>>2] = $1383;
-     $1384 = $2;
-     $1385 = ((($1384)) + 48|0);
-     $1386 = HEAP32[$1385>>2]|0;
-     $1387 = $1386 << 1;
-     $1388 = $2;
-     $1389 = ((($1388)) + 48|0);
-     HEAP32[$1389>>2] = $1387;
-     $1390 = $2;
-     $1391 = ((($1390)) + 52|0);
-     $1392 = HEAP32[$1391>>2]|0;
-     $1393 = $1392 << 1;
-     $1394 = $2;
-     $1395 = ((($1394)) + 52|0);
-     HEAP32[$1395>>2] = $1393;
-     $1 = 363;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-   }
-   $1396 = $2;
-   $1397 = ((($1396)) + 40|0);
-   $1398 = HEAP32[$1397>>2]|0;
-   $1399 = ($1398|0)==(4);
-   do {
-    if ($1399) {
-     label = 415;
-    } else {
-     $1400 = $2;
-     $1401 = ((($1400)) + 40|0);
-     $1402 = HEAP32[$1401>>2]|0;
-     $1403 = ($1402|0)==(5);
-     if ($1403) {
-      label = 415;
-     } else {
-      $1404 = $2;
-      $1405 = ((($1404)) + 40|0);
-      $1406 = HEAP32[$1405>>2]|0;
-      $1407 = ($1406|0)==(1);
-      if ($1407) {
-       label = 415;
-      } else {
-       $1408 = $2;
-       $1409 = ((($1408)) + 40|0);
-       $1410 = HEAP32[$1409>>2]|0;
-       $1411 = ($1410|0)==(3);
-       if ($1411) {
-        label = 415;
-       } else {
-        $1412 = $2;
-        $1413 = ((($1412)) + 40|0);
-        $1414 = HEAP32[$1413>>2]|0;
-        $1415 = ($1414|0)==(2);
-        if ($1415) {
-         $3 = 352;
-         break;
-        } else {
-         $3 = 351;
-         break;
-        }
-       }
-      }
-     }
-    }
-   } while(0);
-   if ((label|0) == 415) {
-    $3 = 123;
-   }
-   $1416 = $2;
-   $1417 = ((($1416)) + 48|0);
-   $1418 = HEAP32[$1417>>2]|0;
-   $1419 = $1418 << 1;
-   $1420 = $2;
-   $1421 = ((($1420)) + 48|0);
-   HEAP32[$1421>>2] = $1419;
-   $1422 = $2;
-   $1423 = ((($1422)) + 52|0);
-   $1424 = HEAP32[$1423>>2]|0;
-   $1425 = $1424 << 1;
-   $1426 = $2;
-   $1427 = ((($1426)) + 52|0);
-   HEAP32[$1427>>2] = $1425;
-   $1428 = $2;
-   $1429 = ((($1428)) + 40|0);
-   HEAP32[$1429>>2] = 0;
-   $1430 = $3;
-   $1 = $1430;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 422: {
-   $1441 = $3;
-   _pushback($1435,$1441);
-   $1 = 92;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 423: {
-   $1442 = $2;
-   $1443 = ((($1442)) + 40|0);
-   $1444 = HEAP32[$1443>>2]|0;
-   $1445 = ($1444|0)==(0);
-   do {
-    if ($1445) {
-     label = 427;
-    } else {
-     $1446 = $2;
-     $1447 = ((($1446)) + 40|0);
-     $1448 = HEAP32[$1447>>2]|0;
-     $1449 = ($1448|0)==(6);
-     if ($1449) {
-      label = 427;
-     } else {
-      $1450 = $2;
-      $1451 = ((($1450)) + 40|0);
-      $1452 = HEAP32[$1451>>2]|0;
-      $1453 = ($1452|0)==(10);
-      if ($1453) {
-       label = 427;
-      } else {
-       $1454 = $2;
-       $1455 = ((($1454)) + 40|0);
-       $1456 = HEAP32[$1455>>2]|0;
-       $1457 = ($1456|0)==(9);
-       if ($1457) {
-        label = 427;
-       } else {
-        $1548 = $2;
-        $1549 = (_nextc($1548)|0);
-        $3 = $1549;
-        $1550 = ($1549|0)==(61);
-        $1551 = $2;
-        if ($1550) {
-         $1552 = (_intern_gen_c($1551,37)|0);
-         $1553 = $2;
-         $1554 = ((($1553)) + 1132|0);
-         $1555 = HEAP32[$1554>>2]|0;
-         HEAP32[$1555>>2] = $1552;
-         $1556 = $2;
-         $1557 = ((($1556)) + 40|0);
-         HEAP32[$1557>>2] = 0;
-         $1 = 345;
-         $2029 = $1;
-         STACKTOP = sp;return ($2029|0);
-        }
-        $1558 = ((($1551)) + 40|0);
-        $1559 = HEAP32[$1558>>2]|0;
-        $1560 = ($1559|0)==(4);
-        if ($1560) {
-         $$old136 = $4;
-         $$old137 = ($$old136|0)==(0);
-         $$old139 = $3;
-         $$old140 = ($$old139|0)==(32);
-         $or$cond143 = $$old137 | $$old140;
-         if (!($or$cond143)) {
-          label = 461;
-         }
-        } else {
-         $1561 = $2;
-         $1562 = ((($1561)) + 40|0);
-         $1563 = HEAP32[$1562>>2]|0;
-         $1564 = ($1563|0)==(5);
-         $1565 = $4;
-         $1566 = ($1565|0)!=(0);
-         $or$cond138 = $1564 & $1566;
-         $or$cond138$not = $or$cond138 ^ 1;
-         $1567 = $3;
-         $1568 = ($1567|0)==(32);
-         $or$cond141 = $or$cond138$not | $1568;
-         if (!($or$cond141)) {
-          label = 461;
-         }
-        }
-        if ((label|0) == 461) {
-         $1569 = $3;
-         $1570 = (($1569) - 9)|0;
-         $1571 = ($1570>>>0)<(5);
-         if (!($1571)) {
-          break;
-         }
-        }
-        $1572 = $2;
-        $1573 = ((($1572)) + 40|0);
-        $1574 = HEAP32[$1573>>2]|0;
-        $1575 = ($1574|0)==(7);
-        if ($1575) {
-         label = 464;
-        } else {
-         $1576 = $2;
-         $1577 = ((($1576)) + 40|0);
-         $1578 = HEAP32[$1577>>2]|0;
-         $1579 = ($1578|0)==(8);
-         if ($1579) {
-          label = 464;
-         } else {
-          $1581 = $2;
-          $$sink144 = 0;$$sink146 = $1581;
-         }
-        }
-        if ((label|0) == 464) {
-         $1580 = $2;
-         $$sink144 = 4;$$sink146 = $1580;
-        }
-        $1582 = ((($$sink146)) + 40|0);
-        HEAP32[$1582>>2] = $$sink144;
-        $1583 = $2;
-        $1584 = $3;
-        _pushback($1583,$1584);
-        $1 = 37;
-        $2029 = $1;
-        STACKTOP = sp;return ($2029|0);
-       }
-      }
-     }
-    }
-   } while(0);
-   if ((label|0) == 427) {
-    $1458 = $2;
-    $1459 = (_nextc($1458)|0);
-    $3 = $1459;
-   }
-   $1460 = $3;
-   $1461 = ($1460|0)<(0);
-   do {
-    if ($1461) {
-     label = 431;
-    } else {
-     $1462 = $3;
-     $1463 = $1462 | 32;
-     $1464 = (($1463) - 97)|0;
-     $1465 = ($1464>>>0)<(26);
-     if (!($1465)) {
-      $1466 = $3;
-      $1467 = (($1466) - 48)|0;
-      $1468 = ($1467>>>0)<(10);
-      if (!($1468)) {
-       label = 431;
-       break;
-      }
-     }
-     $1470 = $2;
-     $1471 = (_nextc($1470)|0);
-     $20 = $1471;
-     $1472 = $20;
-     $1473 = (_isalnum($1472)|0);
-     $1474 = ($1473|0)!=(0);
-     if ($1474) {
-      $1475 = $2;
-      _yyerror($1475,63336);
-      $1 = 0;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-    }
-   } while(0);
-   if ((label|0) == 431) {
-    $1469 = $3;
-    $20 = $1469;
-    $3 = 81;
-   }
-   $1476 = $3;
-   $1477 = ($1476|0)<(0);
-   $1478 = $20;
-   $1479 = ($1478|0)<(0);
-   $or$cond135 = $1477 | $1479;
-   if ($or$cond135) {
-    $1480 = $2;
-    _yyerror($1480,63360);
-    $1 = 0;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $1481 = $20;
-   $21 = $1481;
-   $1482 = $20;
-   $1483 = ($1482|0)==(40);
-   do {
-    if ($1483) {
-     $20 = 41;
-    } else {
-     $1484 = $20;
-     $1485 = ($1484|0)==(91);
-     if ($1485) {
-      $20 = 93;
-      break;
-     }
-     $1486 = $20;
-     $1487 = ($1486|0)==(123);
-     if ($1487) {
-      $20 = 125;
-      break;
-     }
-     $1488 = $20;
-     $1489 = ($1488|0)==(60);
-     if ($1489) {
-      $20 = 62;
-      break;
-     } else {
-      $21 = 0;
-      break;
-     }
-    }
-   } while(0);
-   $1490 = $3;
-   do {
-    switch ($1490|0) {
-    case 81:  {
-     $1491 = $2;
-     $1492 = $20;
-     $1493 = $21;
-     $1494 = (_new_strterm($1491,3,$1492,$1493)|0);
-     $1495 = $2;
-     $1496 = ((($1495)) + 44|0);
-     HEAP32[$1496>>2] = $1494;
-     $1 = 360;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-     break;
-    }
-    case 113:  {
-     $1497 = $2;
-     $1498 = $20;
-     $1499 = $21;
-     $1500 = (_new_strterm($1497,1,$1498,$1499)|0);
-     $1501 = $2;
-     $1502 = ((($1501)) + 44|0);
-     HEAP32[$1502>>2] = $1500;
-     $1503 = $2;
-     $1504 = (_parse_string($1503)|0);
-     $1 = $1504;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-     break;
-    }
-    case 87:  {
-     $1505 = $2;
-     $1506 = $20;
-     $1507 = $21;
-     $1508 = (_new_strterm($1505,43,$1506,$1507)|0);
-     $1509 = $2;
-     $1510 = ((($1509)) + 44|0);
-     HEAP32[$1510>>2] = $1508;
-     $1 = 358;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-     break;
-    }
-    case 119:  {
-     $1511 = $2;
-     $1512 = $20;
-     $1513 = $21;
-     $1514 = (_new_strterm($1511,41,$1512,$1513)|0);
-     $1515 = $2;
-     $1516 = ((($1515)) + 44|0);
-     HEAP32[$1516>>2] = $1514;
-     $1 = 358;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-     break;
-    }
-    case 120:  {
-     $1517 = $2;
-     $1518 = $20;
-     $1519 = $21;
-     $1520 = (_new_strterm($1517,131,$1518,$1519)|0);
-     $1521 = $2;
-     $1522 = ((($1521)) + 44|0);
-     HEAP32[$1522>>2] = $1520;
-     $1 = 361;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-     break;
-    }
-    case 114:  {
-     $1523 = $2;
-     $1524 = $20;
-     $1525 = $21;
-     $1526 = (_new_strterm($1523,7,$1524,$1525)|0);
-     $1527 = $2;
-     $1528 = ((($1527)) + 44|0);
-     HEAP32[$1528>>2] = $1526;
-     $1 = 357;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-     break;
-    }
-    case 115:  {
-     $1529 = $2;
-     $1530 = $20;
-     $1531 = $21;
-     $1532 = (_new_strterm($1529,17,$1530,$1531)|0);
-     $1533 = $2;
-     $1534 = ((($1533)) + 44|0);
-     HEAP32[$1534>>2] = $1532;
-     $1 = 356;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-     break;
-    }
-    case 73:  {
-     $1535 = $2;
-     $1536 = $20;
-     $1537 = $21;
-     $1538 = (_new_strterm($1535,51,$1536,$1537)|0);
-     $1539 = $2;
-     $1540 = ((($1539)) + 44|0);
-     HEAP32[$1540>>2] = $1538;
-     $1 = 359;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-     break;
-    }
-    case 105:  {
-     $1541 = $2;
-     $1542 = $20;
-     $1543 = $21;
-     $1544 = (_new_strterm($1541,49,$1542,$1543)|0);
-     $1545 = $2;
-     $1546 = ((($1545)) + 44|0);
-     HEAP32[$1546>>2] = $1544;
-     $1 = 359;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-     break;
-    }
-    default: {
-     $1547 = $2;
-     _yyerror($1547,63336);
-     $1 = 0;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-    }
-   } while(0);
-   break;
-  }
-  case 467: {
-   $1585 = $2;
-   $1586 = ((($1585)) + 40|0);
-   HEAP32[$1586>>2] = 1;
-   $1587 = $2;
-   $1588 = (_newtok($1587)|0);
-   $7 = $1588;
-   $1589 = $2;
-   $1590 = (_nextc($1589)|0);
-   $3 = $1590;
-   $1591 = $3;
-   $1592 = ($1591|0)<(0);
-   if ($1592) {
-    $1593 = $2;
-    _yyerror($1593,63405);
-    $1 = 0;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $1594 = $3;
-   L568: do {
-    switch ($1594|0) {
-    case 95:  {
-     $1595 = $2;
-     $1596 = (_nextc($1595)|0);
-     $3 = $1596;
-     $1597 = $3;
-     $1598 = ($1597|0)>=(0);
-     do {
-      if ($1598) {
-       $1599 = $3;
-       $1600 = $1599 | 32;
-       $1601 = (($1600) - 97)|0;
-       $1602 = ($1601>>>0)<(26);
-       if (!($1602)) {
-        $1603 = $3;
-        $1604 = (($1603) - 48)|0;
-        $1605 = ($1604>>>0)<(10);
-        $1606 = $3;
-        $1607 = ($1606|0)==(95);
-        $or$cond149 = $1605 | $1607;
-        $or$cond149$not = $or$cond149 ^ 1;
-        $1608 = $3;
-        $1609 = ($1608>>>0)<=(127);
-        $or$cond152 = $or$cond149$not & $1609;
-        if ($or$cond152) {
-         break;
-        }
-       }
-       $1610 = $2;
-       _tokadd($1610,36);
-       $1611 = $2;
-       $1612 = $3;
-       _tokadd($1611,$1612);
-       label = 511;
-       break L47;
-      }
-     } while(0);
-     $1613 = $2;
-     $1614 = $3;
-     _pushback($1613,$1614);
-     $3 = 95;
-     label = 475;
-     break;
-    }
-    case 34: case 62: case 60: case 58: case 61: case 46: case 44: case 59: case 92: case 47: case 64: case 33: case 63: case 36: case 42: case 126:  {
-     label = 475;
-     break;
-    }
-    case 45:  {
-     $1626 = $2;
-     _tokadd($1626,36);
-     $1627 = $2;
-     $1628 = $3;
-     _tokadd($1627,$1628);
-     $1629 = $2;
-     $1630 = (_nextc($1629)|0);
-     $3 = $1630;
-     $1631 = $2;
-     $1632 = $3;
-     _pushback($1631,$1632);
-     label = 477;
-     break;
-    }
-    case 43: case 39: case 96: case 38:  {
-     $1641 = $6;
-     $1642 = ($1641|0)==(7);
-     $1643 = $2;
-     if ($1642) {
-      _tokadd($1643,36);
-      $1644 = $2;
-      $1645 = $3;
-      _tokadd($1644,$1645);
-      label = 477;
-      break L568;
-     }
-     $1646 = $3;
-     $1647 = (_new_back_ref($1643,$1646)|0);
-     $1648 = $2;
-     $1649 = ((($1648)) + 1132|0);
-     $1650 = HEAP32[$1649>>2]|0;
-     HEAP32[$1650>>2] = $1647;
-     $1 = 322;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-     break;
-    }
-    case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49:  {
-     while(1) {
-      $1651 = $2;
-      $1652 = $3;
-      _tokadd($1651,$1652);
-      $1653 = $2;
-      $1654 = (_nextc($1653)|0);
-      $3 = $1654;
-      $1655 = $3;
-      $1656 = ($1655|0)>=(0);
-      if (!($1656)) {
-       break;
-      }
-      $1657 = $3;
-      $1658 = (_isdigit($1657)|0);
-      $1659 = ($1658|0)!=(0);
-      if (!($1659)) {
-       break;
-      }
-     }
-     $1660 = $2;
-     $1661 = $3;
-     _pushback($1660,$1661);
-     $1662 = $6;
-     $1663 = ($1662|0)==(7);
-     if ($1663) {
-      label = 477;
-     } else {
-      $1664 = $2;
-      _tokfix($1664);
-      $1665 = $2;
-      $1666 = (_tok($1665)|0);
-      $1667 = (_strtoul($1666,0,10)|0);
-      $22 = $1667;
-      $1668 = $22;
-      $1669 = ($1668>>>0)>(2147483647);
-      $1670 = $2;
-      if ($1669) {
-       _yyerror_i($1670,63439,2147483647);
-       $1 = 0;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      } else {
-       $1671 = $22;
-       $1672 = (_new_nth_ref($1670,$1671)|0);
-       $1673 = $2;
-       $1674 = ((($1673)) + 1132|0);
-       $1675 = HEAP32[$1674>>2]|0;
-       HEAP32[$1675>>2] = $1672;
-       $1 = 321;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-     }
-     break;
-    }
-    case 48:  {
-     label = 490;
-     break;
-    }
-    default: {
-     $1676 = $3;
-     $1677 = $1676 | 32;
-     $1678 = (($1677) - 97)|0;
-     $1679 = ($1678>>>0)<(26);
-     if ($1679) {
-      label = 490;
-     } else {
-      $1680 = $3;
-      $1681 = (($1680) - 48)|0;
-      $1682 = ($1681>>>0)<(10);
-      $1683 = $3;
-      $1684 = ($1683|0)==(95);
-      $or$cond155 = $1682 | $1684;
-      $or$cond155$not = $or$cond155 ^ 1;
-      $1685 = $3;
-      $1686 = ($1685>>>0)<=(127);
-      $or$cond158 = $or$cond155$not & $1686;
-      if ($or$cond158) {
-       $1687 = $2;
-       $1688 = $3;
-       _pushback($1687,$1688);
-       $1 = 36;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      } else {
-       label = 490;
-      }
-     }
-    }
-    }
-   } while(0);
-   if ((label|0) == 475) {
-    $1615 = $2;
-    _tokadd($1615,36);
-    $1616 = $2;
-    $1617 = $3;
-    _tokadd($1616,$1617);
-    $1618 = $2;
-    _tokfix($1618);
-    $1619 = $2;
-    $1620 = $2;
-    $1621 = (_tok($1620)|0);
-    $1622 = (_intern_cstr_gen($1619,$1621)|0);
-    $1623 = $2;
-    $1624 = ((($1623)) + 1132|0);
-    $1625 = HEAP32[$1624>>2]|0;
-    HEAP32[$1625>>2] = $1622;
-    $1 = 308;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   else if ((label|0) == 477) {
-    $1633 = $2;
-    _tokfix($1633);
-    $1634 = $2;
-    $1635 = $2;
-    $1636 = (_tok($1635)|0);
-    $1637 = (_intern_cstr_gen($1634,$1636)|0);
-    $1638 = $2;
-    $1639 = ((($1638)) + 1132|0);
-    $1640 = HEAP32[$1639>>2]|0;
-    HEAP32[$1640>>2] = $1637;
-    $1 = 308;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   else if ((label|0) == 490) {
-    $1689 = $2;
-    _tokadd($1689,36);
-    label = 511;
-    break;
-   }
-   break;
-  }
-  case 491: {
-   $1690 = $2;
-   $1691 = (_nextc($1690)|0);
-   $3 = $1691;
-   $1692 = $2;
-   $1693 = (_newtok($1692)|0);
-   $7 = $1693;
-   $1694 = $2;
-   _tokadd($1694,64);
-   $1695 = $3;
-   $1696 = ($1695|0)==(64);
-   if ($1696) {
-    $1697 = $2;
-    _tokadd($1697,64);
-    $1698 = $2;
-    $1699 = (_nextc($1698)|0);
-    $3 = $1699;
-   }
-   $1700 = $3;
-   $1701 = ($1700|0)<(0);
-   if ($1701) {
-    $1702 = $2;
-    $1703 = ((($1702)) + 1108|0);
-    $1704 = HEAP32[$1703>>2]|0;
-    $1705 = ($1704|0)==(1);
-    $1706 = $2;
-    if ($1705) {
-     _yyerror($1706,63473);
-    } else {
-     _yyerror($1706,63509);
-    }
-    $1 = 0;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $1707 = $3;
-   $1708 = (_isdigit($1707)|0);
-   $1709 = ($1708|0)!=(0);
-   if (!($1709)) {
-    $1716 = $3;
-    $1717 = $1716 | 32;
-    $1718 = (($1717) - 97)|0;
-    $1719 = ($1718>>>0)<(26);
-    if ($1719) {
-     label = 511;
-     break;
-    }
-    $1720 = $3;
-    $1721 = (($1720) - 48)|0;
-    $1722 = ($1721>>>0)<(10);
-    $1723 = $3;
-    $1724 = ($1723|0)==(95);
-    $or$cond161 = $1722 | $1724;
-    $or$cond161$not = $or$cond161 ^ 1;
-    $1725 = $3;
-    $1726 = ($1725>>>0)<=(127);
-    $or$cond164 = $or$cond161$not & $1726;
-    if (!($or$cond164)) {
-     label = 511;
-     break;
-    }
-    $1727 = $2;
-    $1728 = $3;
-    _pushback($1727,$1728);
-    $1 = 64;
-    $2029 = $1;
-    STACKTOP = sp;return ($2029|0);
-   }
-   $1710 = $2;
-   $1711 = ((($1710)) + 1108|0);
-   $1712 = HEAP32[$1711>>2]|0;
-   $1713 = ($1712|0)==(1);
-   $1714 = $2;
-   $1715 = $3;
-   if ($1713) {
-    _yyerror_i($1714,63542,$1715);
-   } else {
-    _yyerror_i($1714,63592,$1715);
-   }
-   $1 = 0;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-   break;
-  }
-  case 506: {
-   $1729 = $2;
-   $1730 = (_newtok($1729)|0);
-   $7 = $1730;
-   label = 511;
-   break;
-  }
-  case 510: {
-   $1744 = $2;
-   $1745 = (_newtok($1744)|0);
-   $7 = $1745;
-   label = 511;
-   break;
-  }
- }
- if ((label|0) == 24) {
-  $100 = $2;
-  $101 = ((($100)) + 72|0);
-  $102 = HEAP8[$101>>0]|0;
-  $103 = $102 & -2;
-  $104 = $103 | 1;
-  HEAP8[$101>>0] = $104;
-  $105 = $2;
-  $106 = ((($105)) + 40|0);
-  HEAP32[$106>>2] = 0;
-  $1 = 10;
-  $2029 = $1;
-  STACKTOP = sp;return ($2029|0);
- }
- else if ((label|0) == 237) {
-  $15 = 0;
-  $14 = 0;
-  $13 = 0;
-  $12 = 0;
-  $742 = $2;
-  $743 = ((($742)) + 40|0);
-  HEAP32[$743>>2] = 1;
-  $744 = $2;
-  (_newtok($744)|0);
-  $745 = $3;
-  $746 = ($745|0)==(45);
-  $747 = $3;
-  $748 = ($747|0)==(43);
-  $or$cond60 = $746 | $748;
-  if ($or$cond60) {
-   $749 = $2;
-   $750 = $3;
-   _tokadd($749,$750);
-   $751 = $2;
-   $752 = (_nextc($751)|0);
-   $3 = $752;
-  }
-  $753 = $3;
-  $754 = ($753|0)==(48);
-  L667: do {
-   if ($754) {
-    $755 = $2;
-    $756 = (_toklen($755)|0);
-    $16 = $756;
-    $757 = $2;
-    $758 = (_nextc($757)|0);
-    $3 = $758;
-    $759 = $3;
-    $760 = ($759|0)==(120);
-    $761 = $3;
-    $762 = ($761|0)==(88);
-    $or$cond63 = $760 | $762;
-    if ($or$cond63) {
-     $763 = $2;
-     $764 = (_nextc($763)|0);
-     $3 = $764;
-     $765 = $3;
-     $766 = ($765|0)>=(0);
-     L671: do {
-      if ($766) {
-       $767 = $3;
-       $768 = (($767) - 48)|0;
-       $769 = ($768>>>0)<(10);
-       if (!($769)) {
-        $770 = $3;
-        $771 = $770 | 32;
-        $772 = (($771) - 97)|0;
-        $773 = ($772>>>0)<(6);
-        if (!($773)) {
-         break;
-        }
-       }
-       while(1) {
-        $774 = $3;
-        $775 = ($774|0)==(95);
-        if ($775) {
-         $776 = $15;
-         $777 = ($776|0)!=(0);
-         if ($777) {
-          break L671;
-         }
-         $778 = $3;
-         $15 = $778;
-        } else {
-         $779 = $3;
-         $780 = (($779) - 48)|0;
-         $781 = ($780>>>0)<(10);
-         if (!($781)) {
-          $782 = $3;
-          $783 = $782 | 32;
-          $784 = (($783) - 97)|0;
-          $785 = ($784>>>0)<(6);
-          if (!($785)) {
-           break L671;
-          }
-         }
-         $15 = 0;
-         $786 = $2;
-         $787 = $3;
-         $788 = (_tolower($787)|0);
-         _tokadd($786,$788);
-        }
-        $789 = $2;
-        $790 = (_nextc($789)|0);
-        $3 = $790;
-        $791 = ($790|0)>=(0);
-        if (!($791)) {
-         break;
-        }
-       }
-      }
-     } while(0);
-     $792 = $2;
-     $793 = $3;
-     _pushback($792,$793);
-     $794 = $2;
-     _tokfix($794);
-     $795 = $2;
-     $796 = (_toklen($795)|0);
-     $797 = $16;
-     $798 = ($796|0)==($797|0);
-     if ($798) {
-      $799 = $2;
-      _yyerror($799,63212);
-      $1 = 0;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-     $800 = $15;
-     $801 = ($800|0)!=(0);
-     if ($801) {
-      label = 320;
-      break;
-     }
-     $802 = $2;
-     $803 = $2;
-     $804 = (_tok($803)|0);
-     $805 = (_new_int($802,$804,16)|0);
-     $806 = $2;
-     $807 = ((($806)) + 1132|0);
-     $808 = HEAP32[$807>>2]|0;
-     HEAP32[$808>>2] = $805;
-     $1 = 313;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-    $809 = $3;
-    $810 = ($809|0)==(98);
-    $811 = $3;
-    $812 = ($811|0)==(66);
-    $or$cond66 = $810 | $812;
-    if ($or$cond66) {
-     $813 = $2;
-     $814 = (_nextc($813)|0);
-     $3 = $814;
-     $815 = $3;
-     $816 = ($815|0)==(48);
-     $817 = $3;
-     $818 = ($817|0)==(49);
-     $or$cond69 = $816 | $818;
-     L695: do {
-      if ($or$cond69) {
-       while(1) {
-        $819 = $3;
-        $820 = ($819|0)==(95);
-        if ($820) {
-         $821 = $15;
-         $822 = ($821|0)!=(0);
-         if ($822) {
-          break L695;
-         }
-         $823 = $3;
-         $15 = $823;
-        } else {
-         $824 = $3;
-         $825 = ($824|0)!=(48);
-         $826 = $3;
-         $827 = ($826|0)!=(49);
-         $or$cond72 = $825 & $827;
-         if ($or$cond72) {
-          break L695;
-         }
-         $15 = 0;
-         $828 = $2;
-         $829 = $3;
-         _tokadd($828,$829);
-        }
-        $830 = $2;
-        $831 = (_nextc($830)|0);
-        $3 = $831;
-        $832 = ($831|0)>=(0);
-        if (!($832)) {
-         break;
-        }
-       }
-      }
-     } while(0);
-     $833 = $2;
-     $834 = $3;
-     _pushback($833,$834);
-     $835 = $2;
-     _tokfix($835);
-     $836 = $2;
-     $837 = (_toklen($836)|0);
-     $838 = $16;
-     $839 = ($837|0)==($838|0);
-     if ($839) {
-      $840 = $2;
-      _yyerror($840,63212);
-      $1 = 0;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-     $841 = $15;
-     $842 = ($841|0)!=(0);
-     if ($842) {
-      label = 320;
-      break;
-     }
-     $843 = $2;
-     $844 = $2;
-     $845 = (_tok($844)|0);
-     $846 = (_new_int($843,$845,2)|0);
-     $847 = $2;
-     $848 = ((($847)) + 1132|0);
-     $849 = HEAP32[$848>>2]|0;
-     HEAP32[$849>>2] = $846;
-     $1 = 313;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-    $850 = $3;
-    $851 = ($850|0)==(100);
-    $852 = $3;
-    $853 = ($852|0)==(68);
-    $or$cond75 = $851 | $853;
-    if ($or$cond75) {
-     $854 = $2;
-     $855 = (_nextc($854)|0);
-     $3 = $855;
-     $856 = $3;
-     $857 = ($856|0)>=(0);
-     L714: do {
-      if ($857) {
-       $858 = $3;
-       $859 = (($858) - 48)|0;
-       $860 = ($859>>>0)<(10);
-       if ($860) {
-        while(1) {
-         $861 = $3;
-         $862 = ($861|0)==(95);
-         if ($862) {
-          $863 = $15;
-          $864 = ($863|0)!=(0);
-          if ($864) {
-           break L714;
-          }
-          $865 = $3;
-          $15 = $865;
-         } else {
-          $866 = $3;
-          $867 = (($866) - 48)|0;
-          $868 = ($867>>>0)<(10);
-          if (!($868)) {
-           break L714;
-          }
-          $15 = 0;
-          $869 = $2;
-          $870 = $3;
-          _tokadd($869,$870);
-         }
-         $871 = $2;
-         $872 = (_nextc($871)|0);
-         $3 = $872;
-         $873 = ($872|0)>=(0);
-         if (!($873)) {
-          break;
-         }
-        }
-       }
-      }
-     } while(0);
-     $874 = $2;
-     $875 = $3;
-     _pushback($874,$875);
-     $876 = $2;
-     _tokfix($876);
-     $877 = $2;
-     $878 = (_toklen($877)|0);
-     $879 = $16;
-     $880 = ($878|0)==($879|0);
-     if ($880) {
-      $881 = $2;
-      _yyerror($881,63212);
-      $1 = 0;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-     $882 = $15;
-     $883 = ($882|0)!=(0);
-     if ($883) {
-      label = 320;
-      break;
-     }
-     $884 = $2;
-     $885 = $2;
-     $886 = (_tok($885)|0);
-     $887 = (_new_int($884,$886,10)|0);
-     $888 = $2;
-     $889 = ((($888)) + 1132|0);
-     $890 = HEAP32[$889>>2]|0;
-     HEAP32[$890>>2] = $887;
-     $1 = 313;
-     $2029 = $1;
-     STACKTOP = sp;return ($2029|0);
-    }
-    $891 = $3;
-    $892 = ($891|0)==(95);
-    if ($892) {
-     label = 286;
-    } else {
-     $893 = $3;
-     $894 = ($893|0)==(111);
-     $895 = $3;
-     $896 = ($895|0)==(79);
-     $or$cond78 = $894 | $896;
-     do {
-      if ($or$cond78) {
-       $897 = $2;
-       $898 = (_nextc($897)|0);
-       $3 = $898;
-       $899 = $3;
-       $900 = ($899|0)<(0);
-       $901 = $3;
-       $902 = ($901|0)==(95);
-       $or$cond81 = $900 | $902;
-       if (!($or$cond81)) {
-        $903 = $3;
-        $904 = (($903) - 48)|0;
-        $905 = ($904>>>0)<(10);
-        if ($905) {
-         break;
-        }
-       }
-       $906 = $2;
-       _yyerror($906,63212);
-       $1 = 0;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-     } while(0);
-     $907 = $3;
-     $908 = ($907|0)>=(48);
-     $909 = $3;
-     $910 = ($909|0)<=(55);
-     $or$cond84 = $908 & $910;
-     if ($or$cond84) {
-      label = 286;
-     } else {
-      label = 298;
-     }
-    }
-    L741: do {
-     if ((label|0) == 286) {
-      while(1) {
-       label = 0;
-       $911 = $3;
-       $912 = ($911|0)==(95);
-       if ($912) {
-        $913 = $15;
-        $914 = ($913|0)!=(0);
-        if ($914) {
-         break;
-        }
-        $915 = $3;
-        $15 = $915;
-       } else {
-        $916 = $3;
-        $917 = ($916|0)<(48);
-        $918 = $3;
-        $919 = ($918|0)>(57);
-        $or$cond87 = $917 | $919;
-        if ($or$cond87) {
-         break;
-        }
-        $920 = $3;
-        $921 = ($920|0)>(55);
-        if ($921) {
-         break L741;
-        }
-        $15 = 0;
-        $922 = $2;
-        $923 = $3;
-        _tokadd($922,$923);
-       }
-       $924 = $2;
-       $925 = (_nextc($924)|0);
-       $3 = $925;
-       $926 = ($925|0)>=(0);
-       if ($926) {
-        label = 286;
-       } else {
-        break;
-       }
-      }
-      $927 = $2;
-      $928 = (_toklen($927)|0);
-      $929 = $16;
-      $930 = ($928|0)>($929|0);
-      if (!($930)) {
-       $943 = $15;
-       $944 = ($943|0)!=(0);
-       if (!($944)) {
-        label = 298;
-        break;
-       }
-       $945 = $2;
-       $946 = $3;
-       _pushback($945,$946);
-       label = 320;
-       break L667;
-      }
-      $931 = $2;
-      $932 = $3;
-      _pushback($931,$932);
-      $933 = $2;
-      _tokfix($933);
-      $934 = $15;
-      $935 = ($934|0)!=(0);
-      if ($935) {
-       label = 320;
-       break L667;
-      }
-      $936 = $2;
-      $937 = $2;
-      $938 = (_tok($937)|0);
-      $939 = (_new_int($936,$938,8)|0);
-      $940 = $2;
-      $941 = ((($940)) + 1132|0);
-      $942 = HEAP32[$941>>2]|0;
-      HEAP32[$942>>2] = $939;
-      $1 = 313;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-    } while(0);
-    if ((label|0) == 298) {
-     $947 = $3;
-     $948 = ($947|0)>(55);
-     $949 = $3;
-     $950 = ($949|0)<=(57);
-     $or$cond90 = $948 & $950;
-     if (!($or$cond90)) {
-      $952 = $3;
-      $953 = ($952|0)==(46);
-      $954 = $3;
-      $955 = ($954|0)==(101);
-      $or$cond93 = $953 | $955;
-      $956 = $3;
-      $957 = ($956|0)==(69);
-      $or$cond96 = $or$cond93 | $957;
-      $958 = $2;
-      if ($or$cond96) {
-       _tokadd($958,48);
-       label = 303;
-       break;
-      }
-      $959 = $3;
-      _pushback($958,$959);
-      $960 = $2;
-      $961 = (_new_int($960,63263,10)|0);
-      $962 = $2;
-      $963 = ((($962)) + 1132|0);
-      $964 = HEAP32[$963>>2]|0;
-      HEAP32[$964>>2] = $961;
-      $1 = 313;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-    }
-    $951 = $2;
-    _yyerror($951,63243);
-    label = 303;
-   } else {
-    label = 303;
-   }
-  } while(0);
-  L766: do {
-   if ((label|0) == 303) {
-    L767: while(1) {
-     label = 0;
-     $965 = $3;
-     switch ($965|0) {
-     case 57: case 56: case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48:  {
-      $15 = 0;
-      $966 = $2;
-      $967 = $3;
-      _tokadd($966,$967);
-      break;
-     }
-     case 46:  {
-      $968 = $15;
-      $969 = ($968|0)!=(0);
-      if ($969) {
-       label = 320;
-       break L766;
-      }
-      $970 = $13;
-      $971 = ($970|0)!=(0);
-      $972 = $14;
-      $973 = ($972|0)!=(0);
-      $or$cond99 = $971 | $973;
-      if ($or$cond99) {
-       break L767;
-      }
-      $974 = $2;
-      $975 = (_nextc($974)|0);
-      $17 = $975;
-      $976 = $17;
-      $977 = ($976|0)<(0);
-      if ($977) {
-       label = 309;
-       break L767;
-      }
-      $978 = $17;
-      $979 = (($978) - 48)|0;
-      $980 = ($979>>>0)<(10);
-      if (!($980)) {
-       label = 309;
-       break L767;
-      }
-      $983 = $17;
-      $3 = $983;
-      $984 = $2;
-      _tokadd($984,46);
-      $985 = $2;
-      $986 = $3;
-      _tokadd($985,$986);
-      $987 = $12;
-      $988 = (($987) + 1)|0;
-      $12 = $988;
-      $989 = $13;
-      $990 = (($989) + 1)|0;
-      $13 = $990;
-      $15 = 0;
-      break;
-     }
-     case 69: case 101:  {
-      $991 = $15;
-      $992 = ($991|0)!=(0);
-      if ($992) {
-       label = 312;
-       break L767;
-      }
-      $996 = $14;
-      $997 = ($996|0)!=(0);
-      if ($997) {
-       break L767;
-      }
-      $998 = $2;
-      $999 = $3;
-      _tokadd($998,$999);
-      $1000 = $14;
-      $1001 = (($1000) + 1)|0;
-      $14 = $1001;
-      $1002 = $12;
-      $1003 = (($1002) + 1)|0;
-      $12 = $1003;
-      $1004 = $3;
-      $15 = $1004;
-      $1005 = $2;
-      $1006 = (_nextc($1005)|0);
-      $3 = $1006;
-      $1007 = $3;
-      $1008 = ($1007|0)!=(45);
-      $1009 = $3;
-      $1010 = ($1009|0)!=(43);
-      $or$cond102 = $1008 & $1010;
-      if ($or$cond102) {
-       label = 303;
-       continue L767;
-      }
-      $1011 = $2;
-      $1012 = $3;
-      _tokadd($1011,$1012);
-      $1013 = $3;
-      $15 = $1013;
-      break;
-     }
-     case 95:  {
-      $1014 = $15;
-      $1015 = ($1014|0)!=(0);
-      if ($1015) {
-       break L767;
-      }
-      $1016 = $3;
-      $15 = $1016;
-      break;
-     }
-     default: {
-      break L767;
-     }
-     }
-     $1017 = $2;
-     $1018 = (_nextc($1017)|0);
-     $3 = $1018;
-     label = 303;
-    }
-    if ((label|0) == 309) {
-     $981 = $2;
-     $982 = $17;
-     _pushback($981,$982);
-    }
-    else if ((label|0) == 312) {
-     $993 = $2;
-     $994 = $3;
-     _pushback($993,$994);
-     $995 = $15;
-     $3 = $995;
-    }
-    $1019 = $2;
-    $1020 = $3;
-    _pushback($1019,$1020);
-    $1021 = $15;
-    $1022 = ($1021|0)!=(0);
-    if ($1022) {
-     label = 320;
-    }
-   }
-  } while(0);
-  if ((label|0) == 320) {
-   $1023 = $2;
-   $1024 = $15;
-   _yyerror_i($1023,63265,$1024);
-  }
-  $1025 = $2;
-  _tokfix($1025);
-  $1026 = $12;
-  $1027 = ($1026|0)!=(0);
-  if (!($1027)) {
-   $1055 = $2;
-   $1056 = $2;
-   $1057 = (_tok($1056)|0);
-   $1058 = (_new_int($1055,$1057,10)|0);
-   $1059 = $2;
-   $1060 = ((($1059)) + 1132|0);
-   $1061 = HEAP32[$1060>>2]|0;
-   HEAP32[$1061>>2] = $1058;
-   $1 = 313;
-   $2029 = $1;
-   STACKTOP = sp;return ($2029|0);
-  }
-  $1028 = (___errno_location()|0);
-  HEAP32[$1028>>2] = 0;
-  $1029 = $2;
-  $1030 = (_tok($1029)|0);
-  $1031 = (+_strtod($1030,$19));
-  $18 = $1031;
-  $1032 = $18;
-  $1033 = $1032 == 0.0;
-  if ($1033) {
-   $1034 = HEAP32[$19>>2]|0;
-   $1035 = $2;
-   $1036 = (_tok($1035)|0);
-   $1037 = ($1034|0)==($1036|0);
-   if ($1037) {
-    $1038 = $2;
-    $1039 = $2;
-    $1040 = (_tok($1039)|0);
-    _yywarning_s($1038,63289,$1040);
-   } else {
-    label = 325;
-   }
-  } else {
-   label = 325;
-  }
-  if ((label|0) == 325) {
-   $1041 = (___errno_location()|0);
-   $1042 = HEAP32[$1041>>2]|0;
-   $1043 = ($1042|0)==(34);
-   if ($1043) {
-    $1044 = $2;
-    $1045 = $2;
-    $1046 = (_tok($1045)|0);
-    _yywarning_s($1044,63314,$1046);
-    $1047 = (___errno_location()|0);
-    HEAP32[$1047>>2] = 0;
-   }
-  }
-  $1048 = $2;
-  $1049 = $2;
-  $1050 = (_tok($1049)|0);
-  $1051 = (_new_float($1048,$1050)|0);
-  $1052 = $2;
-  $1053 = ((($1052)) + 1132|0);
-  $1054 = HEAP32[$1053>>2]|0;
-  HEAP32[$1054>>2] = $1051;
-  $1 = 314;
-  $2029 = $1;
-  STACKTOP = sp;return ($2029|0);
- }
- else if ((label|0) == 330) {
-  $1066 = $2;
-  $1067 = ((($1066)) + 48|0);
-  $1068 = HEAP32[$1067>>2]|0;
-  $1069 = $1068 >>> 1;
-  $1070 = $2;
-  $1071 = ((($1070)) + 48|0);
-  $1072 = HEAP32[$1071>>2]|0;
-  $1073 = $1072 & 1;
-  $1074 = $1069 | $1073;
-  $1075 = $2;
-  $1076 = ((($1075)) + 48|0);
-  HEAP32[$1076>>2] = $1074;
-  $1077 = $2;
-  $1078 = ((($1077)) + 52|0);
-  $1079 = HEAP32[$1078>>2]|0;
-  $1080 = $1079 >>> 1;
-  $1081 = $2;
-  $1082 = ((($1081)) + 52|0);
-  $1083 = HEAP32[$1082>>2]|0;
-  $1084 = $1083 & 1;
-  $1085 = $1080 | $1084;
-  $1086 = $2;
-  $1087 = ((($1086)) + 52|0);
-  HEAP32[$1087>>2] = $1085;
-  $1088 = $3;
-  $1089 = ($1088|0)==(41);
-  $1090 = $2;
-  $1091 = ((($1090)) + 40|0);
-  $$sink103 = $1089 ? 3 : 2;
-  HEAP32[$1091>>2] = $$sink103;
-  $1092 = $3;
-  $1 = $1092;
-  $2029 = $1;
-  STACKTOP = sp;return ($2029|0);
- }
- else if ((label|0) == 511) {
-  while(1) {
-   label = 0;
-   $1746 = $2;
-   $1747 = $3;
-   _tokadd($1746,$1747);
-   $1748 = $2;
-   $1749 = (_nextc($1748)|0);
-   $3 = $1749;
-   $1750 = $3;
-   $1751 = ($1750|0)<(0);
-   if ($1751) {
-    break;
-   }
-   $1752 = $3;
-   $1753 = $1752 | 32;
-   $1754 = (($1753) - 97)|0;
-   $1755 = ($1754>>>0)<(26);
-   if ($1755) {
-    label = 511;
-    continue;
-   }
-   $1756 = $3;
-   $1757 = (($1756) - 48)|0;
-   $1758 = ($1757>>>0)<(10);
-   $1759 = $3;
-   $1760 = ($1759|0)==(95);
-   $or$cond173 = $1758 | $1760;
-   if ($or$cond173) {
-    label = 511;
-    continue;
-   }
-   $1761 = $3;
-   $1762 = ($1761>>>0)<=(127);
-   $1763 = $1762 ^ 1;
-   if ($1763) {
-    label = 511;
-   } else {
-    break;
-   }
-  }
-  $1764 = $7;
-  $1765 = ($1764|0)==(0);
-  if ($1765) {
-   $1766 = $2;
-   $1767 = (_toklen($1766)|0);
-   $1768 = ($1767|0)==(7);
-   if ($1768) {
-    $1769 = $3;
-    $1770 = ($1769|0)<(0);
-    $1771 = $3;
-    $1772 = ($1771|0)==(10);
-    $or$cond178 = $1770 | $1772;
-    if ($or$cond178) {
-     $1773 = $2;
-     $1774 = (_tok($1773)|0);
-     $1775 = $2;
-     $1776 = (_toklen($1775)|0);
-     $1777 = (_strncmp($1774,63675,$1776)|0);
-     $1778 = ($1777|0)==(0);
-     if ($1778) {
-      $1 = -1;
-      $2029 = $1;
-      STACKTOP = sp;return ($2029|0);
-     }
-    }
-   }
-  }
-  $1779 = $2;
-  $1780 = (_tok($1779)|0);
-  $1781 = HEAP8[$1780>>0]|0;
-  $1782 = $1781 << 24 >> 24;
-  L817: do {
-   switch ($1782|0) {
-   case 36: case 64:  {
-    $1783 = $2;
-    $1784 = $3;
-    _pushback($1783,$1784);
-    break;
-   }
-   default: {
-    $1785 = $3;
-    $1786 = ($1785|0)==(33);
-    $1787 = $3;
-    $1788 = ($1787|0)==(63);
-    $or$cond181 = $1786 | $1788;
-    if ($or$cond181) {
-     $1789 = $2;
-     $1790 = (_peek_n($1789,61,0)|0);
-     $1791 = ($1790<<24>>24)!=(0);
-     if (!($1791)) {
-      $1792 = $2;
-      $1793 = $3;
-      _tokadd($1792,$1793);
-      break L817;
-     }
-    }
-    $1794 = $2;
-    $1795 = $3;
-    _pushback($1794,$1795);
-   }
-   }
-  } while(0);
-  $1796 = $2;
-  _tokfix($1796);
-  $23 = 0;
-  $1797 = $2;
-  $1798 = (_tok($1797)|0);
-  $1799 = HEAP8[$1798>>0]|0;
-  $1800 = $1799 << 24 >> 24;
-  L825: do {
-   switch ($1800|0) {
-   case 36:  {
-    $1801 = $2;
-    $1802 = ((($1801)) + 40|0);
-    HEAP32[$1802>>2] = 1;
-    $23 = 308;
-    break;
-   }
-   case 64:  {
-    $1803 = $2;
-    $1804 = ((($1803)) + 40|0);
-    HEAP32[$1804>>2] = 1;
-    $1805 = $2;
-    $1806 = (_tok($1805)|0);
-    $1807 = ((($1806)) + 1|0);
-    $1808 = HEAP8[$1807>>0]|0;
-    $1809 = $1808 << 24 >> 24;
-    $1810 = ($1809|0)==(64);
-    if ($1810) {
-     $23 = 311;
-     break L825;
-    } else {
-     $23 = 309;
-     break L825;
-    }
-    break;
-   }
-   default: {
-    $1811 = $2;
-    $1812 = (_toklast($1811)|0);
-    $1813 = ($1812|0)==(33);
-    do {
-     if ($1813) {
-      label = 533;
-     } else {
-      $1814 = $2;
-      $1815 = (_toklast($1814)|0);
-      $1816 = ($1815|0)==(63);
-      if ($1816) {
-       label = 533;
-      } else {
-       $1817 = $2;
-       $1818 = ((($1817)) + 40|0);
-       $1819 = HEAP32[$1818>>2]|0;
-       $1820 = ($1819|0)==(7);
-       L830: do {
-        if ($1820) {
-         $1821 = $2;
-         $1822 = (_nextc($1821)|0);
-         $3 = $1822;
-         $1823 = ($1822|0)==(61);
-         do {
-          if ($1823) {
-           $1824 = $2;
-           $1825 = (_peek_n($1824,126,0)|0);
-           $1826 = ($1825<<24>>24)!=(0);
-           if (!($1826)) {
-            $1827 = $2;
-            $1828 = (_peek_n($1827,62,0)|0);
-            $1829 = ($1828<<24>>24)!=(0);
-            if (!($1829)) {
-             $1830 = $2;
-             $1831 = (_peek_n($1830,61,0)|0);
-             $1832 = ($1831<<24>>24)!=(0);
-             if ($1832) {
-              $1833 = $2;
-              $1834 = (_peek_n($1833,62,1)|0);
-              $1835 = $1834&255;
-              $1836 = ($1835|0)!=(0);
-              if (!($1836)) {
-               break;
-              }
-             }
-             $23 = 306;
-             $1837 = $2;
-             $1838 = $3;
-             _tokadd($1837,$1838);
-             $1839 = $2;
-             _tokfix($1839);
-             break L830;
-            }
-           }
-          }
-         } while(0);
-         $1840 = $2;
-         $1841 = $3;
-         _pushback($1840,$1841);
-        }
-       } while(0);
-       $1842 = $23;
-       $1843 = ($1842|0)==(0);
-       if ($1843) {
-        $1844 = $2;
-        $1845 = (_tok($1844)|0);
-        $1846 = HEAP8[$1845>>0]|0;
-        $1847 = $1846 << 24 >> 24;
-        $1848 = (($1847) - 65)|0;
-        $1849 = ($1848>>>0)<(26);
-        if ($1849) {
-         $23 = 310;
-         break;
-        }
-       }
-       $23 = 306;
-      }
-     }
-    } while(0);
-    if ((label|0) == 533) {
-     $23 = 307;
-    }
-    $1850 = $2;
-    $1851 = ((($1850)) + 40|0);
-    $1852 = HEAP32[$1851>>2]|0;
-    $1853 = ($1852|0)!=(0);
-    $1854 = $5;
-    $1855 = ($1854|0)!=(0);
-    $or$cond184 = $1853 | $1855;
-    if ($or$cond184) {
-     $1856 = $2;
-     $1857 = ((($1856)) + 40|0);
-     $1858 = HEAP32[$1857>>2]|0;
-     $1859 = ($1858|0)==(4);
-     if ($1859) {
-      label = 549;
-     } else {
-      $1860 = $2;
-      $1861 = ((($1860)) + 40|0);
-      $1862 = HEAP32[$1861>>2]|0;
-      $1863 = ($1862|0)==(5);
-      if ($1863) {
-       label = 549;
-      }
-     }
-    } else {
-     label = 549;
-    }
-    if ((label|0) == 549) {
-     $1864 = $2;
-     $1865 = (_peek_n($1864,58,0)|0);
-     $1866 = $1865&255;
-     $1867 = ($1866|0)!=(0);
-     if ($1867) {
-      $1868 = $2;
-      $1869 = (_peek_n($1868,58,1)|0);
-      $1870 = ($1869<<24>>24)!=(0);
-      if (!($1870)) {
-       $1871 = $2;
-       $1872 = ((($1871)) + 40|0);
-       HEAP32[$1872>>2] = 0;
-       $1873 = $2;
-       (_nextc($1873)|0);
-       $1874 = $2;
-       _tokfix($1874);
-       $1875 = $2;
-       $1876 = $2;
-       $1877 = (_tok($1876)|0);
-       $1878 = (_intern_cstr_gen($1875,$1877)|0);
-       $1879 = $2;
-       $1880 = ((($1879)) + 1132|0);
-       $1881 = HEAP32[$1880>>2]|0;
-       HEAP32[$1881>>2] = $1878;
-       $1 = 312;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-     }
-    }
-    $1882 = $2;
-    $1883 = ((($1882)) + 40|0);
-    $1884 = HEAP32[$1883>>2]|0;
-    $1885 = ($1884|0)!=(8);
-    if ($1885) {
-     $1886 = $2;
-     $1887 = (_tok($1886)|0);
-     $1888 = $2;
-     $1889 = (_toklen($1888)|0);
-     $1890 = (_reserved_word($1887,$1889)|0);
-     $24 = $1890;
-     $1891 = $24;
-     $1892 = ($1891|0)!=(0|0);
-     if ($1892) {
-      $1893 = $2;
-      $1894 = ((($1893)) + 40|0);
-      $1895 = HEAP32[$1894>>2]|0;
-      $25 = $1895;
-      $1896 = $2;
-      $1897 = ((($1896)) + 32|0);
-      $1898 = HEAP32[$1897>>2]|0;
-      $1899 = $2;
-      $1900 = ((($1899)) + 1132|0);
-      $1901 = HEAP32[$1900>>2]|0;
-      HEAP32[$1901>>2] = $1898;
-      $1902 = $24;
-      $1903 = ((($1902)) + 12|0);
-      $1904 = HEAP32[$1903>>2]|0;
-      $1905 = $2;
-      $1906 = ((($1905)) + 40|0);
-      HEAP32[$1906>>2] = $1904;
-      $1907 = $25;
-      $1908 = ($1907|0)==(7);
-      $1909 = $2;
-      if ($1908) {
-       $1910 = $24;
-       $1911 = HEAP32[$1910>>2]|0;
-       $1912 = (_intern_cstr_gen($1909,$1911)|0);
-       $1913 = $2;
-       $1914 = ((($1913)) + 1132|0);
-       $1915 = HEAP32[$1914>>2]|0;
-       HEAP32[$1915>>2] = $1912;
-       $1916 = $24;
-       $1917 = ((($1916)) + 4|0);
-       $1918 = HEAP32[$1917>>2]|0;
-       $1 = $1918;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-      $1919 = ((($1909)) + 40|0);
-      $1920 = HEAP32[$1919>>2]|0;
-      $1921 = ($1920|0)==(0);
-      if ($1921) {
-       $1922 = $2;
-       $1923 = ((($1922)) + 72|0);
-       $1924 = HEAP8[$1923>>0]|0;
-       $1925 = $1924 & -2;
-       $1926 = $1925 | 1;
-       HEAP8[$1923>>0] = $1926;
-      }
-      $1927 = $24;
-      $1928 = ((($1927)) + 4|0);
-      $1929 = HEAP32[$1928>>2]|0;
-      $1930 = ($1929|0)==(281);
-      if (!($1930)) {
-       $1964 = $25;
-       $1965 = ($1964|0)==(0);
-       $1966 = $25;
-       $1967 = ($1966|0)==(10);
-       $or$cond193 = $1965 | $1967;
-       $1968 = $24;
-       $1969 = ((($1968)) + 4|0);
-       $1970 = HEAP32[$1969>>2]|0;
-       if ($or$cond193) {
-        $1 = $1970;
-        $2029 = $1;
-        STACKTOP = sp;return ($2029|0);
-       }
-       $1971 = $24;
-       $1972 = ((($1971)) + 4|0);
-       $1973 = ((($1972)) + 4|0);
-       $1974 = HEAP32[$1973>>2]|0;
-       $1975 = ($1970|0)!=($1974|0);
-       if ($1975) {
-        $1976 = $2;
-        $1977 = ((($1976)) + 40|0);
-        HEAP32[$1977>>2] = 0;
-       }
-       $1978 = $24;
-       $1979 = ((($1978)) + 4|0);
-       $1980 = ((($1979)) + 4|0);
-       $1981 = HEAP32[$1980>>2]|0;
-       $1 = $1981;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-      $1931 = $2;
-      $1932 = ((($1931)) + 60|0);
-      $1933 = HEAP32[$1932>>2]|0;
-      $1934 = ($1933|0)!=(0);
-      if ($1934) {
-       $1935 = $2;
-       $1936 = ((($1935)) + 60|0);
-       $1937 = HEAP32[$1936>>2]|0;
-       $1938 = $2;
-       $1939 = ((($1938)) + 56|0);
-       $1940 = HEAP32[$1939>>2]|0;
-       $1941 = ($1937|0)==($1940|0);
-       if ($1941) {
-        $1942 = $2;
-        $1943 = ((($1942)) + 60|0);
-        HEAP32[$1943>>2] = 0;
-        $1944 = $2;
-        $1945 = ((($1944)) + 56|0);
-        $1946 = HEAP32[$1945>>2]|0;
-        $1947 = (($1946) + -1)|0;
-        HEAP32[$1945>>2] = $1947;
-        $1 = 284;
-        $2029 = $1;
-        STACKTOP = sp;return ($2029|0);
-       }
-      }
-      $1948 = $2;
-      $1949 = ((($1948)) + 48|0);
-      $1950 = HEAP32[$1949>>2]|0;
-      $1951 = $1950 & 1;
-      $1952 = ($1951|0)!=(0);
-      if ($1952) {
-       $1 = 282;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-      $1953 = $2;
-      $1954 = ((($1953)) + 52|0);
-      $1955 = HEAP32[$1954>>2]|0;
-      $1956 = $1955 & 1;
-      $1957 = ($1956|0)!=(0);
-      $1958 = $25;
-      $1959 = ($1958|0)!=(5);
-      $or$cond187 = $1957 & $1959;
-      if ($or$cond187) {
-       $1 = 283;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-      $1960 = $25;
-      $1961 = ($1960|0)==(2);
-      $1962 = $25;
-      $1963 = ($1962|0)==(0);
-      $or$cond190 = $1961 | $1963;
-      if ($or$cond190) {
-       $1 = 283;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      } else {
-       $1 = 281;
-       $2029 = $1;
-       STACKTOP = sp;return ($2029|0);
-      }
-     }
-    }
-    $1982 = $2;
-    $1983 = ((($1982)) + 40|0);
-    $1984 = HEAP32[$1983>>2]|0;
-    $1985 = ($1984|0)==(0);
-    if (!($1985)) {
-     $1986 = $2;
-     $1987 = ((($1986)) + 40|0);
-     $1988 = HEAP32[$1987>>2]|0;
-     $1989 = ($1988|0)==(6);
-     if (!($1989)) {
-      $1990 = $2;
-      $1991 = ((($1990)) + 40|0);
-      $1992 = HEAP32[$1991>>2]|0;
-      $1993 = ($1992|0)==(10);
-      if (!($1993)) {
-       $1994 = $2;
-       $1995 = ((($1994)) + 40|0);
-       $1996 = HEAP32[$1995>>2]|0;
-       $1997 = ($1996|0)==(9);
-       if (!($1997)) {
-        $1998 = $2;
-        $1999 = ((($1998)) + 40|0);
-        $2000 = HEAP32[$1999>>2]|0;
-        $2001 = ($2000|0)==(8);
-        if (!($2001)) {
-         $2002 = $2;
-         $2003 = ((($2002)) + 40|0);
-         $2004 = HEAP32[$2003>>2]|0;
-         $2005 = ($2004|0)==(4);
-         if (!($2005)) {
-          $2006 = $2;
-          $2007 = ((($2006)) + 40|0);
-          $2008 = HEAP32[$2007>>2]|0;
-          $2009 = ($2008|0)==(5);
-          if (!($2009)) {
-           $2014 = $2;
-           $2015 = ((($2014)) + 40|0);
-           $2016 = HEAP32[$2015>>2]|0;
-           $2017 = ($2016|0)==(7);
-           $2018 = $2;
-           $2019 = ((($2018)) + 40|0);
-           $$sink195 = $2017 ? 3 : 1;
-           HEAP32[$2019>>2] = $$sink195;
-           break L825;
-          }
-         }
-        }
-       }
-      }
-     }
-    }
-    $2010 = $5;
-    $2011 = ($2010|0)!=(0);
-    $2012 = $2;
-    $2013 = ((($2012)) + 40|0);
-    $$sink194 = $2011 ? 5 : 4;
-    HEAP32[$2013>>2] = $$sink194;
-   }
-   }
-  } while(0);
-  $2020 = $2;
-  $2021 = $2;
-  $2022 = (_tok($2021)|0);
-  $2023 = (_intern_cstr_gen($2020,$2022)|0);
-  $26 = $2023;
-  $2024 = $26;
-  $2025 = $2;
-  $2026 = ((($2025)) + 1132|0);
-  $2027 = HEAP32[$2026>>2]|0;
-  HEAP32[$2027>>2] = $2024;
-  $2028 = $23;
-  $1 = $2028;
-  $2029 = $1;
-  STACKTOP = sp;return ($2029|0);
- }
- return (0)|0;
-}
-function _parse_string($0) {
- $0 = $0|0;
- var $$old = 0, $$old4 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
- var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
- var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
- var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0;
- var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0;
- var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0;
- var $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0;
- var $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0;
- var $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0;
- var $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0;
- var $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0;
- var $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0;
- var $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0;
- var $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0;
- var $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0;
- var $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0;
- var $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0;
- var $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0;
- var $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
- var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
- var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
- var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $vararg_buffer = 0, $vararg_buffer6 = 0, $vararg_ptr9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 480|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(480|0);
- $vararg_buffer6 = sp + 8|0;
- $vararg_buffer = sp;
- $12 = sp + 216|0;
- $16 = sp + 209|0;
- $18 = sp + 208|0;
- $21 = sp + 80|0;
- $2 = $0;
- $22 = $2;
- $23 = ((($22)) + 44|0);
- $24 = HEAP32[$23>>2]|0;
- $25 = HEAP32[$24>>2]|0;
- $26 = $25;
- $4 = $26;
- $27 = $2;
- $28 = ((($27)) + 44|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = ((($29)) + 4|0);
- $31 = HEAP32[$30>>2]|0;
- $32 = HEAP32[$31>>2]|0;
- $33 = $32;
- $5 = $33;
- $34 = $2;
- $35 = ((($34)) + 44|0);
- $36 = HEAP32[$35>>2]|0;
- $37 = ((($36)) + 4|0);
- $38 = HEAP32[$37>>2]|0;
- $39 = ((($38)) + 4|0);
- $40 = HEAP32[$39>>2]|0;
- $41 = HEAP32[$40>>2]|0;
- $42 = $41;
- $6 = $42;
- $43 = $2;
- $44 = ((($43)) + 44|0);
- $45 = HEAP32[$44>>2]|0;
- $46 = ((($45)) + 4|0);
- $47 = HEAP32[$46>>2]|0;
- $48 = ((($47)) + 4|0);
- $49 = HEAP32[$48>>2]|0;
- $50 = ((($49)) + 4|0);
- $51 = HEAP32[$50>>2]|0;
- $52 = $51;
- $7 = $52;
- $53 = $4;
- $54 = $53 & 64;
- $55 = ($54|0)!=(0);
- if ($55) {
-  $56 = $2;
-  $57 = (_parsing_heredoc_inf($56)|0);
-  $58 = $57;
- } else {
-  $58 = 0;
- }
- $8 = $58;
- $59 = $2;
- (_newtok($59)|0);
- L4: while(1) {
-  $60 = $2;
-  $61 = (_nextc($60)|0);
-  $3 = $61;
-  $62 = $7;
-  $63 = ($61|0)!=($62|0);
-  $64 = $5;
-  $65 = ($64|0)!=(0);
-  $66 = $63 ? 1 : $65;
-  if (!($66)) {
-   label = 66;
-   break;
-  }
-  $67 = $8;
-  $68 = ($67|0)!=(0|0);
-  if ($68) {
-   $69 = $3;
-   $70 = ($69|0)==(10);
-   $71 = $3;
-   $72 = ($71|0)<(0);
-   $or$cond = $70 | $72;
-   if ($or$cond) {
-    label = 7;
-    break;
-   }
-  }
-  $143 = $3;
-  $144 = ($143|0)<(0);
-  if ($144) {
-   label = 20;
-   break;
-  }
-  $146 = $3;
-  $147 = $6;
-  $148 = ($146|0)==($147|0);
-  do {
-   if ($148) {
-    $149 = $5;
-    $150 = (($149) + 1)|0;
-    $5 = $150;
-    $151 = $5;
-    $152 = $151;
-    $153 = $2;
-    $154 = ((($153)) + 44|0);
-    $155 = HEAP32[$154>>2]|0;
-    $156 = ((($155)) + 4|0);
-    $157 = HEAP32[$156>>2]|0;
-    HEAP32[$157>>2] = $152;
-   } else {
-    $158 = $3;
-    $159 = $7;
-    $160 = ($158|0)==($159|0);
-    if ($160) {
-     $161 = $5;
-     $162 = (($161) + -1)|0;
-     $5 = $162;
-     $163 = $5;
-     $164 = $163;
-     $165 = $2;
-     $166 = ((($165)) + 44|0);
-     $167 = HEAP32[$166>>2]|0;
-     $168 = ((($167)) + 4|0);
-     $169 = HEAP32[$168>>2]|0;
-     HEAP32[$169>>2] = $164;
-     break;
-    }
-    $170 = $3;
-    $171 = ($170|0)==(92);
-    if (!($171)) {
-     $238 = $3;
-     $239 = ($238|0)==(35);
-     if (!($239)) {
-      break;
-     }
-     $240 = $4;
-     $241 = $240 & 2;
-     $242 = ($241|0)!=(0);
-     if (!($242)) {
-      break;
-     }
-     $243 = $2;
-     $244 = (_nextc($243)|0);
-     $3 = $244;
-     $245 = $3;
-     $246 = ($245|0)==(123);
-     $247 = $2;
-     if ($246) {
-      label = 50;
-      break L4;
-     }
-     _tokadd($247,35);
-     $269 = $2;
-     $270 = $3;
-     _pushback($269,$270);
-     continue L4;
-    }
-    $172 = $2;
-    $173 = (_nextc($172)|0);
-    $3 = $173;
-    $174 = $4;
-    $175 = $174 & 2;
-    $176 = ($175|0)!=(0);
-    $177 = $3;
-    if ($176) {
-     $178 = $7;
-     $179 = ($177|0)==($178|0);
-     if (!($179)) {
-      $180 = $3;
-      $181 = $6;
-      $182 = ($180|0)==($181|0);
-      if (!($182)) {
-       $185 = $3;
-       $186 = ($185|0)==(10);
-       if ($186) {
-        $187 = $2;
-        $188 = ((($187)) + 32|0);
-        $189 = HEAP32[$188>>2]|0;
-        $190 = (($189) + 1)|0;
-        HEAP32[$188>>2] = $190;
-        $191 = $2;
-        $192 = ((($191)) + 36|0);
-        HEAP32[$192>>2] = 0;
-        $193 = $4;
-        $194 = $193 & 32;
-        $195 = ($194|0)!=(0);
-        if (!($195)) {
-         continue L4;
-        }
-        $196 = $2;
-        _tokadd($196,10);
-        continue L4;
-       }
-       $197 = $4;
-       $198 = $197 & 4;
-       $199 = ($198|0)!=(0);
-       $200 = $2;
-       if ($199) {
-        _tokadd($200,92);
-        $201 = $2;
-        $202 = $3;
-        _tokadd($201,$202);
-        continue L4;
-       }
-       $203 = $3;
-       _pushback($200,$203);
-       $204 = $2;
-       $205 = $2;
-       $206 = (_read_escape($205)|0);
-       _tokadd($204,$206);
-       $207 = $8;
-       $208 = ($207|0)!=(0|0);
-       if (!($208)) {
-        continue L4;
-       }
-       $209 = $8;
-       $210 = HEAP8[$209>>0]|0;
-       $211 = $210 & -3;
-       HEAP8[$209>>0] = $211;
-       continue L4;
-      }
-     }
-     $183 = $2;
-     $184 = $3;
-     _tokadd($183,$184);
-     continue L4;
-    } else {
-     $212 = $6;
-     $213 = ($177|0)!=($212|0);
-     do {
-      if ($213) {
-       $214 = $3;
-       $215 = $7;
-       $216 = ($214|0)!=($215|0);
-       if ($216) {
-        $217 = $3;
-        $218 = ($217|0)==(10);
-        if ($218) {
-         $219 = $2;
-         $220 = ((($219)) + 32|0);
-         $221 = HEAP32[$220>>2]|0;
-         $222 = (($221) + 1)|0;
-         HEAP32[$220>>2] = $222;
-         $223 = $2;
-         $224 = ((($223)) + 36|0);
-         HEAP32[$224>>2] = 0;
-        }
-        $225 = $3;
-        $226 = ($225|0)==(92);
-        if (!($226)) {
-         $227 = $4;
-         $228 = $227 & 32;
-         $229 = ($228|0)!=(0);
-         if ($229) {
-          $230 = $3;
-          $231 = ($230|0)==(32);
-          if ($231) {
-           break;
-          }
-          $232 = $3;
-          $233 = (($232) - 9)|0;
-          $234 = ($233>>>0)<(5);
-          if ($234) {
-           break;
-          }
-         }
-         $235 = $2;
-         _tokadd($235,92);
-        }
-       }
-      }
-     } while(0);
-     $236 = $2;
-     $237 = $3;
-     _tokadd($236,$237);
-     continue L4;
-    }
-   }
-  } while(0);
-  $271 = $4;
-  $272 = $271 & 32;
-  $273 = ($272|0)!=(0);
-  if ($273) {
-   $274 = $3;
-   $275 = ($274|0)==(32);
-   if ($275) {
-    label = 57;
-    break;
-   }
-   $276 = $3;
-   $277 = (($276) - 9)|0;
-   $278 = ($277>>>0)<(5);
-   if ($278) {
-    label = 57;
-    break;
-   }
-  }
-  $316 = $2;
-  $317 = $3;
-  _tokadd($316,$317);
- }
- if ((label|0) == 7) {
-  $73 = $2;
-  _tokadd($73,10);
-  $74 = $2;
-  _tokfix($74);
-  $75 = $2;
-  $76 = ((($75)) + 32|0);
-  $77 = HEAP32[$76>>2]|0;
-  $78 = (($77) + 1)|0;
-  HEAP32[$76>>2] = $78;
-  $79 = $2;
-  $80 = ((($79)) + 36|0);
-  HEAP32[$80>>2] = 0;
-  $81 = $8;
-  $82 = HEAP8[$81>>0]|0;
-  $83 = ($82&255) >>> 1;
-  $84 = $83 & 1;
-  $9 = $84;
-  $85 = $8;
-  $86 = HEAP8[$85>>0]|0;
-  $87 = $86 & -3;
-  $88 = $87 | 2;
-  HEAP8[$85>>0] = $88;
-  $89 = $9;
-  $90 = ($89<<24>>24)!=(0);
-  if ($90) {
-   $91 = $2;
-   $92 = (_tok($91)|0);
-   $10 = $92;
-   $93 = $2;
-   $94 = (_toklen($93)|0);
-   $11 = $94;
-   $95 = $8;
-   $96 = HEAP8[$95>>0]|0;
-   $97 = $96 & 1;
-   $98 = ($97<<24>>24)!=(0);
-   L131: do {
-    if ($98) {
-     while(1) {
-      $99 = $10;
-      $100 = HEAP8[$99>>0]|0;
-      $101 = $100 << 24 >> 24;
-      $102 = ($101|0)==(32);
-      if ($102) {
-       $$old = $11;
-       $$old4 = ($$old|0)>(0);
-       if (!($$old4)) {
-        break L131;
-       }
-      } else {
-       $103 = $10;
-       $104 = HEAP8[$103>>0]|0;
-       $105 = $104 << 24 >> 24;
-       $106 = (($105) - 9)|0;
-       $107 = ($106>>>0)<(5);
-       $108 = $11;
-       $109 = ($108|0)>(0);
-       $or$cond5 = $107 & $109;
-       if (!($or$cond5)) {
-        break L131;
-       }
-      }
-      $110 = $10;
-      $111 = ((($110)) + 1|0);
-      $10 = $111;
-      $112 = $11;
-      $113 = (($112) + -1)|0;
-      $11 = $113;
-     }
-    }
-   } while(0);
-   $114 = $11;
-   $115 = (($114) - 1)|0;
-   $116 = $8;
-   $117 = ((($116)) + 12|0);
-   $118 = HEAP32[$117>>2]|0;
-   $119 = ($115|0)==($118|0);
-   if ($119) {
-    $120 = $10;
-    $121 = $8;
-    $122 = ((($121)) + 8|0);
-    $123 = HEAP32[$122>>2]|0;
-    $124 = $11;
-    $125 = (($124) - 1)|0;
-    $126 = (_strncmp($120,$123,$125)|0);
-    $127 = ($126|0)==(0);
-    if ($127) {
-     $1 = 365;
-     $430 = $1;
-     STACKTOP = sp;return ($430|0);
-    }
-   }
-  }
-  $128 = $3;
-  $129 = ($128|0)<(0);
-  if ($129) {
-   $130 = $8;
-   $131 = ((($130)) + 8|0);
-   $132 = HEAP32[$131>>2]|0;
-   HEAP32[$vararg_buffer>>2] = $132;
-   (_snprintf($12,256,64354,$vararg_buffer)|0);
-   $133 = $2;
-   _yyerror($133,$12);
-   $1 = 0;
-   $430 = $1;
-   STACKTOP = sp;return ($430|0);
-  } else {
-   $134 = $2;
-   $135 = $2;
-   $136 = (_tok($135)|0);
-   $137 = $2;
-   $138 = (_toklen($137)|0);
-   $139 = (_new_str($134,$136,$138)|0);
-   $140 = $2;
-   $141 = ((($140)) + 1132|0);
-   $142 = HEAP32[$141>>2]|0;
-   HEAP32[$142>>2] = $139;
-   $1 = 369;
-   $430 = $1;
-   STACKTOP = sp;return ($430|0);
-  }
- }
- else if ((label|0) == 20) {
-  $145 = $2;
-  _yyerror($145,64408);
-  $1 = 0;
-  $430 = $1;
-  STACKTOP = sp;return ($430|0);
- }
- else if ((label|0) == 50) {
-  _tokfix($247);
-  $248 = $2;
-  $249 = ((($248)) + 40|0);
-  HEAP32[$249>>2] = 0;
-  $250 = $2;
-  $251 = ((($250)) + 72|0);
-  $252 = HEAP8[$251>>0]|0;
-  $253 = $252 & -2;
-  $254 = $253 | 1;
-  HEAP8[$251>>0] = $254;
-  $255 = $2;
-  $256 = $2;
-  $257 = (_tok($256)|0);
-  $258 = $2;
-  $259 = (_toklen($258)|0);
-  $260 = (_new_str($255,$257,$259)|0);
-  $261 = $2;
-  $262 = ((($261)) + 1132|0);
-  $263 = HEAP32[$262>>2]|0;
-  HEAP32[$263>>2] = $260;
-  $264 = $8;
-  $265 = ($264|0)!=(0|0);
-  if ($265) {
-   $266 = $8;
-   $267 = HEAP8[$266>>0]|0;
-   $268 = $267 & -3;
-   HEAP8[$266>>0] = $268;
-   $1 = 368;
-   $430 = $1;
-   STACKTOP = sp;return ($430|0);
-  } else {
-   $1 = 319;
-   $430 = $1;
-   STACKTOP = sp;return ($430|0);
-  }
- }
- else if ((label|0) == 57) {
-  $279 = $2;
-  $280 = (_toklen($279)|0);
-  $281 = ($280|0)==(0);
-  if (!($281)) {
-   $304 = $2;
-   $305 = $3;
-   _pushback($304,$305);
-   $306 = $2;
-   _tokfix($306);
-   $307 = $2;
-   $308 = $2;
-   $309 = (_tok($308)|0);
-   $310 = $2;
-   $311 = (_toklen($310)|0);
-   $312 = (_new_str($307,$309,$311)|0);
-   $313 = $2;
-   $314 = ((($313)) + 1132|0);
-   $315 = HEAP32[$314>>2]|0;
-   HEAP32[$315>>2] = $312;
-   $1 = 320;
-   $430 = $1;
-   STACKTOP = sp;return ($430|0);
-  }
-  while(1) {
-   $282 = $3;
-   $283 = ($282|0)==(10);
-   if ($283) {
-    $284 = $2;
-    $285 = ((($284)) + 32|0);
-    $286 = HEAP32[$285>>2]|0;
-    $287 = (($286) + 1)|0;
-    HEAP32[$285>>2] = $287;
-    $288 = $2;
-    $289 = ((($288)) + 36|0);
-    HEAP32[$289>>2] = 0;
-    $290 = $2;
-    _heredoc_treat_nextline($290);
-    $291 = $2;
-    $292 = ((($291)) + 1120|0);
-    $293 = HEAP32[$292>>2]|0;
-    $294 = ($293|0)!=(0|0);
-    if ($294) {
-     label = 60;
-     break;
-    }
-   }
-   $295 = $2;
-   $296 = (_nextc($295)|0);
-   $3 = $296;
-   $297 = $3;
-   $298 = ($297|0)==(32);
-   if ($298) {
-    continue;
-   }
-   $299 = $3;
-   $300 = (($299) - 9)|0;
-   $301 = ($300>>>0)<(5);
-   if (!($301)) {
-    label = 63;
-    break;
-   }
-  }
-  if ((label|0) == 60) {
-   $1 = 367;
-   $430 = $1;
-   STACKTOP = sp;return ($430|0);
-  }
-  else if ((label|0) == 63) {
-   $302 = $2;
-   $303 = $3;
-   _pushback($302,$303);
-   $1 = 366;
-   $430 = $1;
-   STACKTOP = sp;return ($430|0);
-  }
- }
- else if ((label|0) == 66) {
-  $318 = $2;
-  _tokfix($318);
-  $319 = $2;
-  $320 = ((($319)) + 40|0);
-  HEAP32[$320>>2] = 1;
-  $321 = $2;
-  _end_strterm($321);
-  $322 = $4;
-  $323 = $322 & 128;
-  $324 = ($323|0)!=(0);
-  if ($324) {
-   $325 = $2;
-   $326 = $2;
-   $327 = (_tok($326)|0);
-   $328 = $2;
-   $329 = (_toklen($328)|0);
-   $330 = (_new_xstr($325,$327,$329)|0);
-   $331 = $2;
-   $332 = ((($331)) + 1132|0);
-   $333 = HEAP32[$332>>2]|0;
-   HEAP32[$333>>2] = $330;
-   $1 = 316;
-   $430 = $1;
-   STACKTOP = sp;return ($430|0);
-  }
-  $334 = $4;
-  $335 = $334 & 4;
-  $336 = ($335|0)!=(0);
-  if (!($336)) {
-   $421 = $2;
-   $422 = $2;
-   $423 = (_tok($422)|0);
-   $424 = $2;
-   $425 = (_toklen($424)|0);
-   $426 = (_new_str($421,$423,$425)|0);
-   $427 = $2;
-   $428 = ((($427)) + 1132|0);
-   $429 = HEAP32[$428>>2]|0;
-   HEAP32[$429>>2] = $426;
-   $1 = 318;
-   $430 = $1;
-   STACKTOP = sp;return ($430|0);
-  }
-  $13 = 0;
-  $337 = $2;
-  $338 = $2;
-  $339 = (_tok($338)|0);
-  $340 = $2;
-  $341 = (_toklen($340)|0);
-  $342 = (_parser_strndup($337,$339,$341)|0);
-  $15 = $342;
-  $17 = $16;
-  HEAP8[$18>>0] = 0;
-  $343 = $2;
-  (_newtok($343)|0);
-  L65: while(1) {
-   $344 = $2;
-   $345 = (_nextc($344)|0);
-   $14 = $345;
-   $346 = $14;
-   $347 = ($346|0)>=(0);
-   if (!($347)) {
-    break;
-   }
-   $348 = $14;
-   $349 = $348 | 32;
-   $350 = (($349) - 97)|0;
-   $351 = ($350>>>0)<(26);
-   if (!($351)) {
-    break;
-   }
-   $352 = $14;
-   switch ($352|0) {
-   case 105:  {
-    $353 = $13;
-    $354 = $353 | 1;
-    $13 = $354;
-    continue L65;
-    break;
-   }
-   case 120:  {
-    $355 = $13;
-    $356 = $355 | 2;
-    $13 = $356;
-    continue L65;
-    break;
-   }
-   case 109:  {
-    $357 = $13;
-    $358 = $357 | 4;
-    $13 = $358;
-    continue L65;
-    break;
-   }
-   case 117:  {
-    $359 = $13;
-    $360 = $359 | 16;
-    $13 = $360;
-    continue L65;
-    break;
-   }
-   case 110:  {
-    $361 = $13;
-    $362 = $361 | 32;
-    $13 = $362;
-    continue L65;
-    break;
-   }
-   default: {
-    $363 = $2;
-    $364 = $14;
-    _tokadd($363,$364);
-    continue L65;
-   }
-   }
-  }
-  $365 = $2;
-  $366 = $14;
-  _pushback($365,$366);
-  $367 = $2;
-  $368 = (_toklen($367)|0);
-  $369 = ($368|0)!=(0);
-  if ($369) {
-   $370 = $2;
-   _tokfix($370);
-   $371 = $2;
-   $372 = (_toklen($371)|0);
-   $373 = ($372|0)>(1);
-   $374 = $373 ? 64446 : 75764;
-   $375 = $2;
-   $376 = (_tok($375)|0);
-   HEAP32[$vararg_buffer6>>2] = $374;
-   $vararg_ptr9 = ((($vararg_buffer6)) + 4|0);
-   HEAP32[$vararg_ptr9>>2] = $376;
-   (_snprintf($21,128,64448,$vararg_buffer6)|0);
-   $377 = $2;
-   _yyerror($377,$21);
-  }
-  $378 = $13;
-  $379 = ($378|0)!=(0);
-  if ($379) {
-   $380 = $13;
-   $381 = $380 & 1;
-   $382 = ($381|0)!=(0);
-   if ($382) {
-    $383 = $17;
-    $384 = ((($383)) + 1|0);
-    $17 = $384;
-    HEAP8[$383>>0] = 105;
-   }
-   $385 = $13;
-   $386 = $385 & 2;
-   $387 = ($386|0)!=(0);
-   if ($387) {
-    $388 = $17;
-    $389 = ((($388)) + 1|0);
-    $17 = $389;
-    HEAP8[$388>>0] = 120;
-   }
-   $390 = $13;
-   $391 = $390 & 4;
-   $392 = ($391|0)!=(0);
-   if ($392) {
-    $393 = $17;
-    $394 = ((($393)) + 1|0);
-    $17 = $394;
-    HEAP8[$393>>0] = 109;
-   }
-   $395 = $13;
-   $396 = $395 & 16;
-   $397 = ($396|0)!=(0);
-   if ($397) {
-    HEAP8[$18>>0] = 117;
-   }
-   $398 = $13;
-   $399 = $398 & 32;
-   $400 = ($399|0)!=(0);
-   if ($400) {
-    HEAP8[$18>>0] = 110;
-   }
-  }
-  $401 = $17;
-  $402 = ($401>>>0)>($16>>>0);
-  if ($402) {
-   $403 = $2;
-   $404 = $17;
-   $405 = $404;
-   $406 = $16;
-   $407 = (($405) - ($406))|0;
-   $408 = (_parser_strndup($403,$16,$407)|0);
-   $20 = $408;
-  } else {
-   $20 = 0;
-  }
-  $409 = HEAP8[$18>>0]|0;
-  $410 = ($409<<24>>24)!=(0);
-  if ($410) {
-   $411 = $2;
-   $412 = (_parser_strndup($411,$18,1)|0);
-   $19 = $412;
-  } else {
-   $19 = 0;
-  }
-  $413 = $2;
-  $414 = $15;
-  $415 = $20;
-  $416 = $19;
-  $417 = (_new_regx($413,$414,$415,$416)|0);
-  $418 = $2;
-  $419 = ((($418)) + 1132|0);
-  $420 = HEAP32[$419>>2]|0;
-  HEAP32[$420>>2] = $417;
-  $1 = 317;
-  $430 = $1;
-  STACKTOP = sp;return ($430|0);
- }
- return (0)|0;
-}
-function _nextc($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
- var $82 = 0, $83 = 0, $84 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $5 = $2;
- $6 = ((($5)) + 80|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)!=(0|0);
- $9 = $2;
- do {
-  if ($8) {
-   $10 = ((($9)) + 80|0);
-   $11 = HEAP32[$10>>2]|0;
-   $12 = HEAP32[$11>>2]|0;
-   $13 = $12;
-   $3 = $13;
-   $14 = $2;
-   $15 = ((($14)) + 80|0);
-   $16 = HEAP32[$15>>2]|0;
-   $4 = $16;
-   $17 = $2;
-   $18 = ((($17)) + 80|0);
-   $19 = HEAP32[$18>>2]|0;
-   $20 = ((($19)) + 4|0);
-   $21 = HEAP32[$20>>2]|0;
-   $22 = $2;
-   $23 = ((($22)) + 80|0);
-   HEAP32[$23>>2] = $21;
-   $24 = $2;
-   $25 = $4;
-   _cons_free_gen($24,$25);
-  } else {
-   $26 = ((($9)) + 20|0);
-   $27 = HEAP32[$26>>2]|0;
-   $28 = ($27|0)!=(0|0);
-   $29 = $2;
-   if ($28) {
-    $30 = ((($29)) + 20|0);
-    $31 = HEAP32[$30>>2]|0;
-    $32 = (_feof($31)|0);
-    $33 = ($32|0)!=(0);
-    if (!($33)) {
-     $34 = $2;
-     $35 = ((($34)) + 20|0);
-     $36 = HEAP32[$35>>2]|0;
-     $37 = (_fgetc($36)|0);
-     $3 = $37;
-     $38 = $3;
-     $39 = ($38|0)==(-1);
-     if (!($39)) {
-      break;
-     }
-    }
-   } else {
-    $40 = ((($29)) + 12|0);
-    $41 = HEAP32[$40>>2]|0;
-    $42 = ($41|0)!=(0|0);
-    if ($42) {
-     $43 = $2;
-     $44 = ((($43)) + 12|0);
-     $45 = HEAP32[$44>>2]|0;
-     $46 = $2;
-     $47 = ((($46)) + 16|0);
-     $48 = HEAP32[$47>>2]|0;
-     $49 = ($45>>>0)>=($48>>>0);
-     if (!($49)) {
-      $50 = $2;
-      $51 = ((($50)) + 12|0);
-      $52 = HEAP32[$51>>2]|0;
-      $53 = ((($52)) + 1|0);
-      HEAP32[$51>>2] = $53;
-      $54 = HEAP8[$52>>0]|0;
-      $55 = $54&255;
-      $3 = $55;
-      break;
-     }
-    }
-   }
-   $72 = $2;
-   $73 = ((($72)) + 24|0);
-   $74 = HEAP32[$73>>2]|0;
-   $75 = ($74|0)!=(0|0);
-   if (!($75)) {
-    $1 = -1;
-    $84 = $1;
-    STACKTOP = sp;return ($84|0);
-   }
-   $76 = $2;
-   $77 = ((($76)) + 24|0);
-   $78 = HEAP32[$77>>2]|0;
-   $79 = ((($78)) + 16|0);
-   $80 = HEAP32[$79>>2]|0;
-   $81 = $2;
-   $82 = (FUNCTION_TABLE_ii[$80 & 255]($81)|0);
-   $83 = ($82|0)<(0);
-   if ($83) {
-    $1 = -1;
-    $84 = $1;
-    STACKTOP = sp;return ($84|0);
-   } else {
-    $1 = -2;
-    $84 = $1;
-    STACKTOP = sp;return ($84|0);
-   }
-  }
- } while(0);
- $56 = $3;
- $57 = ($56|0)>=(0);
- if ($57) {
-  $58 = $2;
-  $59 = ((($58)) + 36|0);
-  $60 = HEAP32[$59>>2]|0;
-  $61 = (($60) + 1)|0;
-  HEAP32[$59>>2] = $61;
- }
- $62 = $3;
- $63 = ($62|0)==(13);
- if (!($63)) {
-  $71 = $3;
-  $1 = $71;
-  $84 = $1;
-  STACKTOP = sp;return ($84|0);
- }
- $64 = $2;
- $65 = (_nextc($64)|0);
- $3 = $65;
- $66 = $3;
- $67 = ($66|0)!=(10);
- if ($67) {
-  $68 = $2;
-  $69 = $3;
-  _pushback($68,$69);
-  $1 = 13;
-  $84 = $1;
-  STACKTOP = sp;return ($84|0);
- } else {
-  $70 = $3;
-  $1 = $70;
-  $84 = $1;
-  STACKTOP = sp;return ($84|0);
- }
- return (0)|0;
-}
-function _skip($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- while(1) {
-  $5 = $2;
-  $6 = (_nextc($5)|0);
-  $4 = $6;
-  $7 = $4;
-  $8 = ($7|0)<(0);
-  if ($8) {
-   label = 4;
-   break;
-  }
-  $9 = $4;
-  $10 = $3;
-  $11 = $10 << 24 >> 24;
-  $12 = ($9|0)==($11|0);
-  if ($12) {
-   label = 4;
-   break;
-  }
- }
- if ((label|0) == 4) {
-  STACKTOP = sp;return;
- }
-}
-function _pushback($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4|0)>=(0);
- if ($5) {
-  $6 = $2;
-  $7 = ((($6)) + 36|0);
-  $8 = HEAP32[$7>>2]|0;
-  $9 = (($8) + -1)|0;
-  HEAP32[$7>>2] = $9;
- }
- $10 = $2;
- $11 = $3;
- $12 = $11;
- $13 = $2;
- $14 = ((($13)) + 80|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = (_cons_gen($10,$12,$15)|0);
- $17 = $2;
- $18 = ((($17)) + 80|0);
- HEAP32[$18>>2] = $16;
- STACKTOP = sp;return;
-}
-function _yywarning($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- _yywarn($4,$5);
- STACKTOP = sp;return;
-}
-function _peeks($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $7 = $4;
- $8 = (_strlen($7)|0);
- $5 = $8;
- $9 = $3;
- $10 = ((($9)) + 20|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)!=(0|0);
- if ($12) {
-  $6 = 0;
-  while(1) {
-   $13 = $4;
-   $14 = HEAP8[$13>>0]|0;
-   $15 = ($14<<24>>24)!=(0);
-   if (!($15)) {
-    label = 6;
-    break;
-   }
-   $16 = $3;
-   $17 = $4;
-   $18 = ((($17)) + 1|0);
-   $4 = $18;
-   $19 = HEAP8[$17>>0]|0;
-   $20 = $19 << 24 >> 24;
-   $21 = $6;
-   $22 = (($21) + 1)|0;
-   $6 = $22;
-   $23 = (_peek_n($16,$20,$21)|0);
-   $24 = ($23<<24>>24)!=(0);
-   if (!($24)) {
-    label = 5;
-    break;
-   }
-  }
-  if ((label|0) == 5) {
-   $2 = 0;
-   $45 = $2;
-   STACKTOP = sp;return ($45|0);
-  }
-  else if ((label|0) == 6) {
-   $2 = 1;
-   $45 = $2;
-   STACKTOP = sp;return ($45|0);
-  }
- } else {
-  $25 = $3;
-  $26 = ((($25)) + 12|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = ($27|0)!=(0|0);
-  if ($28) {
-   $29 = $3;
-   $30 = ((($29)) + 12|0);
-   $31 = HEAP32[$30>>2]|0;
-   $32 = $5;
-   $33 = (($31) + ($32)|0);
-   $34 = $3;
-   $35 = ((($34)) + 16|0);
-   $36 = HEAP32[$35>>2]|0;
-   $37 = ($33>>>0)<=($36>>>0);
-   if ($37) {
-    $38 = $3;
-    $39 = ((($38)) + 12|0);
-    $40 = HEAP32[$39>>2]|0;
-    $41 = $4;
-    $42 = $5;
-    $43 = (_memcmp($40,$41,$42)|0);
-    $44 = ($43|0)==(0);
-    if ($44) {
-     $2 = 1;
-     $45 = $2;
-     STACKTOP = sp;return ($45|0);
-    }
-   }
-  }
-  $2 = 0;
-  $45 = $2;
-  STACKTOP = sp;return ($45|0);
- }
- return (0)|0;
-}
-function _peekc_n($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = 0;
- while(1) {
-  $7 = $3;
-  $8 = (_nextc($7)|0);
-  $6 = $8;
-  $9 = $6;
-  $10 = ($9|0)==(-1);
-  if ($10) {
-   label = 3;
-   break;
-  }
-  $12 = $3;
-  $13 = $5;
-  $14 = $3;
-  $15 = $6;
-  $16 = $15;
-  $17 = (_list1_gen($14,$16)|0);
-  $18 = (_append_gen($12,$13,$17)|0);
-  $5 = $18;
-  $19 = $4;
-  $20 = (($19) + -1)|0;
-  $4 = $20;
-  $21 = ($19|0)!=(0);
-  if (!($21)) {
-   break;
-  }
- }
- if ((label|0) == 3) {
-  $11 = $6;
-  $2 = $11;
-  $37 = $2;
-  STACKTOP = sp;return ($37|0);
- }
- $22 = $3;
- $23 = ((($22)) + 80|0);
- $24 = HEAP32[$23>>2]|0;
- $25 = ($24|0)!=(0|0);
- if ($25) {
-  $26 = $3;
-  $27 = $5;
-  $28 = $3;
-  $29 = ((($28)) + 80|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = (_append_gen($26,$27,$30)|0);
-  $32 = $3;
-  $$sink = $31;$$sink2 = $32;
- } else {
-  $33 = $5;
-  $34 = $3;
-  $$sink = $33;$$sink2 = $34;
- }
- $35 = ((($$sink2)) + 80|0);
- HEAP32[$35>>2] = $$sink;
- $36 = $6;
- $2 = $36;
- $37 = $2;
- STACKTOP = sp;return ($37|0);
-}
-function _skips($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- L1: while(1) {
-  while(1) {
-   $7 = $3;
-   $8 = (_nextc($7)|0);
-   $5 = $8;
-   $9 = $5;
-   $10 = ($9|0)<(0);
-   $11 = $5;
-   if ($10) {
-    label = 4;
-    break L1;
-   }
-   $13 = ($11|0)==(10);
-   if ($13) {
-    $14 = $3;
-    $15 = ((($14)) + 32|0);
-    $16 = HEAP32[$15>>2]|0;
-    $17 = (($16) + 1)|0;
-    HEAP32[$15>>2] = $17;
-    $18 = $3;
-    $19 = ((($18)) + 36|0);
-    HEAP32[$19>>2] = 0;
-   }
-   $20 = $5;
-   $21 = $4;
-   $22 = HEAP8[$21>>0]|0;
-   $23 = $22 << 24 >> 24;
-   $24 = ($20|0)==($23|0);
-   if ($24) {
-    break;
-   }
-  }
-  $25 = $4;
-  $26 = ((($25)) + 1|0);
-  $4 = $26;
-  $27 = $3;
-  $28 = $4;
-  $29 = (_peeks($27,$28)|0);
-  $30 = ($29<<24>>24)!=(0);
-  $31 = $4;
-  if ($30) {
-   break;
-  }
-  $45 = ((($31)) + -1|0);
-  $4 = $45;
- }
- if ((label|0) == 4) {
-  $12 = $11&255;
-  $2 = $12;
-  $46 = $2;
-  STACKTOP = sp;return ($46|0);
- }
- $32 = (_strlen($31)|0);
- $6 = $32;
- while(1) {
-  $33 = $6;
-  $34 = (($33) + -1)|0;
-  $6 = $34;
-  $35 = ($33|0)!=(0);
-  if (!($35)) {
-   break;
-  }
-  $36 = $3;
-  $37 = (_nextc($36)|0);
-  $38 = ($37|0)==(10);
-  if (!($38)) {
-   continue;
-  }
-  $39 = $3;
-  $40 = ((($39)) + 32|0);
-  $41 = HEAP32[$40>>2]|0;
-  $42 = (($41) + 1)|0;
-  HEAP32[$40>>2] = $42;
-  $43 = $3;
-  $44 = ((($43)) + 36|0);
-  HEAP32[$44>>2] = 0;
- }
- $2 = 1;
- $46 = $2;
- STACKTOP = sp;return ($46|0);
-}
-function _heredoc_identifier($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
- var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
- var $135 = 0, $136 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
- var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond5$not = 0;
- var $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $4 = 65;
- $5 = 0;
- $6 = 0;
- $10 = $2;
- $11 = (_nextc($10)|0);
- $3 = $11;
- $12 = $3;
- $13 = ($12|0)==(32);
- if (!($13)) {
-  $14 = $3;
-  $15 = (($14) - 9)|0;
-  $16 = ($15>>>0)<(5);
-  $17 = $3;
-  $18 = ($17|0)==(61);
-  $or$cond = $16 | $18;
-  if (!($or$cond)) {
-   $21 = $3;
-   $22 = ($21|0)==(45);
-   if ($22) {
-    $5 = 1;
-    $23 = $2;
-    $24 = (_nextc($23)|0);
-    $3 = $24;
-   }
-   $25 = $3;
-   $26 = ($25|0)==(39);
-   $27 = $3;
-   $28 = ($27|0)==(34);
-   $or$cond3 = $26 | $28;
-   $29 = $3;
-   if ($or$cond3) {
-    $9 = $29;
-    $30 = $3;
-    $31 = ($30|0)==(39);
-    if ($31) {
-     $6 = 1;
-    }
-    $32 = $2;
-    (_newtok($32)|0);
-    while(1) {
-     $33 = $2;
-     $34 = (_nextc($33)|0);
-     $3 = $34;
-     $35 = ($34|0)>=(0);
-     if (!($35)) {
-      break;
-     }
-     $36 = $3;
-     $37 = $9;
-     $38 = ($36|0)!=($37|0);
-     if (!($38)) {
-      break;
-     }
-     $39 = $3;
-     $40 = ($39|0)==(10);
-     if ($40) {
-      label = 13;
-      break;
-     }
-     $41 = $2;
-     $42 = $3;
-     _tokadd($41,$42);
-    }
-    if ((label|0) == 13) {
-     $3 = -1;
-    }
-    $43 = $3;
-    $44 = ($43|0)<(0);
-    if ($44) {
-     $45 = $2;
-     _yyerror($45,64316);
-     $1 = 0;
-     $136 = $1;
-     STACKTOP = sp;return ($136|0);
-    }
-   } else {
-    $46 = ($29|0)<(0);
-    if ($46) {
-     $1 = 0;
-     $136 = $1;
-     STACKTOP = sp;return ($136|0);
-    }
-    $47 = $3;
-    $48 = $47 | 32;
-    $49 = (($48) - 97)|0;
-    $50 = ($49>>>0)<(26);
-    if (!($50)) {
-     $51 = $3;
-     $52 = (($51) - 48)|0;
-     $53 = ($52>>>0)<(10);
-     $54 = $3;
-     $55 = ($54|0)==(95);
-     $or$cond5 = $53 | $55;
-     $or$cond5$not = $or$cond5 ^ 1;
-     $56 = $3;
-     $57 = ($56>>>0)<=(127);
-     $or$cond7 = $or$cond5$not & $57;
-     if ($or$cond7) {
-      $58 = $2;
-      $59 = $3;
-      _pushback($58,$59);
-      $60 = $5;
-      $61 = ($60<<24>>24)!=(0);
-      if ($61) {
-       $62 = $2;
-       _pushback($62,45);
-      }
-      $1 = 0;
-      $136 = $1;
-      STACKTOP = sp;return ($136|0);
-     }
-    }
-    $63 = $2;
-    (_newtok($63)|0);
-    while(1) {
-     $64 = $2;
-     $65 = $3;
-     _tokadd($64,$65);
-     $66 = $2;
-     $67 = (_nextc($66)|0);
-     $3 = $67;
-     $68 = ($67|0)>=(0);
-     if (!($68)) {
-      break;
-     }
-     $69 = $3;
-     $70 = $69 | 32;
-     $71 = (($70) - 97)|0;
-     $72 = ($71>>>0)<(26);
-     if ($72) {
-      continue;
-     }
-     $73 = $3;
-     $74 = (($73) - 48)|0;
-     $75 = ($74>>>0)<(10);
-     $76 = $3;
-     $77 = ($76|0)==(95);
-     $or$cond9 = $75 | $77;
-     if ($or$cond9) {
-      continue;
-     }
-     $78 = $3;
-     $79 = ($78>>>0)<=(127);
-     $80 = $79 ^ 1;
-     if (!($80)) {
-      break;
-     }
-    }
-    $81 = $2;
-    $82 = $3;
-    _pushback($81,$82);
-   }
-   $83 = $2;
-   _tokfix($83);
-   $84 = $2;
-   $85 = (_new_heredoc($84)|0);
-   $7 = $85;
-   $86 = $7;
-   $87 = ((($86)) + 4|0);
-   $88 = HEAP32[$87>>2]|0;
-   $8 = $88;
-   $89 = $2;
-   $90 = $2;
-   $91 = (_tok($90)|0);
-   $92 = $2;
-   $93 = (_toklen($92)|0);
-   $94 = (_parser_strndup($89,$91,$93)|0);
-   $95 = $8;
-   $96 = ((($95)) + 8|0);
-   HEAP32[$96>>2] = $94;
-   $97 = $2;
-   $98 = (_toklen($97)|0);
-   $99 = $8;
-   $100 = ((($99)) + 12|0);
-   HEAP32[$100>>2] = $98;
-   $101 = $6;
-   $102 = ($101<<24>>24)!=(0);
-   if (!($102)) {
-    $103 = $4;
-    $104 = $103 | 2;
-    $4 = $104;
-   }
-   $105 = $4;
-   $106 = $8;
-   $107 = ((($106)) + 4|0);
-   HEAP32[$107>>2] = $105;
-   $108 = $5;
-   $109 = $8;
-   $110 = HEAP8[$109>>0]|0;
-   $111 = $108 & 1;
-   $112 = $110 & -2;
-   $113 = $112 | $111;
-   HEAP8[$109>>0] = $113;
-   $114 = $8;
-   $115 = HEAP8[$114>>0]|0;
-   $116 = $115 & -3;
-   $117 = $116 | 2;
-   HEAP8[$114>>0] = $117;
-   $118 = $8;
-   $119 = ((($118)) + 16|0);
-   HEAP32[$119>>2] = 0;
-   $120 = $2;
-   $121 = $2;
-   $122 = ((($121)) + 1116|0);
-   $123 = HEAP32[$122>>2]|0;
-   $124 = $2;
-   $125 = $7;
-   $126 = (_list1_gen($124,$125)|0);
-   $127 = (_append_gen($120,$123,$126)|0);
-   $128 = $2;
-   $129 = ((($128)) + 1116|0);
-   HEAP32[$129>>2] = $127;
-   $130 = $2;
-   $131 = ((($130)) + 40|0);
-   HEAP32[$131>>2] = 1;
-   $132 = $7;
-   $133 = $2;
-   $134 = ((($133)) + 1132|0);
-   $135 = HEAP32[$134>>2]|0;
-   HEAP32[$135>>2] = $132;
-   $1 = 364;
-   $136 = $1;
-   STACKTOP = sp;return ($136|0);
-  }
- }
- $19 = $2;
- $20 = $3;
- _pushback($19,$20);
- $1 = 0;
- $136 = $1;
- STACKTOP = sp;return ($136|0);
-}
-function _newtok($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 1108|0);
- HEAP32[$3>>2] = 0;
- $4 = $1;
- $5 = ((($4)) + 36|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (($6) - 1)|0;
- STACKTOP = sp;return ($7|0);
-}
-function _read_escape($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
- var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
- var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
- var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
- var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
- var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $4 = sp + 60|0;
- $5 = sp + 56|0;
- $6 = sp + 48|0;
- $7 = sp + 40|0;
- $8 = sp + 4|0;
- $9 = sp;
- $2 = $0;
- $10 = $2;
- $11 = (_nextc($10)|0);
- $3 = $11;
- L1: do {
-  switch ($11|0) {
-  case 92:  {
-   $12 = $3;
-   $1 = $12;
-   break;
-  }
-  case 110:  {
-   $1 = 10;
-   break;
-  }
-  case 116:  {
-   $1 = 9;
-   break;
-  }
-  case 114:  {
-   $1 = 13;
-   break;
-  }
-  case 102:  {
-   $1 = 12;
-   break;
-  }
-  case 118:  {
-   $1 = 11;
-   break;
-  }
-  case 97:  {
-   $1 = 7;
-   break;
-  }
-  case 101:  {
-   $1 = 27;
-   break;
-  }
-  case 55: case 54: case 53: case 52: case 51: case 50: case 49: case 48:  {
-   $13 = $3;
-   HEAP32[$4>>2] = $13;
-   HEAP32[$5>>2] = 1;
-   while(1) {
-    $14 = HEAP32[$5>>2]|0;
-    $15 = ($14|0)<(3);
-    if (!($15)) {
-     break;
-    }
-    $16 = $2;
-    $17 = (_nextc($16)|0);
-    $18 = HEAP32[$5>>2]|0;
-    $19 = (($4) + ($18<<2)|0);
-    HEAP32[$19>>2] = $17;
-    $20 = HEAP32[$5>>2]|0;
-    $21 = (($4) + ($20<<2)|0);
-    $22 = HEAP32[$21>>2]|0;
-    $23 = ($22|0)<(0);
-    if ($23) {
-     label = 70;
-     break L1;
-    }
-    $24 = HEAP32[$5>>2]|0;
-    $25 = (($4) + ($24<<2)|0);
-    $26 = HEAP32[$25>>2]|0;
-    $27 = ($26|0)<(48);
-    if ($27) {
-     label = 15;
-     break;
-    }
-    $28 = HEAP32[$5>>2]|0;
-    $29 = (($4) + ($28<<2)|0);
-    $30 = HEAP32[$29>>2]|0;
-    $31 = (55)<($30|0);
-    if ($31) {
-     label = 15;
-     break;
-    }
-    $36 = HEAP32[$5>>2]|0;
-    $37 = (($36) + 1)|0;
-    HEAP32[$5>>2] = $37;
-   }
-   if ((label|0) == 15) {
-    $32 = $2;
-    $33 = HEAP32[$5>>2]|0;
-    $34 = (($4) + ($33<<2)|0);
-    $35 = HEAP32[$34>>2]|0;
-    _pushback($32,$35);
-   }
-   $38 = HEAP32[$5>>2]|0;
-   $39 = (_scan_oct($4,$38,$5)|0);
-   $3 = $39;
-   $40 = $3;
-   $1 = $40;
-   break;
-  }
-  case 120:  {
-   HEAP32[$7>>2] = 0;
-   while(1) {
-    $41 = HEAP32[$7>>2]|0;
-    $42 = ($41|0)<(2);
-    if (!($42)) {
-     break;
-    }
-    $43 = $2;
-    $44 = (_nextc($43)|0);
-    $45 = HEAP32[$7>>2]|0;
-    $46 = (($6) + ($45<<2)|0);
-    HEAP32[$46>>2] = $44;
-    $47 = HEAP32[$7>>2]|0;
-    $48 = (($6) + ($47<<2)|0);
-    $49 = HEAP32[$48>>2]|0;
-    $50 = ($49|0)<(0);
-    if ($50) {
-     label = 70;
-     break L1;
-    }
-    $51 = HEAP32[$7>>2]|0;
-    $52 = (($6) + ($51<<2)|0);
-    $53 = HEAP32[$52>>2]|0;
-    $54 = (($53) - 48)|0;
-    $55 = ($54>>>0)<(10);
-    if (!($55)) {
-     $56 = HEAP32[$7>>2]|0;
-     $57 = (($6) + ($56<<2)|0);
-     $58 = HEAP32[$57>>2]|0;
-     $59 = $58 | 32;
-     $60 = (($59) - 97)|0;
-     $61 = ($60>>>0)<(6);
-     if (!($61)) {
-      label = 23;
-      break;
-     }
-    }
-    $66 = HEAP32[$7>>2]|0;
-    $67 = (($66) + 1)|0;
-    HEAP32[$7>>2] = $67;
-   }
-   if ((label|0) == 23) {
-    $62 = $2;
-    $63 = HEAP32[$7>>2]|0;
-    $64 = (($6) + ($63<<2)|0);
-    $65 = HEAP32[$64>>2]|0;
-    _pushback($62,$65);
-   }
-   $68 = HEAP32[$7>>2]|0;
-   $69 = (_scan_hex($6,$68,$7)|0);
-   $3 = $69;
-   $70 = HEAP32[$7>>2]|0;
-   $71 = ($70|0)==(0);
-   if ($71) {
-    $72 = $2;
-    _yyerror($72,64224);
-    $1 = 0;
-    break L1;
-   } else {
-    $73 = $3;
-    $1 = $73;
-    break L1;
-   }
-   break;
-  }
-  case 117:  {
-   HEAP32[$9>>2] = 0;
-   $74 = $2;
-   $75 = (_nextc($74)|0);
-   HEAP32[$8>>2] = $75;
-   $76 = HEAP32[$8>>2]|0;
-   $77 = ($76|0)<(0);
-   if ($77) {
-    label = 70;
-   } else {
-    $78 = HEAP32[$8>>2]|0;
-    $79 = ($78|0)==(123);
-    L37: do {
-     if ($79) {
-      HEAP32[$9>>2] = 0;
-      while(1) {
-       $80 = HEAP32[$9>>2]|0;
-       $81 = ($80|0)<(9);
-       if (!($81)) {
-        break L37;
-       }
-       $82 = $2;
-       $83 = (_nextc($82)|0);
-       $84 = HEAP32[$9>>2]|0;
-       $85 = (($8) + ($84<<2)|0);
-       HEAP32[$85>>2] = $83;
-       $86 = HEAP32[$9>>2]|0;
-       $87 = (($8) + ($86<<2)|0);
-       $88 = HEAP32[$87>>2]|0;
-       $89 = ($88|0)<(0);
-       if ($89) {
-        label = 70;
-        break L1;
-       }
-       $90 = HEAP32[$9>>2]|0;
-       $91 = (($8) + ($90<<2)|0);
-       $92 = HEAP32[$91>>2]|0;
-       $93 = ($92|0)==(125);
-       if ($93) {
-        break L37;
-       }
-       $94 = HEAP32[$9>>2]|0;
-       $95 = (($8) + ($94<<2)|0);
-       $96 = HEAP32[$95>>2]|0;
-       $97 = (($96) - 48)|0;
-       $98 = ($97>>>0)<(10);
-       if (!($98)) {
-        $99 = HEAP32[$9>>2]|0;
-        $100 = (($8) + ($99<<2)|0);
-        $101 = HEAP32[$100>>2]|0;
-        $102 = $101 | 32;
-        $103 = (($102) - 97)|0;
-        $104 = ($103>>>0)<(6);
-        if (!($104)) {
-         break;
-        }
-       }
-       $110 = HEAP32[$9>>2]|0;
-       $111 = (($110) + 1)|0;
-       HEAP32[$9>>2] = $111;
-      }
-      $105 = $2;
-      _yyerror($105,64224);
-      $106 = $2;
-      $107 = HEAP32[$9>>2]|0;
-      $108 = (($8) + ($107<<2)|0);
-      $109 = HEAP32[$108>>2]|0;
-      _pushback($106,$109);
-      $1 = 0;
-      break L1;
-     } else {
-      $112 = HEAP32[$8>>2]|0;
-      $113 = (($112) - 48)|0;
-      $114 = ($113>>>0)<(10);
-      if (!($114)) {
-       $115 = HEAP32[$8>>2]|0;
-       $116 = $115 | 32;
-       $117 = (($116) - 97)|0;
-       $118 = ($117>>>0)<(6);
-       if (!($118)) {
-        $146 = $2;
-        $147 = HEAP32[$8>>2]|0;
-        _pushback($146,$147);
-        break;
-       }
-      }
-      HEAP32[$9>>2] = 1;
-      while(1) {
-       $119 = HEAP32[$9>>2]|0;
-       $120 = ($119|0)<(4);
-       if (!($120)) {
-        break L37;
-       }
-       $121 = $2;
-       $122 = (_nextc($121)|0);
-       $123 = HEAP32[$9>>2]|0;
-       $124 = (($8) + ($123<<2)|0);
-       HEAP32[$124>>2] = $122;
-       $125 = HEAP32[$9>>2]|0;
-       $126 = (($8) + ($125<<2)|0);
-       $127 = HEAP32[$126>>2]|0;
-       $128 = ($127|0)<(0);
-       if ($128) {
-        label = 70;
-        break L1;
-       }
-       $129 = HEAP32[$9>>2]|0;
-       $130 = (($8) + ($129<<2)|0);
-       $131 = HEAP32[$130>>2]|0;
-       $132 = (($131) - 48)|0;
-       $133 = ($132>>>0)<(10);
-       if (!($133)) {
-        $134 = HEAP32[$9>>2]|0;
-        $135 = (($8) + ($134<<2)|0);
-        $136 = HEAP32[$135>>2]|0;
-        $137 = $136 | 32;
-        $138 = (($137) - 97)|0;
-        $139 = ($138>>>0)<(6);
-        if (!($139)) {
-         break;
-        }
-       }
-       $144 = HEAP32[$9>>2]|0;
-       $145 = (($144) + 1)|0;
-       HEAP32[$9>>2] = $145;
-      }
-      $140 = $2;
-      $141 = HEAP32[$9>>2]|0;
-      $142 = (($8) + ($141<<2)|0);
-      $143 = HEAP32[$142>>2]|0;
-      _pushback($140,$143);
-     }
-    } while(0);
-    $148 = HEAP32[$9>>2]|0;
-    $149 = (_scan_hex($8,$148,$9)|0);
-    $3 = $149;
-    $150 = HEAP32[$9>>2]|0;
-    $151 = ($150|0)==(0);
-    if ($151) {
-     $152 = $2;
-     _yyerror($152,64224);
-     $1 = 0;
-     break L1;
-    }
-    $153 = $3;
-    $154 = ($153|0)<(0);
-    $155 = $3;
-    $156 = ($155|0)>(1114111);
-    $or$cond = $154 | $156;
-    if (!($or$cond)) {
-     $157 = $3;
-     $158 = $157 & -2048;
-     $159 = ($158|0)==(55296);
-     if (!($159)) {
-      $161 = $3;
-      $162 = (0 - ($161))|0;
-      $1 = $162;
-      break L1;
-     }
-    }
-    $160 = $2;
-    _yyerror($160,64256);
-    $1 = 0;
-   }
-   break;
-  }
-  case 98:  {
-   $1 = 8;
-   break;
-  }
-  case 115:  {
-   $1 = 32;
-   break;
-  }
-  case 77:  {
-   $163 = $2;
-   $164 = (_nextc($163)|0);
-   $3 = $164;
-   $165 = ($164|0)!=(45);
-   $166 = $2;
-   if ($165) {
-    _yyerror($166,64224);
-    $167 = $2;
-    $168 = $3;
-    _pushback($167,$168);
-    $1 = 0;
-    break L1;
-   }
-   $169 = (_nextc($166)|0);
-   $3 = $169;
-   $170 = ($169|0)==(92);
-   if ($170) {
-    $171 = $2;
-    $172 = (_read_escape($171)|0);
-    $173 = $172 | 128;
-    $1 = $173;
-    break L1;
-   }
-   $174 = $3;
-   $175 = ($174|0)<(0);
-   if ($175) {
-    label = 70;
-   } else {
-    $176 = $3;
-    $177 = $176 & 255;
-    $178 = $177 | 128;
-    $1 = $178;
-   }
-   break;
-  }
-  case 67:  {
-   $179 = $2;
-   $180 = (_nextc($179)|0);
-   $3 = $180;
-   $181 = ($180|0)!=(45);
-   if ($181) {
-    $182 = $2;
-    _yyerror($182,64224);
-    $183 = $2;
-    $184 = $3;
-    _pushback($183,$184);
-    $1 = 0;
-   } else {
-    label = 64;
-   }
-   break;
-  }
-  case 99:  {
-   label = 64;
-   break;
-  }
-  case -2: case -1:  {
-   label = 70;
-   break;
-  }
-  default: {
-   $197 = $3;
-   $1 = $197;
-  }
-  }
- } while(0);
- L81: do {
-  if ((label|0) == 64) {
-   $185 = $2;
-   $186 = (_nextc($185)|0);
-   $3 = $186;
-   $187 = ($186|0)==(92);
-   do {
-    if ($187) {
-     $188 = $2;
-     $189 = (_read_escape($188)|0);
-     $3 = $189;
-    } else {
-     $190 = $3;
-     $191 = ($190|0)==(63);
-     if ($191) {
-      $1 = 127;
-      break L81;
-     } else {
-      $192 = $3;
-      $193 = ($192|0)<(0);
-      if ($193) {
-       label = 70;
-       break L81;
-      } else {
-       break;
-      }
-     }
-    }
-   } while(0);
-   $194 = $3;
-   $195 = $194 & 159;
-   $1 = $195;
-  }
- } while(0);
- if ((label|0) == 70) {
-  $196 = $2;
-  _yyerror($196,64224);
-  $1 = 0;
- }
- $198 = $1;
- STACKTOP = sp;return ($198|0);
-}
-function _tokadd($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = sp + 16|0;
- $2 = $0;
- $3 = $1;
- $7 = $3;
- $8 = ($7|0)>=(0);
- $9 = $3;
- do {
-  if ($8) {
-   $10 = $9&255;
-   HEAP8[$4>>0] = $10;
-   $5 = 1;
-  } else {
-   $11 = (0 - ($9))|0;
-   $3 = $11;
-   $12 = $3;
-   $13 = ($12|0)<(128);
-   $14 = $3;
-   if ($13) {
-    $15 = $14&255;
-    HEAP8[$4>>0] = $15;
-    $5 = 1;
-    break;
-   }
-   $16 = ($14|0)<(2048);
-   $17 = $3;
-   if ($16) {
-    $18 = $17 >> 6;
-    $19 = 192 | $18;
-    $20 = $19&255;
-    HEAP8[$4>>0] = $20;
-    $21 = $3;
-    $22 = $21 & 63;
-    $23 = 128 | $22;
-    $24 = $23&255;
-    $25 = ((($4)) + 1|0);
-    HEAP8[$25>>0] = $24;
-    $5 = 2;
-    break;
-   }
-   $26 = ($17|0)<(65536);
-   $27 = $3;
-   if ($26) {
-    $28 = $27 >> 12;
-    $29 = 224 | $28;
-    $30 = $29&255;
-    HEAP8[$4>>0] = $30;
-    $31 = $3;
-    $32 = $31 >> 6;
-    $33 = $32 & 63;
-    $34 = 128 | $33;
-    $35 = $34&255;
-    $36 = ((($4)) + 1|0);
-    HEAP8[$36>>0] = $35;
-    $37 = $3;
-    $38 = $37 & 63;
-    $39 = 128 | $38;
-    $40 = $39&255;
-    $41 = ((($4)) + 2|0);
-    HEAP8[$41>>0] = $40;
-    $5 = 3;
-    break;
-   } else {
-    $42 = $27 >> 18;
-    $43 = 240 | $42;
-    $44 = $43&255;
-    HEAP8[$4>>0] = $44;
-    $45 = $3;
-    $46 = $45 >> 12;
-    $47 = $46 & 63;
-    $48 = 128 | $47;
-    $49 = $48&255;
-    $50 = ((($4)) + 1|0);
-    HEAP8[$50>>0] = $49;
-    $51 = $3;
-    $52 = $51 >> 6;
-    $53 = $52 & 63;
-    $54 = 128 | $53;
-    $55 = $54&255;
-    $56 = ((($4)) + 2|0);
-    HEAP8[$56>>0] = $55;
-    $57 = $3;
-    $58 = $57 & 63;
-    $59 = 128 | $58;
-    $60 = $59&255;
-    $61 = ((($4)) + 3|0);
-    HEAP8[$61>>0] = $60;
-    $5 = 4;
-    break;
-   }
-  }
- } while(0);
- $62 = $2;
- $63 = ((($62)) + 1108|0);
- $64 = HEAP32[$63>>2]|0;
- $65 = $5;
- $66 = (($64) + ($65))|0;
- $67 = ($66>>>0)<=(1024);
- if (!($67)) {
-  STACKTOP = sp;return;
- }
- $6 = 0;
- while(1) {
-  $68 = $6;
-  $69 = $5;
-  $70 = ($68>>>0)<($69>>>0);
-  if (!($70)) {
-   break;
-  }
-  $71 = $6;
-  $72 = (($4) + ($71)|0);
-  $73 = HEAP8[$72>>0]|0;
-  $74 = $2;
-  $75 = ((($74)) + 84|0);
-  $76 = $2;
-  $77 = ((($76)) + 1108|0);
-  $78 = HEAP32[$77>>2]|0;
-  $79 = (($78) + 1)|0;
-  HEAP32[$77>>2] = $79;
-  $80 = (($75) + ($78)|0);
-  HEAP8[$80>>0] = $73;
-  $81 = $6;
-  $82 = (($81) + 1)|0;
-  $6 = $82;
- }
- STACKTOP = sp;return;
-}
-function _tokfix($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $4 = $1;
- $5 = ((($4)) + 1108|0);
- $6 = HEAP32[$5>>2]|0;
- $2 = $6;
- $3 = 1023;
- $7 = $2;
- $8 = $3;
- $9 = ($7|0)>($8|0);
- if ($9) {
-  $10 = $3;
-  $2 = $10;
-  $11 = $1;
-  _yyerror($11,64196);
- }
- $12 = $1;
- $13 = ((($12)) + 84|0);
- $14 = $2;
- $15 = (($13) + ($14)|0);
- HEAP8[$15>>0] = 0;
- STACKTOP = sp;return;
-}
-function _tok($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 84|0);
- STACKTOP = sp;return ($3|0);
-}
-function _toklen($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 1108|0);
- $4 = HEAP32[$3>>2]|0;
- STACKTOP = sp;return ($4|0);
-}
-function _arg_ambiguous($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- _yywarning($2,64139);
- STACKTOP = sp;return 1;
-}
-function _yywarning_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 272|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(272|0);
- $vararg_buffer = sp;
- $6 = sp + 16|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $4;
- $8 = $5;
- HEAP32[$vararg_buffer>>2] = $8;
- (_snprintf($6,256,$7,$vararg_buffer)|0);
- $9 = $3;
- _yywarning($9,$6);
- STACKTOP = sp;return;
-}
-function _new_float($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $2;
- $6 = $3;
- $7 = (_parser_strdup($5,$6)|0);
- $8 = (_cons_gen($4,(51),$7)|0);
- STACKTOP = sp;return ($8|0);
-}
-function _new_back_ref($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_cons_gen($4,(46),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _new_nth_ref($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = $5;
- $7 = (_cons_gen($4,(45),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _peek_n($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $5;
- $8 = (_peekc_n($6,$7)|0);
- $9 = $4;
- $10 = ($8|0)==($9|0);
- $11 = $4;
- $12 = ($11|0)>=(0);
- $13 = $10 ? $12 : 0;
- $14 = $13&1;
- $15 = $14&255;
- STACKTOP = sp;return ($15|0);
-}
-function _toklast($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 84|0);
- $4 = $1;
- $5 = ((($4)) + 1108|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (($6) - 1)|0;
- $8 = (($3) + ($7)|0);
- $9 = HEAP8[$8>>0]|0;
- $10 = $9 << 24 >> 24;
- STACKTOP = sp;return ($10|0);
-}
-function _reserved_word($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $7 = $4;
- $8 = ($7>>>0)<=(12);
- $9 = $4;
- $10 = ($9>>>0)>=(2);
- $or$cond = $8 & $10;
- if ($or$cond) {
-  $11 = $3;
-  $12 = $4;
-  $13 = (_hash($11,$12)|0);
-  $5 = $13;
-  $14 = $5;
-  $15 = ($14|0)<=(50);
-  $16 = $5;
-  $17 = ($16|0)>=(0);
-  $or$cond3 = $15 & $17;
-  if ($or$cond3) {
-   $18 = $5;
-   $19 = (1728 + ($18<<4)|0);
-   $20 = HEAP32[$19>>2]|0;
-   $6 = $20;
-   $21 = $3;
-   $22 = HEAP8[$21>>0]|0;
-   $23 = $22 << 24 >> 24;
-   $24 = $6;
-   $25 = HEAP8[$24>>0]|0;
-   $26 = $25 << 24 >> 24;
-   $27 = ($23|0)==($26|0);
-   if ($27) {
-    $28 = $3;
-    $29 = ((($28)) + 1|0);
-    $30 = $6;
-    $31 = ((($30)) + 1|0);
-    $32 = (_strcmp($29,$31)|0);
-    $33 = ($32|0)!=(0);
-    if (!($33)) {
-     $34 = $5;
-     $35 = (1728 + ($34<<4)|0);
-     $2 = $35;
-     $36 = $2;
-     STACKTOP = sp;return ($36|0);
-    }
-   }
-  }
- }
- $2 = 0;
- $36 = $2;
- STACKTOP = sp;return ($36|0);
-}
-function _hash($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $3;
- $4 = $5;
- $6 = $4;
- $$off = (($6) + -1)|0;
- $switch = ($$off>>>0)<(2);
- if (!($switch)) {
-  $7 = $2;
-  $8 = ((($7)) + 2|0);
-  $9 = HEAP8[$8>>0]|0;
-  $10 = $9&255;
-  $11 = (63883 + ($10)|0);
-  $12 = HEAP8[$11>>0]|0;
-  $13 = $12&255;
-  $14 = $4;
-  $15 = (($14) + ($13))|0;
-  $4 = $15;
- }
- $16 = $2;
- $17 = HEAP8[$16>>0]|0;
- $18 = $17&255;
- $19 = (63883 + ($18)|0);
- $20 = HEAP8[$19>>0]|0;
- $21 = $20&255;
- $22 = $4;
- $23 = (($22) + ($21))|0;
- $4 = $23;
- $24 = $4;
- $25 = $2;
- $26 = $3;
- $27 = (($26) - 1)|0;
- $28 = (($25) + ($27)|0);
- $29 = HEAP8[$28>>0]|0;
- $30 = $29&255;
- $31 = (63883 + ($30)|0);
- $32 = HEAP8[$31>>0]|0;
- $33 = $32&255;
- $34 = (($24) + ($33))|0;
- STACKTOP = sp;return ($34|0);
-}
-function _scan_oct($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $6 = $8;
- $7 = 0;
- while(1) {
-  $9 = $4;
-  $10 = (($9) + -1)|0;
-  $4 = $10;
-  $11 = ($9|0)!=(0);
-  if (!($11)) {
-   break;
-  }
-  $12 = $6;
-  $13 = HEAP32[$12>>2]|0;
-  $14 = ($13|0)>=(48);
-  if (!($14)) {
-   break;
-  }
-  $15 = $6;
-  $16 = HEAP32[$15>>2]|0;
-  $17 = ($16|0)<=(55);
-  if (!($17)) {
-   break;
-  }
-  $18 = $7;
-  $19 = $18 << 3;
-  $7 = $19;
-  $20 = $6;
-  $21 = ((($20)) + 4|0);
-  $6 = $21;
-  $22 = HEAP32[$20>>2]|0;
-  $23 = (($22) - 48)|0;
-  $24 = $7;
-  $25 = $24 | $23;
-  $7 = $25;
- }
- $26 = $6;
- $27 = $3;
- $28 = $26;
- $29 = $27;
- $30 = (($28) - ($29))|0;
- $31 = (($30|0) / 4)&-1;
- $32 = $5;
- HEAP32[$32>>2] = $31;
- $33 = $7;
- STACKTOP = sp;return ($33|0);
-}
-function _scan_hex($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $9 = $3;
- $6 = $9;
- $7 = 0;
- while(1) {
-  $10 = $4;
-  $11 = (($10) + -1)|0;
-  $4 = $11;
-  $12 = ($10|0)!=(0);
-  if (!($12)) {
-   break;
-  }
-  $13 = $6;
-  $14 = HEAP32[$13>>2]|0;
-  $15 = ($14|0)!=(0);
-  if (!($15)) {
-   break;
-  }
-  $16 = $6;
-  $17 = HEAP32[$16>>2]|0;
-  $18 = (_strchr(64283,$17)|0);
-  $8 = $18;
-  $19 = ($18|0)!=(0|0);
-  if (!($19)) {
-   break;
-  }
-  $20 = $7;
-  $21 = $20 << 4;
-  $7 = $21;
-  $22 = $8;
-  $23 = $22;
-  $24 = (($23) - (64283))|0;
-  $25 = $24 & 15;
-  $26 = $7;
-  $27 = $26 | $25;
-  $7 = $27;
-  $28 = $6;
-  $29 = ((($28)) + 4|0);
-  $6 = $29;
- }
- $30 = $6;
- $31 = $3;
- $32 = $30;
- $33 = $31;
- $34 = (($32) - ($33))|0;
- $35 = (($34|0) / 4)&-1;
- $36 = $5;
- HEAP32[$36>>2] = $35;
- $37 = $7;
- STACKTOP = sp;return ($37|0);
-}
-function _new_heredoc($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = (_parser_palloc($3,20)|0);
- $2 = $4;
- $5 = $1;
- $6 = $2;
- $7 = (_cons_gen($5,(99),$6)|0);
- STACKTOP = sp;return ($7|0);
-}
-function _new_xstr($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $3;
- $9 = $4;
- $10 = $5;
- $11 = (_parser_strndup($8,$9,$10)|0);
- $12 = $5;
- $13 = $12;
- $14 = (_cons_gen($7,$11,$13)|0);
- $15 = (_cons_gen($6,(57),$14)|0);
- STACKTOP = sp;return ($15|0);
-}
-function _new_regx($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $4;
- $10 = $5;
- $11 = $4;
- $12 = $6;
- $13 = $7;
- $14 = (_cons_gen($11,$12,$13)|0);
- $15 = (_cons_gen($9,$10,$14)|0);
- $16 = (_cons_gen($8,(59),$15)|0);
- STACKTOP = sp;return ($16|0);
-}
-function _mrb_parser_set_filename($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $7 = $2;
- $8 = HEAP32[$7>>2]|0;
- $9 = $3;
- $10 = (_mrb_intern_cstr($8,$9)|0);
- $4 = $10;
- $11 = $2;
- $12 = HEAP32[$11>>2]|0;
- $13 = $4;
- $14 = (_mrb_sym2name_len($12,$13,0)|0);
- $15 = $2;
- $16 = ((($15)) + 28|0);
- HEAP32[$16>>2] = $14;
- $17 = $2;
- $18 = ((($17)) + 1396|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = ($19>>>0)>(0);
- $21 = $20 ? 0 : 1;
- $22 = $2;
- $23 = ((($22)) + 32|0);
- HEAP32[$23>>2] = $21;
- $5 = 0;
- while(1) {
-  $24 = $5;
-  $25 = $2;
-  $26 = ((($25)) + 1396|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = ($24>>>0)<($27>>>0);
-  $29 = $2;
-  if (!($28)) {
-   break;
-  }
-  $30 = ((($29)) + 1392|0);
-  $31 = HEAP32[$30>>2]|0;
-  $32 = $5;
-  $33 = (($31) + ($32<<2)|0);
-  $34 = HEAP32[$33>>2]|0;
-  $35 = $4;
-  $36 = ($34|0)==($35|0);
-  $37 = $5;
-  if ($36) {
-   label = 4;
-   break;
-  }
-  $40 = (($37) + 1)|0;
-  $5 = $40;
- }
- if ((label|0) == 4) {
-  $38 = $2;
-  $39 = ((($38)) + 1400|0);
-  HEAP32[$39>>2] = $37;
-  STACKTOP = sp;return;
- }
- $41 = ((($29)) + 1396|0);
- $42 = HEAP32[$41>>2]|0;
- $43 = (($42) + 1)|0;
- HEAP32[$41>>2] = $43;
- $44 = $2;
- $45 = ((($44)) + 1400|0);
- HEAP32[$45>>2] = $42;
- $46 = $2;
- $47 = $2;
- $48 = ((($47)) + 1396|0);
- $49 = HEAP32[$48>>2]|0;
- $50 = $49<<2;
- $51 = (_parser_palloc($46,$50)|0);
- $6 = $51;
- $52 = $2;
- $53 = ((($52)) + 1392|0);
- $54 = HEAP32[$53>>2]|0;
- $55 = ($54|0)!=(0|0);
- if ($55) {
-  $56 = $6;
-  $57 = $2;
-  $58 = ((($57)) + 1392|0);
-  $59 = HEAP32[$58>>2]|0;
-  $60 = $2;
-  $61 = ((($60)) + 1396|0);
-  $62 = HEAP32[$61>>2]|0;
-  $63 = $62<<2;
-  _memmove(($56|0),($59|0),($63|0))|0;
- }
- $64 = $6;
- $65 = $2;
- $66 = ((($65)) + 1392|0);
- HEAP32[$66>>2] = $64;
- $67 = $4;
- $68 = $2;
- $69 = ((($68)) + 1392|0);
- $70 = HEAP32[$69>>2]|0;
- $71 = $2;
- $72 = ((($71)) + 1396|0);
- $73 = HEAP32[$72>>2]|0;
- $74 = (($73) - 1)|0;
- $75 = (($70) + ($74<<2)|0);
- HEAP32[$75>>2] = $67;
- STACKTOP = sp;return;
-}
-function _mrb_parser_new($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $5 = $2;
- $6 = (_mrb_pool_open($5)|0);
- $3 = $6;
- $7 = $3;
- $8 = ($7|0)!=(0|0);
- if (!($8)) {
-  $1 = 0;
-  $57 = $1;
-  STACKTOP = sp;return ($57|0);
- }
- $9 = $3;
- $10 = (_mrb_pool_alloc($9,1408)|0);
- $4 = $10;
- $11 = $4;
- $12 = ($11|0)!=(0|0);
- if ($12) {
-  $13 = $4;
-  _memcpy(($13|0),(73460|0),1408)|0;
-  $14 = $2;
-  $15 = $4;
-  HEAP32[$15>>2] = $14;
-  $16 = $3;
-  $17 = $4;
-  $18 = ((($17)) + 4|0);
-  HEAP32[$18>>2] = $16;
-  $19 = $4;
-  $20 = ((($19)) + 16|0);
-  HEAP32[$20>>2] = 0;
-  $21 = $4;
-  $22 = ((($21)) + 12|0);
-  HEAP32[$22>>2] = 0;
-  $23 = $4;
-  $24 = ((($23)) + 20|0);
-  HEAP32[$24>>2] = 0;
-  $25 = $4;
-  $26 = ((($25)) + 72|0);
-  $27 = HEAP8[$26>>0]|0;
-  $28 = $27 & -2;
-  $29 = $28 | 1;
-  HEAP8[$26>>0] = $29;
-  $30 = $4;
-  $31 = ((($30)) + 68|0);
-  HEAP32[$31>>2] = 0;
-  $32 = $4;
-  $33 = ((($32)) + 64|0);
-  HEAP32[$33>>2] = 0;
-  $34 = $4;
-  $35 = ((($34)) + 1148|0);
-  $36 = HEAP8[$35>>0]|0;
-  $37 = $36 & -3;
-  HEAP8[$35>>0] = $37;
-  $38 = $4;
-  $39 = ((($38)) + 32|0);
-  HEAP32[$39>>2] = 1;
-  $40 = $4;
-  $41 = ((($40)) + 36|0);
-  HEAP32[$41>>2] = 0;
-  $42 = $4;
-  $43 = ((($42)) + 44|0);
-  HEAP32[$43>>2] = 0;
-  $44 = $4;
-  $45 = ((($44)) + 1120|0);
-  HEAP32[$45>>2] = 0;
-  $46 = $4;
-  $47 = ((($46)) + 1112|0);
-  HEAP32[$47>>2] = 0;
-  $48 = $4;
-  $49 = ((($48)) + 1124|0);
-  HEAP32[$49>>2] = 0;
-  $50 = $4;
-  $51 = ((($50)) + 1400|0);
-  HEAP32[$51>>2] = -1;
-  $52 = $4;
-  $53 = ((($52)) + 1392|0);
-  HEAP32[$53>>2] = 0;
-  $54 = $4;
-  $55 = ((($54)) + 1396|0);
-  HEAP32[$55>>2] = 0;
-  $56 = $4;
-  $1 = $56;
-  $57 = $1;
-  STACKTOP = sp;return ($57|0);
- } else {
-  $1 = 0;
-  $57 = $1;
-  STACKTOP = sp;return ($57|0);
- }
- return (0)|0;
-}
-function _mrb_parser_free($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 4|0);
- $4 = HEAP32[$3>>2]|0;
- _mrb_pool_close($4);
- STACKTOP = sp;return;
-}
-function _mrbc_context_new($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_mrb_calloc($2,1,32)|0);
- STACKTOP = sp;return ($3|0);
-}
-function _mrbc_context_free($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = HEAP32[$5>>2]|0;
- _mrb_free($4,$6);
- $7 = $2;
- $8 = $3;
- _mrb_free($7,$8);
- STACKTOP = sp;return;
-}
-function _mrbc_filename($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $5;
- $9 = ($8|0)!=(0|0);
- if ($9) {
-  $10 = $5;
-  $11 = (_strlen($10)|0);
-  $6 = $11;
-  $12 = $3;
-  $13 = $6;
-  $14 = (($13) + 1)|0;
-  $15 = (_mrb_alloca($12,$14)|0);
-  $7 = $15;
-  $16 = $7;
-  $17 = $5;
-  $18 = $6;
-  $19 = (($18) + 1)|0;
-  _memcpy(($16|0),($17|0),($19|0))|0;
-  $20 = $7;
-  $21 = $4;
-  $22 = ((($21)) + 8|0);
-  HEAP32[$22>>2] = $20;
- }
- $23 = $4;
- $24 = ((($23)) + 8|0);
- $25 = HEAP32[$24>>2]|0;
- STACKTOP = sp;return ($25|0);
-}
-function _mrbc_partial_hook($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $6;
- $9 = $5;
- $10 = ((($9)) + 16|0);
- HEAP32[$10>>2] = $8;
- $11 = $7;
- $12 = $5;
- $13 = ((($12)) + 20|0);
- HEAP32[$13>>2] = $11;
- STACKTOP = sp;return;
-}
-function _mrb_parser_get_filename($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $4;
- $6 = $5&65535;
- $7 = $3;
- $8 = ((($7)) + 1396|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ($6>>>0)>=($9>>>0);
- if ($10) {
-  $2 = 0;
-  $21 = $2;
-  STACKTOP = sp;return ($21|0);
- } else {
-  $11 = $3;
-  $12 = HEAP32[$11>>2]|0;
-  $13 = $3;
-  $14 = ((($13)) + 1392|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = $4;
-  $17 = $16&65535;
-  $18 = (($15) + ($17<<2)|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = (_mrb_sym2name_len($12,$19,0)|0);
-  $2 = $20;
-  $21 = $2;
-  STACKTOP = sp;return ($21|0);
- }
- return (0)|0;
-}
-function _mrb_parse_file($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $8 = $4;
- $9 = (_mrb_parser_new($8)|0);
- $7 = $9;
- $10 = $7;
- $11 = ($10|0)!=(0|0);
- if ($11) {
-  $12 = $7;
-  $13 = ((($12)) + 16|0);
-  HEAP32[$13>>2] = 0;
-  $14 = $7;
-  $15 = ((($14)) + 12|0);
-  HEAP32[$15>>2] = 0;
-  $16 = $5;
-  $17 = $7;
-  $18 = ((($17)) + 20|0);
-  HEAP32[$18>>2] = $16;
-  $19 = $7;
-  $20 = $6;
-  _mrb_parser_parse($19,$20);
-  $21 = $7;
-  $3 = $21;
-  $22 = $3;
-  STACKTOP = sp;return ($22|0);
- } else {
-  $3 = 0;
-  $22 = $3;
-  STACKTOP = sp;return ($22|0);
- }
- return (0)|0;
-}
-function _mrb_load_file_cxt($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $4;
- $9 = $5;
- $10 = $6;
- $11 = (_mrb_parse_file($8,$9,$10)|0);
- $12 = $6;
- _load_exec($0,$7,$11,$12);
- STACKTOP = sp;return;
-}
-function _load_exec($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
- var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
- var $134 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
- var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
- var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
- var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
- var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 368|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(368|0);
- $$byval_copy2 = sp + 104|0;
- $$byval_copy = sp + 96|0;
- $vararg_buffer = sp;
- $9 = sp + 64|0;
- $11 = sp + 112|0;
- $13 = sp + 48|0;
- $14 = sp + 40|0;
- $15 = sp + 32|0;
- $16 = sp + 24|0;
- $17 = sp + 16|0;
- $18 = sp + 8|0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $19 = $4;
- $20 = ((($19)) + 32|0);
- $21 = HEAP32[$20>>2]|0;
- $7 = $21;
- $10 = 0;
- $22 = $5;
- $23 = ($22|0)!=(0|0);
- if (!($23)) {
-  _mrb_undef_value_544($0);
-  STACKTOP = sp;return;
- }
- $24 = $5;
- $25 = ((($24)) + 1144|0);
- $26 = HEAP32[$25>>2]|0;
- $27 = ($26|0)!=(0|0);
- if ($27) {
-  $28 = $5;
-  $29 = ((($28)) + 1136|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = ($30|0)!=(0);
-  if (!($31)) {
-   $62 = $4;
-   $63 = $5;
-   $64 = (_mrb_generate_code($62,$63)|0);
-   $8 = $64;
-   $65 = $5;
-   _mrb_parser_free($65);
-   $66 = $8;
-   $67 = ($66|0)==(0|0);
-   if ($67) {
-    $68 = $4;
-    $69 = $4;
-    $70 = (_mrb_class_get($69,68028)|0);
-    $71 = $4;
-    _mrb_str_new_static($16,$71,64490,13);
-    ;HEAP32[$$byval_copy2>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$16+4>>2]|0;
-    _mrb_exc_new_str($17,$68,$70,$$byval_copy2);
-    $72 = HEAP32[$17>>2]|0;
-    $73 = $4;
-    $74 = ((($73)) + 20|0);
-    HEAP32[$74>>2] = $72;
-    _mrb_undef_value_544($0);
-    STACKTOP = sp;return;
-   }
-   $75 = $6;
-   $76 = ($75|0)!=(0|0);
-   do {
-    if ($76) {
-     $77 = $6;
-     $78 = ((($77)) + 28|0);
-     $79 = HEAP8[$78>>0]|0;
-     $80 = ($79&255) >>> 1;
-     $81 = $80 & 1;
-     $82 = ($81<<24>>24)!=(0);
-     if ($82) {
-      $83 = $4;
-      $84 = $8;
-      _mrb_codedump_all($83,$84);
-     }
-     $85 = $6;
-     $86 = ((($85)) + 28|0);
-     $87 = HEAP8[$86>>0]|0;
-     $88 = ($87&255) >>> 2;
-     $89 = $88 & 1;
-     $90 = ($89<<24>>24)!=(0);
-     if ($90) {
-      $91 = $8;
-      _mrb_obj_value_545($0,$91);
-      STACKTOP = sp;return;
-     }
-     $92 = $6;
-     $93 = ((($92)) + 24|0);
-     $94 = HEAP32[$93>>2]|0;
-     $95 = ($94|0)!=(0|0);
-     if ($95) {
-      $96 = $6;
-      $97 = ((($96)) + 24|0);
-      $98 = HEAP32[$97>>2]|0;
-      $7 = $98;
-     }
-     $99 = $6;
-     $100 = ((($99)) + 28|0);
-     $101 = HEAP8[$100>>0]|0;
-     $102 = ($101&255) >>> 3;
-     $103 = $102 & 1;
-     $104 = ($103<<24>>24)!=(0);
-     $105 = $6;
-     if ($104) {
-      $106 = ((($105)) + 4|0);
-      $107 = HEAP32[$106>>2]|0;
-      $108 = (($107) + 1)|0;
-      $10 = $108;
-      break;
-     } else {
-      $109 = ((($105)) + 28|0);
-      $110 = HEAP8[$109>>0]|0;
-      $111 = $110 & -9;
-      $112 = $111 | 8;
-      HEAP8[$109>>0] = $112;
-      break;
-     }
-    }
-   } while(0);
-   $113 = $7;
-   $114 = $8;
-   $115 = ((($114)) + 16|0);
-   HEAP32[$115>>2] = $113;
-   $116 = $4;
-   $117 = ((($116)) + 12|0);
-   $118 = HEAP32[$117>>2]|0;
-   $119 = ((($118)) + 16|0);
-   $120 = HEAP32[$119>>2]|0;
-   $121 = ($120|0)!=(0|0);
-   if ($121) {
-    $122 = $7;
-    $123 = $4;
-    $124 = ((($123)) + 12|0);
-    $125 = HEAP32[$124>>2]|0;
-    $126 = ((($125)) + 16|0);
-    $127 = HEAP32[$126>>2]|0;
-    $128 = ((($127)) + 44|0);
-    HEAP32[$128>>2] = $122;
-   }
-   $129 = $4;
-   $130 = $8;
-   $131 = $10;
-   _mrb_toplevel_run_keep($18,$129,$130,$131);
-   ;HEAP32[$9>>2]=HEAP32[$18>>2]|0;HEAP32[$9+4>>2]=HEAP32[$18+4>>2]|0;
-   $132 = $4;
-   $133 = ((($132)) + 20|0);
-   $134 = HEAP32[$133>>2]|0;
-   $135 = ($134|0)!=(0|0);
-   if ($135) {
-    _mrb_nil_value_546($0);
-    STACKTOP = sp;return;
-   } else {
-    ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
-    STACKTOP = sp;return;
-   }
-  }
- }
- $32 = $5;
- $33 = ((($32)) + 1148|0);
- $34 = HEAP8[$33>>0]|0;
- $35 = ($34&255) >>> 1;
- $36 = $35 & 1;
- $37 = ($36<<24>>24)!=(0);
- if ($37) {
-  $38 = $5;
-  $39 = ((($38)) + 1152|0);
-  $40 = HEAP32[$39>>2]|0;
-  $41 = $5;
-  $42 = ((($41)) + 1152|0);
-  $43 = ((($42)) + 8|0);
-  $44 = HEAP32[$43>>2]|0;
-  HEAP32[$vararg_buffer>>2] = $40;
-  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
-  HEAP32[$vararg_ptr1>>2] = $44;
-  $45 = (_snprintf($11,256,64477,$vararg_buffer)|0);
-  $12 = $45;
-  $46 = $4;
-  $47 = $4;
-  $48 = (_mrb_class_get($47,68040)|0);
-  $49 = $12;
-  _mrb_exc_new($13,$46,$48,$11,$49);
-  $50 = HEAP32[$13>>2]|0;
-  $51 = $4;
-  $52 = ((($51)) + 20|0);
-  HEAP32[$52>>2] = $50;
-  $53 = $5;
-  _mrb_parser_free($53);
-  _mrb_undef_value_544($0);
-  STACKTOP = sp;return;
- } else {
-  $54 = $4;
-  $55 = $4;
-  $56 = (_mrb_class_get($55,68040)|0);
-  $57 = $4;
-  _mrb_str_new_static($14,$57,59902,12);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$14+4>>2]|0;
-  _mrb_exc_new_str($15,$54,$56,$$byval_copy);
-  $58 = HEAP32[$15>>2]|0;
-  $59 = $4;
-  $60 = ((($59)) + 20|0);
-  HEAP32[$60>>2] = $58;
-  $61 = $5;
-  _mrb_parser_free($61);
-  _mrb_undef_value_544($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_undef_value_544($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 5;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_obj_value_545($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_546($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_new_capa($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $2;
- $6 = $3;
- $7 = $4;
- $8 = (_ary_new_capa($6,$7)|0);
- $5 = $8;
- $9 = $5;
- _mrb_obj_value_549($0,$9);
- STACKTOP = sp;return;
-}
-function _ary_new_capa($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $6 = $3;
- $7 = ($6|0)>(536870911);
- if ($7) {
-  $8 = $2;
-  $9 = $2;
-  $10 = (_mrb_class_get($9,69160)|0);
-  _mrb_raise($8,$10,64504);
-  // unreachable;
- }
- $11 = $3;
- $12 = $11<<3;
- $5 = $12;
- $13 = $5;
- $14 = $3;
- $15 = ($13|0)<($14|0);
- $16 = $2;
- $17 = $2;
- if ($15) {
-  $18 = (_mrb_class_get($17,69160)|0);
-  _mrb_raise($16,$18,64504);
-  // unreachable;
- } else {
-  $19 = ((($17)) + 52|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = (_mrb_obj_alloc($16,14,$20)|0);
-  $4 = $21;
-  $22 = $2;
-  $23 = $5;
-  $24 = (_mrb_malloc($22,$23)|0);
-  $25 = $4;
-  $26 = ((($25)) + 20|0);
-  HEAP32[$26>>2] = $24;
-  $27 = $3;
-  $28 = $4;
-  $29 = ((($28)) + 16|0);
-  HEAP32[$29>>2] = $27;
-  $30 = $4;
-  $31 = ((($30)) + 12|0);
-  HEAP32[$31>>2] = 0;
-  $32 = $4;
-  STACKTOP = sp;return ($32|0);
- }
- return (0)|0;
-}
-function _mrb_obj_value_549($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_new($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $1;
- $3 = $2;
- _mrb_ary_new_capa($0,$3,0);
- STACKTOP = sp;return;
-}
-function _mrb_ary_new_from_values($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $8 = $4;
- $9 = $5;
- $10 = (_ary_new_capa($8,$9)|0);
- $7 = $10;
- $11 = $7;
- $12 = ((($11)) + 20|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $6;
- $15 = $5;
- _array_copy($13,$14,$15);
- $16 = $5;
- $17 = $7;
- $18 = ((($17)) + 12|0);
- HEAP32[$18>>2] = $16;
- $19 = $7;
- _mrb_obj_value_549($0,$19);
- STACKTOP = sp;return;
-}
-function _array_copy($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = 0;
- while(1) {
-  $7 = $6;
-  $8 = $5;
-  $9 = ($7|0)<($8|0);
-  if (!($9)) {
-   break;
-  }
-  $10 = $3;
-  $11 = $6;
-  $12 = (($10) + ($11<<3)|0);
-  $13 = $4;
-  $14 = $6;
-  $15 = (($13) + ($14<<3)|0);
-  ;HEAP32[$12>>2]=HEAP32[$15>>2]|0;HEAP32[$12+4>>2]=HEAP32[$15+4>>2]|0;
-  $16 = $6;
-  $17 = (($16) + 1)|0;
-  $6 = $17;
- }
- STACKTOP = sp;return;
-}
-function _mrb_assoc_new($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $6 = $4;
- $7 = (_ary_new_capa($6,2)|0);
- $5 = $7;
- $8 = $5;
- $9 = ((($8)) + 20|0);
- $10 = HEAP32[$9>>2]|0;
- ;HEAP32[$10>>2]=HEAP32[$2>>2]|0;HEAP32[$10+4>>2]=HEAP32[$2+4>>2]|0;
- $11 = $5;
- $12 = ((($11)) + 20|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ((($13)) + 8|0);
- ;HEAP32[$14>>2]=HEAP32[$3>>2]|0;HEAP32[$14+4>>2]=HEAP32[$3+4>>2]|0;
- $15 = $5;
- $16 = ((($15)) + 12|0);
- HEAP32[$16>>2] = 2;
- $17 = $5;
- _mrb_obj_value_549($0,$17);
- STACKTOP = sp;return;
-}
-function _ary_modify($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $8 = $3;
- $9 = HEAP32[$8>>2]|0;
- $10 = $9 >>> 11;
- $11 = $10 & 256;
- $12 = ($11|0)!=(0);
- if (!($12)) {
-  STACKTOP = sp;return;
- }
- $13 = $3;
- $14 = ((($13)) + 16|0);
- $15 = HEAP32[$14>>2]|0;
- $4 = $15;
- $16 = $4;
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17|0)==(1);
- if ($18) {
-  $19 = $3;
-  $20 = ((($19)) + 20|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $4;
-  $23 = ((($22)) + 8|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = ($21|0)==($24|0);
-  if ($25) {
-   $26 = $4;
-   $27 = ((($26)) + 8|0);
-   $28 = HEAP32[$27>>2]|0;
-   $29 = $3;
-   $30 = ((($29)) + 20|0);
-   HEAP32[$30>>2] = $28;
-   $31 = $3;
-   $32 = ((($31)) + 12|0);
-   $33 = HEAP32[$32>>2]|0;
-   $34 = $3;
-   $35 = ((($34)) + 16|0);
-   HEAP32[$35>>2] = $33;
-   $36 = $2;
-   $37 = $4;
-   _mrb_free($36,$37);
-  } else {
-   label = 5;
-  }
- } else {
-  label = 5;
- }
- if ((label|0) == 5) {
-  $38 = $3;
-  $39 = ((($38)) + 20|0);
-  $40 = HEAP32[$39>>2]|0;
-  $6 = $40;
-  $41 = $3;
-  $42 = ((($41)) + 12|0);
-  $43 = HEAP32[$42>>2]|0;
-  $44 = $43<<3;
-  $7 = $44;
-  $45 = $2;
-  $46 = $7;
-  $47 = (_mrb_malloc($45,$46)|0);
-  $5 = $47;
-  $48 = $6;
-  $49 = ($48|0)!=(0|0);
-  if ($49) {
-   $50 = $5;
-   $51 = $6;
-   $52 = $3;
-   $53 = ((($52)) + 12|0);
-   $54 = HEAP32[$53>>2]|0;
-   _array_copy($50,$51,$54);
-  }
-  $55 = $5;
-  $56 = $3;
-  $57 = ((($56)) + 20|0);
-  HEAP32[$57>>2] = $55;
-  $58 = $3;
-  $59 = ((($58)) + 12|0);
-  $60 = HEAP32[$59>>2]|0;
-  $61 = $3;
-  $62 = ((($61)) + 16|0);
-  HEAP32[$62>>2] = $60;
-  $63 = $2;
-  $64 = $4;
-  _mrb_ary_decref($63,$64);
- }
- $65 = $3;
- $66 = HEAP32[$65>>2]|0;
- $67 = $66 >>> 11;
- $68 = $67 & -257;
- $69 = HEAP32[$65>>2]|0;
- $70 = $68 & 2097151;
- $71 = $70 << 11;
- $72 = $69 & 2047;
- $73 = $72 | $71;
- HEAP32[$65>>2] = $73;
- STACKTOP = sp;return;
-}
-function _mrb_ary_decref($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = HEAP32[$4>>2]|0;
- $6 = (($5) + -1)|0;
- HEAP32[$4>>2] = $6;
- $7 = $3;
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)==(0);
- if (!($9)) {
-  STACKTOP = sp;return;
- }
- $10 = $2;
- $11 = $3;
- $12 = ((($11)) + 8|0);
- $13 = HEAP32[$12>>2]|0;
- _mrb_free($10,$13);
- $14 = $2;
- $15 = $3;
- _mrb_free($14,$15);
- STACKTOP = sp;return;
-}
-function _ary_shrink_capa($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $3;
- $6 = ((($5)) + 16|0);
- $7 = HEAP32[$6>>2]|0;
- $4 = $7;
- $8 = $4;
- $9 = ($8|0)<(8);
- if ($9) {
-  STACKTOP = sp;return;
- }
- $10 = $4;
- $11 = $3;
- $12 = ((($11)) + 12|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ($13*5)|0;
- $15 = ($10|0)<=($14|0);
- if ($15) {
-  STACKTOP = sp;return;
- }
- while(1) {
-  $16 = $4;
-  $17 = (($16|0) / 2)&-1;
-  $4 = $17;
-  $18 = $4;
-  $19 = ($18|0)<(4);
-  if ($19) {
-   label = 4;
-   break;
-  }
-  $20 = $4;
-  $21 = $3;
-  $22 = ((($21)) + 12|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = ($23*5)|0;
-  $25 = ($20|0)>($24|0);
-  if (!($25)) {
-   break;
-  }
- }
- if ((label|0) == 4) {
-  $4 = 4;
- }
- $26 = $4;
- $27 = $3;
- $28 = ((($27)) + 12|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = ($26|0)>($29|0);
- if (!($30)) {
-  STACKTOP = sp;return;
- }
- $31 = $4;
- $32 = $3;
- $33 = ((($32)) + 16|0);
- $34 = HEAP32[$33>>2]|0;
- $35 = ($31|0)<($34|0);
- if (!($35)) {
-  STACKTOP = sp;return;
- }
- $36 = $4;
- $37 = $3;
- $38 = ((($37)) + 16|0);
- HEAP32[$38>>2] = $36;
- $39 = $2;
- $40 = $3;
- $41 = ((($40)) + 20|0);
- $42 = HEAP32[$41>>2]|0;
- $43 = $4;
- $44 = $43<<3;
- $45 = (_mrb_realloc($39,$42,$44)|0);
- $46 = $3;
- $47 = ((($46)) + 20|0);
- HEAP32[$47>>2] = $45;
- STACKTOP = sp;return;
-}
-function _ary_expand_capa($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $4;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $6 = $10;
- $11 = $5;
- $12 = ($11|0)>(536870911);
- if ($12) {
-  $13 = $3;
-  $14 = $3;
-  $15 = (_mrb_class_get($14,69160)|0);
-  _mrb_raise($13,$15,64504);
-  // unreachable;
- }
- $16 = $6;
- $17 = ($16|0)==(0);
- if ($17) {
-  $6 = 4;
- }
- while(1) {
-  $18 = $6;
-  $19 = $5;
-  $20 = ($18|0)<($19|0);
-  $21 = $6;
-  if (!($20)) {
-   break;
-  }
-  $22 = $21<<1;
-  $6 = $22;
- }
- $23 = ($21|0)>(536870911);
- if ($23) {
-  $6 = 536870911;
- }
- $24 = $6;
- $25 = $4;
- $26 = ((($25)) + 16|0);
- $27 = HEAP32[$26>>2]|0;
- $28 = ($24|0)>($27|0);
- if (!($28)) {
-  STACKTOP = sp;return;
- }
- $29 = $3;
- $30 = $4;
- $31 = ((($30)) + 20|0);
- $32 = HEAP32[$31>>2]|0;
- $33 = $6;
- $34 = $33<<3;
- $35 = (_mrb_realloc($29,$32,$34)|0);
- $7 = $35;
- $36 = $6;
- $37 = $4;
- $38 = ((($37)) + 16|0);
- HEAP32[$38>>2] = $36;
- $39 = $7;
- $40 = $4;
- $41 = ((($40)) + 20|0);
- HEAP32[$41>>2] = $39;
- STACKTOP = sp;return;
-}
-function _ary_fill_with_nil($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = sp;
- $2 = $0;
- $3 = $1;
- _mrb_nil_value_562($4);
- while(1) {
-  $5 = $3;
-  $6 = (($5) + -1)|0;
-  $3 = $6;
-  $7 = ($5|0)!=(0);
-  if (!($7)) {
-   break;
-  }
-  $8 = $2;
-  $9 = ((($8)) + 8|0);
-  $2 = $9;
-  ;HEAP32[$8>>2]=HEAP32[$4>>2]|0;HEAP32[$8+4>>2]=HEAP32[$4+4>>2]|0;
- }
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_562($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_concat($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $3;
- $7 = HEAP32[$1>>2]|0;
- $8 = $4;
- $9 = ((($8)) + 20|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = $4;
- $12 = ((($11)) + 12|0);
- $13 = HEAP32[$12>>2]|0;
- _ary_concat($6,$7,$10,$13);
- STACKTOP = sp;return;
-}
-function _ary_concat($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $9 = $5;
- $10 = ((($9)) + 12|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = $7;
- $13 = (($11) + ($12))|0;
- $8 = $13;
- $14 = $4;
- $15 = $5;
- _ary_modify($14,$15);
- $16 = $5;
- $17 = ((($16)) + 16|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = $8;
- $20 = ($18|0)<($19|0);
- if ($20) {
-  $21 = $4;
-  $22 = $5;
-  $23 = $8;
-  _ary_expand_capa($21,$22,$23);
- }
- $24 = $5;
- $25 = ((($24)) + 20|0);
- $26 = HEAP32[$25>>2]|0;
- $27 = $5;
- $28 = ((($27)) + 12|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = (($26) + ($29<<3)|0);
- $31 = $6;
- $32 = $7;
- _array_copy($30,$31,$32);
- $33 = $4;
- $34 = $5;
- _mrb_write_barrier($33,$34);
- $35 = $8;
- $36 = $5;
- $37 = ((($36)) + 12|0);
- HEAP32[$37>>2] = $35;
- STACKTOP = sp;return;
-}
-function _mrb_ary_replace($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $3;
- $7 = HEAP32[$1>>2]|0;
- $8 = $4;
- $9 = ((($8)) + 20|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = $4;
- $12 = ((($11)) + 12|0);
- $13 = HEAP32[$12>>2]|0;
- _ary_replace($6,$7,$10,$13);
- STACKTOP = sp;return;
-}
-function _ary_replace($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- _ary_modify($8,$9);
- $10 = $5;
- $11 = ((($10)) + 16|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = $7;
- $14 = ($12|0)<($13|0);
- if ($14) {
-  $15 = $4;
-  $16 = $5;
-  $17 = $7;
-  _ary_expand_capa($15,$16,$17);
- }
- $18 = $5;
- $19 = ((($18)) + 20|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = $6;
- $22 = $7;
- _array_copy($20,$21,$22);
- $23 = $4;
- $24 = $5;
- _mrb_write_barrier($23,$24);
- $25 = $7;
- $26 = $5;
- $27 = ((($26)) + 12|0);
- HEAP32[$27>>2] = $25;
- STACKTOP = sp;return;
-}
-function _mrb_ary_push($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $5 = HEAP32[$1>>2]|0;
- $4 = $5;
- $6 = $3;
- $7 = $4;
- _ary_modify($6,$7);
- $8 = $4;
- $9 = ((($8)) + 12|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = $4;
- $12 = ((($11)) + 16|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ($10|0)==($13|0);
- if ($14) {
-  $15 = $3;
-  $16 = $4;
-  $17 = $4;
-  $18 = ((($17)) + 12|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = (($19) + 1)|0;
-  _ary_expand_capa($15,$16,$20);
- }
- $21 = $4;
- $22 = ((($21)) + 20|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = $4;
- $25 = ((($24)) + 12|0);
- $26 = HEAP32[$25>>2]|0;
- $27 = (($26) + 1)|0;
- HEAP32[$25>>2] = $27;
- $28 = (($23) + ($26<<3)|0);
- ;HEAP32[$28>>2]=HEAP32[$2>>2]|0;HEAP32[$28+4>>2]=HEAP32[$2+4>>2]|0;
- $29 = ((($2)) + 4|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = ($30>>>0)<(8);
- if ($31) {
-  STACKTOP = sp;return;
- }
- $32 = $3;
- $33 = $4;
- $34 = HEAP32[$2>>2]|0;
- _mrb_field_write_barrier($32,$33,$34);
- STACKTOP = sp;return;
-}
-function _mrb_ary_pop($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)==(0);
- if ($9) {
-  _mrb_nil_value_562($0);
-  STACKTOP = sp;return;
- } else {
-  $10 = $4;
-  $11 = ((($10)) + 20|0);
-  $12 = HEAP32[$11>>2]|0;
-  $13 = $4;
-  $14 = ((($13)) + 12|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = (($15) + -1)|0;
-  HEAP32[$14>>2] = $16;
-  $17 = (($12) + ($16<<3)|0);
-  ;HEAP32[$0>>2]=HEAP32[$17>>2]|0;HEAP32[$0+4>>2]=HEAP32[$17+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_ary_shift($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = sp + 8|0;
- $3 = $1;
- $8 = HEAP32[$2>>2]|0;
- $4 = $8;
- $9 = $4;
- $10 = ((($9)) + 12|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)==(0);
- if ($12) {
-  _mrb_nil_value_562($0);
-  STACKTOP = sp;return;
- }
- $13 = $4;
- $14 = HEAP32[$13>>2]|0;
- $15 = $14 >>> 11;
- $16 = $15 & 256;
- $17 = ($16|0)!=(0);
- do {
-  if (!($17)) {
-   $29 = $4;
-   $30 = ((($29)) + 12|0);
-   $31 = HEAP32[$30>>2]|0;
-   $32 = ($31|0)>(10);
-   if ($32) {
-    $33 = $3;
-    $34 = $4;
-    _ary_make_shared($33,$34);
-    break;
-   }
-   $35 = $4;
-   $36 = ((($35)) + 20|0);
-   $37 = HEAP32[$36>>2]|0;
-   $6 = $37;
-   $38 = $4;
-   $39 = ((($38)) + 12|0);
-   $40 = HEAP32[$39>>2]|0;
-   $7 = $40;
-   $41 = $6;
-   ;HEAP32[$5>>2]=HEAP32[$41>>2]|0;HEAP32[$5+4>>2]=HEAP32[$41+4>>2]|0;
-   while(1) {
-    $42 = $7;
-    $43 = (($42) + -1)|0;
-    $7 = $43;
-    $44 = ($43|0)!=(0);
-    if (!($44)) {
-     break;
-    }
-    $45 = $6;
-    $46 = $6;
-    $47 = ((($46)) + 8|0);
-    ;HEAP32[$45>>2]=HEAP32[$47>>2]|0;HEAP32[$45+4>>2]=HEAP32[$47+4>>2]|0;
-    $48 = $6;
-    $49 = ((($48)) + 8|0);
-    $6 = $49;
-   }
-   $50 = $4;
-   $51 = ((($50)) + 12|0);
-   $52 = HEAP32[$51>>2]|0;
-   $53 = (($52) + -1)|0;
-   HEAP32[$51>>2] = $53;
-   ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- } while(0);
- $18 = $4;
- $19 = ((($18)) + 20|0);
- $20 = HEAP32[$19>>2]|0;
- ;HEAP32[$5>>2]=HEAP32[$20>>2]|0;HEAP32[$5+4>>2]=HEAP32[$20+4>>2]|0;
- $21 = $4;
- $22 = ((($21)) + 20|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = ((($23)) + 8|0);
- HEAP32[$22>>2] = $24;
- $25 = $4;
- $26 = ((($25)) + 12|0);
- $27 = HEAP32[$26>>2]|0;
- $28 = (($27) + -1)|0;
- HEAP32[$26>>2] = $28;
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _ary_make_shared($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $3;
- $6 = HEAP32[$5>>2]|0;
- $7 = $6 >>> 11;
- $8 = $7 & 256;
- $9 = ($8|0)!=(0);
- if ($9) {
-  STACKTOP = sp;return;
- }
- $10 = $2;
- $11 = (_mrb_malloc($10,12)|0);
- $4 = $11;
- $12 = $4;
- HEAP32[$12>>2] = 1;
- $13 = $3;
- $14 = ((($13)) + 16|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = $3;
- $17 = ((($16)) + 12|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = ($15|0)>($18|0);
- if ($19) {
-  $20 = $2;
-  $21 = $3;
-  $22 = ((($21)) + 20|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = $3;
-  $25 = ((($24)) + 12|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $26<<3;
-  $28 = (($27) + 1)|0;
-  $29 = (_mrb_realloc($20,$23,$28)|0);
-  $30 = $4;
-  $31 = ((($30)) + 8|0);
-  HEAP32[$31>>2] = $29;
-  $32 = $3;
-  $33 = ((($32)) + 20|0);
-  HEAP32[$33>>2] = $29;
- } else {
-  $34 = $3;
-  $35 = ((($34)) + 20|0);
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $4;
-  $38 = ((($37)) + 8|0);
-  HEAP32[$38>>2] = $36;
- }
- $39 = $3;
- $40 = ((($39)) + 12|0);
- $41 = HEAP32[$40>>2]|0;
- $42 = $4;
- $43 = ((($42)) + 4|0);
- HEAP32[$43>>2] = $41;
- $44 = $4;
- $45 = $3;
- $46 = ((($45)) + 16|0);
- HEAP32[$46>>2] = $44;
- $47 = $3;
- $48 = HEAP32[$47>>2]|0;
- $49 = $48 >>> 11;
- $50 = $49 | 256;
- $51 = HEAP32[$47>>2]|0;
- $52 = $50 & 2097151;
- $53 = $52 << 11;
- $54 = $51 & 2047;
- $55 = $54 | $53;
- HEAP32[$47>>2] = $55;
- STACKTOP = sp;return;
-}
-function _mrb_ary_unshift($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $6 = HEAP32[$2>>2]|0;
- $5 = $6;
- $7 = $5;
- $8 = HEAP32[$7>>2]|0;
- $9 = $8 >>> 11;
- $10 = $9 & 256;
- $11 = ($10|0)!=(0);
- if ($11) {
-  $12 = $5;
-  $13 = ((($12)) + 16|0);
-  $14 = HEAP32[$13>>2]|0;
-  $15 = HEAP32[$14>>2]|0;
-  $16 = ($15|0)==(1);
-  if ($16) {
-   $17 = $5;
-   $18 = ((($17)) + 20|0);
-   $19 = HEAP32[$18>>2]|0;
-   $20 = $5;
-   $21 = ((($20)) + 16|0);
-   $22 = HEAP32[$21>>2]|0;
-   $23 = ((($22)) + 8|0);
-   $24 = HEAP32[$23>>2]|0;
-   $25 = $19;
-   $26 = $24;
-   $27 = (($25) - ($26))|0;
-   $28 = (($27|0) / 8)&-1;
-   $29 = ($28|0)>=(1);
-   if ($29) {
-    $30 = $5;
-    $31 = ((($30)) + 20|0);
-    $32 = HEAP32[$31>>2]|0;
-    $33 = ((($32)) + -8|0);
-    HEAP32[$31>>2] = $33;
-    $34 = $5;
-    $35 = ((($34)) + 20|0);
-    $36 = HEAP32[$35>>2]|0;
-    ;HEAP32[$36>>2]=HEAP32[$3>>2]|0;HEAP32[$36+4>>2]=HEAP32[$3+4>>2]|0;
-   } else {
-    label = 5;
-   }
-  } else {
-   label = 5;
-  }
- } else {
-  label = 5;
- }
- if ((label|0) == 5) {
-  $37 = $4;
-  $38 = $5;
-  _ary_modify($37,$38);
-  $39 = $5;
-  $40 = ((($39)) + 16|0);
-  $41 = HEAP32[$40>>2]|0;
-  $42 = $5;
-  $43 = ((($42)) + 12|0);
-  $44 = HEAP32[$43>>2]|0;
-  $45 = (($44) + 1)|0;
-  $46 = ($41|0)<($45|0);
-  if ($46) {
-   $47 = $4;
-   $48 = $5;
-   $49 = $5;
-   $50 = ((($49)) + 12|0);
-   $51 = HEAP32[$50>>2]|0;
-   $52 = (($51) + 1)|0;
-   _ary_expand_capa($47,$48,$52);
-  }
-  $53 = $5;
-  $54 = ((($53)) + 20|0);
-  $55 = HEAP32[$54>>2]|0;
-  $56 = ((($55)) + 8|0);
-  $57 = $5;
-  $58 = ((($57)) + 20|0);
-  $59 = HEAP32[$58>>2]|0;
-  $60 = $5;
-  $61 = ((($60)) + 12|0);
-  $62 = HEAP32[$61>>2]|0;
-  _value_move_573($56,$59,$62);
-  $63 = $5;
-  $64 = ((($63)) + 20|0);
-  $65 = HEAP32[$64>>2]|0;
-  ;HEAP32[$65>>2]=HEAP32[$3>>2]|0;HEAP32[$65+4>>2]=HEAP32[$3+4>>2]|0;
- }
- $66 = $5;
- $67 = ((($66)) + 12|0);
- $68 = HEAP32[$67>>2]|0;
- $69 = (($68) + 1)|0;
- HEAP32[$67>>2] = $69;
- $70 = ((($3)) + 4|0);
- $71 = HEAP32[$70>>2]|0;
- $72 = ($71>>>0)<(8);
- if ($72) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $73 = $4;
- $74 = $5;
- $75 = HEAP32[$3>>2]|0;
- _mrb_field_write_barrier($73,$74,$75);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _value_move_573($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = ($6>>>0)>($7>>>0);
- if ($8) {
-  $9 = $3;
-  $10 = $4;
-  $11 = $5;
-  $12 = (($10) + ($11<<3)|0);
-  $13 = ($9>>>0)<($12>>>0);
-  if ($13) {
-   $14 = $5;
-   $15 = $3;
-   $16 = (($15) + ($14<<3)|0);
-   $3 = $16;
-   $17 = $5;
-   $18 = $4;
-   $19 = (($18) + ($17<<3)|0);
-   $4 = $19;
-   while(1) {
-    $20 = $5;
-    $21 = (($20) + -1)|0;
-    $5 = $21;
-    $22 = ($20>>>0)>(0);
-    if (!($22)) {
-     break;
-    }
-    $23 = $3;
-    $24 = ((($23)) + -8|0);
-    $3 = $24;
-    $25 = $4;
-    $26 = ((($25)) + -8|0);
-    $4 = $26;
-    ;HEAP32[$24>>2]=HEAP32[$26>>2]|0;HEAP32[$24+4>>2]=HEAP32[$26+4>>2]|0;
-   }
-   STACKTOP = sp;return;
-  }
- }
- $27 = $3;
- $28 = $4;
- $29 = ($27|0)!=($28|0);
- if (!($29)) {
-  STACKTOP = sp;return;
- }
- while(1) {
-  $30 = $5;
-  $31 = (($30) + -1)|0;
-  $5 = $31;
-  $32 = ($30>>>0)>(0);
-  if (!($32)) {
-   break;
-  }
-  $33 = $3;
-  $34 = ((($33)) + 8|0);
-  $3 = $34;
-  $35 = $4;
-  $36 = ((($35)) + 8|0);
-  $4 = $36;
-  ;HEAP32[$33>>2]=HEAP32[$35>>2]|0;HEAP32[$33+4>>2]=HEAP32[$35+4>>2]|0;
- }
- STACKTOP = sp;return;
-}
-function _mrb_ary_ref($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $5 = $3;
- $7 = HEAP32[$2>>2]|0;
- $6 = $7;
- $8 = $5;
- $9 = ($8|0)<(0);
- if ($9) {
-  $10 = $6;
-  $11 = ((($10)) + 12|0);
-  $12 = HEAP32[$11>>2]|0;
-  $13 = $5;
-  $14 = (($13) + ($12))|0;
-  $5 = $14;
- }
- $15 = $5;
- $16 = ($15|0)<(0);
- if (!($16)) {
-  $17 = $6;
-  $18 = ((($17)) + 12|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $5;
-  $21 = ($19|0)<=($20|0);
-  if (!($21)) {
-   $22 = $6;
-   $23 = ((($22)) + 20|0);
-   $24 = HEAP32[$23>>2]|0;
-   $25 = $5;
-   $26 = (($24) + ($25<<3)|0);
-   ;HEAP32[$0>>2]=HEAP32[$26>>2]|0;HEAP32[$0+4>>2]=HEAP32[$26+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- _mrb_nil_value_562($0);
- STACKTOP = sp;return;
-}
-function _mrb_ary_set($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $7 = sp + 8|0;
- $4 = $0;
- $5 = $2;
- $8 = HEAP32[$1>>2]|0;
- $6 = $8;
- $9 = $4;
- $10 = $6;
- _ary_modify($9,$10);
- $11 = $5;
- $12 = ($11|0)<(0);
- if ($12) {
-  $13 = $6;
-  $14 = ((($13)) + 12|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = $5;
-  $17 = (($16) + ($15))|0;
-  $5 = $17;
-  $18 = $5;
-  $19 = ($18|0)<(0);
-  if ($19) {
-   $20 = $4;
-   $21 = $4;
-   $22 = (_mrb_class_get($21,69011)|0);
-   $23 = $5;
-   $24 = $6;
-   $25 = ((($24)) + 12|0);
-   $26 = HEAP32[$25>>2]|0;
-   $27 = (($23) - ($26))|0;
-   _mrb_fixnum_value_579($7,$27);
-   ;HEAP8[$vararg_buffer>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$7+7>>0]|0;
-   _mrb_raisef($20,$22,64523,$vararg_buffer);
-   // unreachable;
-  }
- }
- $28 = $6;
- $29 = ((($28)) + 12|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = $5;
- $32 = ($30|0)<=($31|0);
- if ($32) {
-  $33 = $6;
-  $34 = ((($33)) + 16|0);
-  $35 = HEAP32[$34>>2]|0;
-  $36 = $5;
-  $37 = ($35|0)<=($36|0);
-  if ($37) {
-   $38 = $4;
-   $39 = $6;
-   $40 = $5;
-   $41 = (($40) + 1)|0;
-   _ary_expand_capa($38,$39,$41);
-  }
-  $42 = $6;
-  $43 = ((($42)) + 20|0);
-  $44 = HEAP32[$43>>2]|0;
-  $45 = $6;
-  $46 = ((($45)) + 12|0);
-  $47 = HEAP32[$46>>2]|0;
-  $48 = (($44) + ($47<<3)|0);
-  $49 = $5;
-  $50 = (($49) + 1)|0;
-  $51 = $6;
-  $52 = ((($51)) + 12|0);
-  $53 = HEAP32[$52>>2]|0;
-  $54 = (($50) - ($53))|0;
-  _ary_fill_with_nil($48,$54);
-  $55 = $5;
-  $56 = (($55) + 1)|0;
-  $57 = $6;
-  $58 = ((($57)) + 12|0);
-  HEAP32[$58>>2] = $56;
- }
- $59 = $6;
- $60 = ((($59)) + 20|0);
- $61 = HEAP32[$60>>2]|0;
- $62 = $5;
- $63 = (($61) + ($62<<3)|0);
- ;HEAP32[$63>>2]=HEAP32[$3>>2]|0;HEAP32[$63+4>>2]=HEAP32[$3+4>>2]|0;
- $64 = ((($3)) + 4|0);
- $65 = HEAP32[$64>>2]|0;
- $66 = ($65>>>0)<(8);
- if ($66) {
-  STACKTOP = sp;return;
- }
- $67 = $4;
- $68 = $6;
- $69 = HEAP32[$3>>2]|0;
- _mrb_field_write_barrier($67,$68,$69);
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_value_579($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_splice($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0;
- var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0;
- var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
- var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
- var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $vararg_buffer = sp;
- $15 = sp + 8|0;
- $6 = $1;
- $7 = $3;
- $8 = $4;
- $16 = HEAP32[$2>>2]|0;
- $9 = $16;
- $17 = $6;
- $18 = $9;
- _ary_modify($17,$18);
- $19 = $8;
- $20 = ($19|0)<(0);
- if ($20) {
-  $21 = $6;
-  $22 = $6;
-  $23 = (_mrb_class_get($22,69011)|0);
-  $24 = $8;
-  _mrb_fixnum_value_579($15,$24);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$15>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$15+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$15+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$15+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$15+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$15+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$15+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$15+7>>0]|0;
-  _mrb_raisef($21,$23,64545,$vararg_buffer);
-  // unreachable;
- }
- $25 = $7;
- $26 = ($25|0)<(0);
- if ($26) {
-  $27 = $9;
-  $28 = ((($27)) + 12|0);
-  $29 = HEAP32[$28>>2]|0;
-  $30 = $7;
-  $31 = (($30) + ($29))|0;
-  $7 = $31;
-  $32 = $7;
-  $33 = ($32|0)<(0);
-  if ($33) {
-   $34 = $6;
-   $35 = $6;
-   $36 = (_mrb_class_get($35,69011)|0);
-   _mrb_raise($34,$36,64566);
-   // unreachable;
-  }
- }
- $37 = $9;
- $38 = ((($37)) + 12|0);
- $39 = HEAP32[$38>>2]|0;
- $40 = $8;
- $41 = ($39|0)<($40|0);
- if ($41) {
-  label = 8;
- } else {
-  $42 = $9;
-  $43 = ((($42)) + 12|0);
-  $44 = HEAP32[$43>>2]|0;
-  $45 = $7;
-  $46 = $8;
-  $47 = (($45) + ($46))|0;
-  $48 = ($44|0)<($47|0);
-  if ($48) {
-   label = 8;
-  }
- }
- if ((label|0) == 8) {
-  $49 = $9;
-  $50 = ((($49)) + 12|0);
-  $51 = HEAP32[$50>>2]|0;
-  $52 = $7;
-  $53 = (($51) - ($52))|0;
-  $8 = $53;
- }
- $54 = $7;
- $55 = $8;
- $56 = (($54) + ($55))|0;
- $10 = $56;
- $57 = ((($5)) + 4|0);
- $58 = HEAP32[$57>>2]|0;
- $59 = ($58|0)==(14);
- if ($59) {
-  $60 = HEAP32[$5>>2]|0;
-  $61 = ((($60)) + 12|0);
-  $62 = HEAP32[$61>>2]|0;
-  $14 = $62;
-  $63 = HEAP32[$5>>2]|0;
-  $64 = ((($63)) + 20|0);
-  $65 = HEAP32[$64>>2]|0;
-  $12 = $65;
- } else {
-  $14 = 1;
-  $12 = $5;
- }
- $66 = $7;
- $67 = $14;
- $68 = (($66) + ($67))|0;
- $11 = $68;
- $69 = $10;
- $70 = $9;
- $71 = ((($70)) + 12|0);
- $72 = HEAP32[$71>>2]|0;
- $73 = ($69|0)<($72|0);
- if ($73) {
-  $74 = $9;
-  $75 = ((($74)) + 12|0);
-  $76 = HEAP32[$75>>2]|0;
-  $77 = $10;
-  $78 = (($76) - ($77))|0;
-  $79 = $11;
-  $80 = (($79) + ($78))|0;
-  $11 = $80;
- }
- $81 = $11;
- $82 = $9;
- $83 = ((($82)) + 16|0);
- $84 = HEAP32[$83>>2]|0;
- $85 = ($81|0)>($84|0);
- if ($85) {
-  $86 = $6;
-  $87 = $9;
-  $88 = $11;
-  _ary_expand_capa($86,$87,$88);
- }
- $89 = $7;
- $90 = $9;
- $91 = ((($90)) + 12|0);
- $92 = HEAP32[$91>>2]|0;
- $93 = ($89|0)>($92|0);
- if ($93) {
-  $94 = $9;
-  $95 = ((($94)) + 20|0);
-  $96 = HEAP32[$95>>2]|0;
-  $97 = $9;
-  $98 = ((($97)) + 12|0);
-  $99 = HEAP32[$98>>2]|0;
-  $100 = (($96) + ($99<<3)|0);
-  $101 = $7;
-  $102 = $9;
-  $103 = ((($102)) + 12|0);
-  $104 = HEAP32[$103>>2]|0;
-  $105 = (($101) - ($104))|0;
-  _ary_fill_with_nil($100,$105);
- } else {
-  $106 = $7;
-  $107 = $9;
-  $108 = ((($107)) + 12|0);
-  $109 = HEAP32[$108>>2]|0;
-  $110 = ($106|0)<($109|0);
-  if ($110) {
-   $111 = $9;
-   $112 = ((($111)) + 20|0);
-   $113 = HEAP32[$112>>2]|0;
-   $114 = $7;
-   $115 = (($113) + ($114<<3)|0);
-   $116 = $14;
-   $117 = (($115) + ($116<<3)|0);
-   $118 = $9;
-   $119 = ((($118)) + 20|0);
-   $120 = HEAP32[$119>>2]|0;
-   $121 = $10;
-   $122 = (($120) + ($121<<3)|0);
-   $123 = $9;
-   $124 = ((($123)) + 12|0);
-   $125 = HEAP32[$124>>2]|0;
-   $126 = $10;
-   $127 = (($125) - ($126))|0;
-   _value_move_573($117,$122,$127);
-  }
- }
- $13 = 0;
- while(1) {
-  $128 = $13;
-  $129 = $14;
-  $130 = ($128|0)<($129|0);
-  if (!($130)) {
-   break;
-  }
-  $131 = $9;
-  $132 = ((($131)) + 20|0);
-  $133 = HEAP32[$132>>2]|0;
-  $134 = $7;
-  $135 = (($133) + ($134<<3)|0);
-  $136 = $13;
-  $137 = (($135) + ($136<<3)|0);
-  $138 = $12;
-  $139 = $13;
-  $140 = (($138) + ($139<<3)|0);
-  ;HEAP32[$137>>2]=HEAP32[$140>>2]|0;HEAP32[$137+4>>2]=HEAP32[$140+4>>2]|0;
-  $141 = $12;
-  $142 = $13;
-  $143 = (($141) + ($142<<3)|0);
-  $144 = ((($143)) + 4|0);
-  $145 = HEAP32[$144>>2]|0;
-  $146 = ($145>>>0)<(8);
-  if (!($146)) {
-   $147 = $6;
-   $148 = $9;
-   $149 = $12;
-   $150 = $13;
-   $151 = (($149) + ($150<<3)|0);
-   $152 = HEAP32[$151>>2]|0;
-   _mrb_field_write_barrier($147,$148,$152);
-  }
-  $153 = $13;
-  $154 = (($153) + 1)|0;
-  $13 = $154;
- }
- $155 = $11;
- $156 = $9;
- $157 = ((($156)) + 12|0);
- HEAP32[$157>>2] = $155;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_splat($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $vararg_buffer = sp;
- $3 = $1;
- $4 = ((($2)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- $6 = ($5|0)==(14);
- if ($6) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $7 = $3;
- $8 = $3;
- $9 = (_mrb_intern_static($8,64588,4)|0);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $10 = (_mrb_respond_to($7,$$byval_copy,$9)|0);
- $11 = ($10<<24>>24)!=(0);
- $12 = $3;
- if ($11) {
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_funcall($0,$12,$$byval_copy1,64588,0,$vararg_buffer);
-  STACKTOP = sp;return;
- } else {
-  _mrb_ary_new_from_values($0,$12,1,$2);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_ary_clear($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = HEAP32[$6>>2]|0;
- $8 = $7 >>> 11;
- $9 = $8 & 256;
- $10 = ($9|0)!=(0);
- $11 = $3;
- $12 = $4;
- if ($10) {
-  $13 = ((($12)) + 16|0);
-  $14 = HEAP32[$13>>2]|0;
-  _mrb_ary_decref($11,$14);
-  $15 = $4;
-  $16 = HEAP32[$15>>2]|0;
-  $17 = $16 >>> 11;
-  $18 = $17 & -257;
-  $19 = HEAP32[$15>>2]|0;
-  $20 = $18 & 2097151;
-  $21 = $20 << 11;
-  $22 = $19 & 2047;
-  $23 = $22 | $21;
-  HEAP32[$15>>2] = $23;
- } else {
-  $24 = ((($12)) + 20|0);
-  $25 = HEAP32[$24>>2]|0;
-  _mrb_free($11,$25);
- }
- $26 = $4;
- $27 = ((($26)) + 12|0);
- HEAP32[$27>>2] = 0;
- $28 = $4;
- $29 = ((($28)) + 16|0);
- HEAP32[$29>>2] = 0;
- $30 = $4;
- $31 = ((($30)) + 20|0);
- HEAP32[$31>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_entry($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $2;
- $4 = $3;
- $5 = ($4|0)<(0);
- if ($5) {
-  $6 = HEAP32[$1>>2]|0;
-  $7 = ((($6)) + 12|0);
-  $8 = HEAP32[$7>>2]|0;
-  $9 = $3;
-  $10 = (($9) + ($8))|0;
-  $3 = $10;
- }
- $11 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _ary_elt($0,$$byval_copy,$11);
- STACKTOP = sp;return;
-}
-function _ary_elt($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $2;
- $4 = $3;
- $5 = ($4|0)<(0);
- if (!($5)) {
-  $6 = HEAP32[$1>>2]|0;
-  $7 = ((($6)) + 12|0);
-  $8 = HEAP32[$7>>2]|0;
-  $9 = $3;
-  $10 = ($8|0)<=($9|0);
-  if (!($10)) {
-   $11 = HEAP32[$1>>2]|0;
-   $12 = ((($11)) + 20|0);
-   $13 = HEAP32[$12>>2]|0;
-   $14 = $3;
-   $15 = (($13) + ($14<<3)|0);
-   ;HEAP32[$0>>2]=HEAP32[$15>>2]|0;HEAP32[$0+4>>2]=HEAP32[$15+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- _mrb_nil_value_562($0);
- STACKTOP = sp;return;
-}
-function _mrb_ary_join($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy3 = sp + 48|0;
- $$byval_copy2 = sp + 40|0;
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $5 = sp + 8|0;
- $6 = sp;
- $4 = $1;
- $7 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_obj_as_string($5,$7,$$byval_copy);
- ;HEAP32[$3>>2]=HEAP32[$5>>2]|0;HEAP32[$3+4>>2]=HEAP32[$5+4>>2]|0;
- $8 = $4;
- $9 = $4;
- _mrb_ary_new($6,$9);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$3+4>>2]|0;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$6+4>>2]|0;
- _join_ary($0,$8,$$byval_copy1,$$byval_copy2,$$byval_copy3);
- STACKTOP = sp;return;
-}
-function _join_ary($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
- var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
- var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
- var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
- var $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
- $$byval_copy14 = sp + 208|0;
- $$byval_copy13 = sp + 200|0;
- $$byval_copy12 = sp + 192|0;
- $$byval_copy11 = sp + 184|0;
- $$byval_copy10 = sp + 176|0;
- $$byval_copy9 = sp + 168|0;
- $$byval_copy8 = sp + 160|0;
- $$byval_copy7 = sp + 152|0;
- $$byval_copy6 = sp + 144|0;
- $$byval_copy5 = sp + 136|0;
- $$byval_copy4 = sp + 128|0;
- $$byval_copy3 = sp + 120|0;
- $$byval_copy2 = sp + 112|0;
- $$byval_copy1 = sp + 104|0;
- $$byval_copy = sp + 96|0;
- $7 = sp + 80|0;
- $8 = sp + 72|0;
- $9 = sp + 64|0;
- $10 = sp + 56|0;
- $11 = sp + 48|0;
- $12 = sp + 40|0;
- $13 = sp + 32|0;
- $14 = sp + 24|0;
- $15 = sp + 16|0;
- $16 = sp + 8|0;
- $17 = sp;
- $5 = $1;
- $6 = 0;
- while(1) {
-  $18 = $6;
-  $19 = HEAP32[$4>>2]|0;
-  $20 = ((($19)) + 12|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = ($18|0)<($21|0);
-  $23 = $5;
-  if (!($22)) {
-   break;
-  }
-  $24 = HEAP32[$4>>2]|0;
-  $25 = ((($24)) + 20|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $6;
-  $28 = (($26) + ($27<<3)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$28+4>>2]|0;
-  $29 = (_mrb_obj_equal($23,$$byval_copy,$$byval_copy1)|0);
-  $30 = ($29<<24>>24)!=(0);
-  if ($30) {
-   label = 4;
-   break;
-  }
-  $34 = $6;
-  $35 = (($34) + 1)|0;
-  $6 = $35;
- }
- if ((label|0) == 4) {
-  $31 = $5;
-  $32 = $5;
-  $33 = (_mrb_class_get($32,69160)|0);
-  _mrb_raise($31,$33,64593);
-  // unreachable;
- }
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_ary_push($23,$$byval_copy2,$$byval_copy3);
- $36 = $5;
- _mrb_str_buf_new($10,$36,64);
- ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
- $6 = 0;
- while(1) {
-  $37 = $6;
-  $38 = HEAP32[$2>>2]|0;
-  $39 = ((($38)) + 12|0);
-  $40 = HEAP32[$39>>2]|0;
-  $41 = ($37|0)<($40|0);
-  if (!($41)) {
-   break;
-  }
-  $42 = $6;
-  $43 = ($42|0)>(0);
-  do {
-   if ($43) {
-    $44 = ((($3)) + 4|0);
-    $45 = HEAP32[$44>>2]|0;
-    $46 = ($45|0)==(0);
-    if ($46) {
-     $47 = HEAP32[$3>>2]|0;
-     $48 = ($47|0)!=(0);
-     if (!($48)) {
-      break;
-     }
-    }
-    $49 = $5;
-    ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0;
-    ;HEAP32[$$byval_copy5>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$3+4>>2]|0;
-    _mrb_str_cat_str($11,$49,$$byval_copy4,$$byval_copy5);
-   }
-  } while(0);
-  $50 = HEAP32[$2>>2]|0;
-  $51 = ((($50)) + 20|0);
-  $52 = HEAP32[$51>>2]|0;
-  $53 = $6;
-  $54 = (($52) + ($53<<3)|0);
-  ;HEAP32[$8>>2]=HEAP32[$54>>2]|0;HEAP32[$8+4>>2]=HEAP32[$54+4>>2]|0;
-  $55 = ((($8)) + 4|0);
-  $56 = HEAP32[$55>>2]|0;
-  L17: do {
-   switch ($56|0) {
-   case 14:  {
-    label = 13;
-    break;
-   }
-   case 16:  {
-    break;
-   }
-   default: {
-    $61 = $5;
-    ;HEAP32[$$byval_copy11>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$8+4>>2]|0;
-    _mrb_check_string_type($14,$61,$$byval_copy11);
-    ;HEAP32[$9>>2]=HEAP32[$14>>2]|0;HEAP32[$9+4>>2]=HEAP32[$14+4>>2]|0;
-    $62 = ((($9)) + 4|0);
-    $63 = HEAP32[$62>>2]|0;
-    $64 = ($63|0)==(0);
-    if ($64) {
-     $65 = HEAP32[$9>>2]|0;
-     $66 = ($65|0)!=(0);
-     if (!($66)) {
-      $67 = $5;
-      ;HEAP32[$$byval_copy12>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$8+4>>2]|0;
-      _mrb_check_convert_type($15,$67,$$byval_copy12,14,65311,65317);
-      ;HEAP32[$9>>2]=HEAP32[$15>>2]|0;HEAP32[$9+4>>2]=HEAP32[$15+4>>2]|0;
-      $68 = ((($9)) + 4|0);
-      $69 = HEAP32[$68>>2]|0;
-      $70 = ($69|0)==(0);
-      if ($70) {
-       $71 = HEAP32[$9>>2]|0;
-       $72 = ($71|0)!=(0);
-       if (!($72)) {
-        $73 = $5;
-        ;HEAP32[$$byval_copy13>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$8+4>>2]|0;
-        _mrb_obj_as_string($16,$73,$$byval_copy13);
-        ;HEAP32[$8>>2]=HEAP32[$16>>2]|0;HEAP32[$8+4>>2]=HEAP32[$16+4>>2]|0;
-        break L17;
-       }
-      }
-      ;HEAP32[$8>>2]=HEAP32[$9>>2]|0;HEAP32[$8+4>>2]=HEAP32[$9+4>>2]|0;
-      label = 13;
-      break L17;
-     }
-    }
-    ;HEAP32[$8>>2]=HEAP32[$9>>2]|0;HEAP32[$8+4>>2]=HEAP32[$9+4>>2]|0;
-   }
-   }
-  } while(0);
-  if ((label|0) == 13) {
-   label = 0;
-   $57 = $5;
-   ;HEAP32[$$byval_copy6>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$8+4>>2]|0;
-   ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0;
-   ;HEAP32[$$byval_copy8>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$4+4>>2]|0;
-   _join_ary($12,$57,$$byval_copy6,$$byval_copy7,$$byval_copy8);
-   ;HEAP32[$8>>2]=HEAP32[$12>>2]|0;HEAP32[$8+4>>2]=HEAP32[$12+4>>2]|0;
-  }
-  $58 = $5;
-  ;HEAP32[$$byval_copy9>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$7+4>>2]|0;
-  ;HEAP32[$$byval_copy10>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$8+4>>2]|0;
-  _mrb_str_cat_str($13,$58,$$byval_copy9,$$byval_copy10);
-  $59 = $6;
-  $60 = (($59) + 1)|0;
-  $6 = $60;
- }
- $74 = $5;
- ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_ary_pop($17,$74,$$byval_copy14);
- ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_init_array($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = $1;
- $5 = ((($4)) + 32|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (_mrb_define_class($3,65311,$6)|0);
- $2 = $7;
- $8 = $1;
- $9 = ((($8)) + 52|0);
- HEAP32[$9>>2] = $7;
- $10 = $2;
- $11 = HEAP32[$10>>2]|0;
- $12 = $11 >>> 11;
- $13 = $12 & -256;
- $14 = $13 | 14;
- $15 = $2;
- $16 = HEAP32[$15>>2]|0;
- $17 = $14 & 2097151;
- $18 = $17 << 11;
- $19 = $16 & 2047;
- $20 = $19 | $18;
- HEAP32[$15>>2] = $20;
- $21 = $1;
- $22 = $2;
- _mrb_define_class_method($21,$22,69083,208,4096);
- $23 = $1;
- $24 = $2;
- _mrb_define_method($23,$24,64614,209,262144);
- $25 = $1;
- $26 = $2;
- _mrb_define_method($25,$26,68856,210,262144);
- $27 = $1;
- $28 = $2;
- _mrb_define_method($27,$28,64616,211,262144);
- $29 = $1;
- $30 = $2;
- _mrb_define_method($29,$30,69083,212,4096);
- $31 = $1;
- $32 = $2;
- _mrb_define_method($31,$32,64619,213,4096);
- $33 = $1;
- $34 = $2;
- _mrb_define_method($33,$34,64623,214,0);
- $35 = $1;
- $36 = $2;
- _mrb_define_method($35,$36,64629,215,262144);
- $37 = $1;
- $38 = $2;
- _mrb_define_method($37,$38,64636,216,262144);
- $39 = $1;
- $40 = $2;
- _mrb_define_method($39,$40,64646,217,0);
- $41 = $1;
- $42 = $2;
- _mrb_define_method($41,$42,69237,218,8192);
- $43 = $1;
- $44 = $2;
- _mrb_define_method($43,$44,64653,219,262144);
- $45 = $1;
- $46 = $2;
- _mrb_define_method($45,$46,69294,220,262144);
- $47 = $1;
- $48 = $2;
- _mrb_define_method($47,$48,64659,221,4096);
- $49 = $1;
- $50 = $2;
- _mrb_define_method($49,$50,69263,222,4096);
- $51 = $1;
- $52 = $2;
- _mrb_define_method($51,$52,64664,223,0);
- $53 = $1;
- $54 = $2;
- _mrb_define_method($53,$54,64671,224,0);
- $55 = $1;
- $56 = $2;
- _mrb_define_method($55,$56,64675,211,4096);
- $57 = $1;
- $58 = $2;
- _mrb_define_method($57,$58,64680,220,262144);
- $59 = $1;
- $60 = $2;
- _mrb_define_method($59,$60,64688,225,0);
- $61 = $1;
- $62 = $2;
- _mrb_define_method($61,$62,64696,226,0);
- $63 = $1;
- $64 = $2;
- _mrb_define_method($63,$64,64705,227,262144);
- $65 = $1;
- $66 = $2;
- _mrb_define_method($65,$66,64712,228,0);
- $67 = $1;
- $68 = $2;
- _mrb_define_method($67,$68,64718,223,0);
- $69 = $1;
- $70 = $2;
- _mrb_define_method($69,$70,64723,212,4096);
- $71 = $1;
- $72 = $2;
- _mrb_define_method($71,$72,64729,229,4096);
- $73 = $1;
- $74 = $2;
- _mrb_define_method($73,$74,64737,230,262144);
- $75 = $1;
- $76 = $2;
- _mrb_define_method($75,$76,64746,231,262144);
- $77 = $1;
- $78 = $2;
- _mrb_define_method($77,$78,64756,219,262144);
- STACKTOP = sp;return;
-}
-function _mrb_ary_s_create($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 12|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($6,68856,$vararg_buffer)|0);
- $7 = $3;
- $8 = HEAP32[$5>>2]|0;
- $9 = HEAP32[$4>>2]|0;
- _mrb_ary_new_from_values($0,$7,$8,$9);
- STACKTOP = sp;return;
-}
-function _mrb_ary_plus($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $6 = sp + 12|0;
- $7 = sp + 8|0;
- $3 = $1;
- $8 = HEAP32[$2>>2]|0;
- $4 = $8;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $6;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $7;
- (_mrb_get_args($9,64799,$vararg_buffer)|0);
- $10 = HEAP32[$7>>2]|0;
- $11 = (536870911 - ($10))|0;
- $12 = $4;
- $13 = ((($12)) + 12|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ($11|0)<($14|0);
- $16 = $3;
- if ($15) {
-  $17 = $3;
-  $18 = (_mrb_class_get($17,69160)|0);
-  _mrb_raise($16,$18,64504);
-  // unreachable;
- } else {
-  $19 = $4;
-  $20 = ((($19)) + 12|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = HEAP32[$7>>2]|0;
-  $23 = (($21) + ($22))|0;
-  $24 = (_ary_new_capa($16,$23)|0);
-  $5 = $24;
-  $25 = $5;
-  $26 = ((($25)) + 20|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = $4;
-  $29 = ((($28)) + 20|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = $4;
-  $32 = ((($31)) + 12|0);
-  $33 = HEAP32[$32>>2]|0;
-  _array_copy($27,$30,$33);
-  $34 = $5;
-  $35 = ((($34)) + 20|0);
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $4;
-  $38 = ((($37)) + 12|0);
-  $39 = HEAP32[$38>>2]|0;
-  $40 = (($36) + ($39<<3)|0);
-  $41 = HEAP32[$6>>2]|0;
-  $42 = HEAP32[$7>>2]|0;
-  _array_copy($40,$41,$42);
-  $43 = $4;
-  $44 = ((($43)) + 12|0);
-  $45 = HEAP32[$44>>2]|0;
-  $46 = HEAP32[$7>>2]|0;
-  $47 = (($45) + ($46))|0;
-  $48 = $5;
-  $49 = ((($48)) + 12|0);
-  HEAP32[$49>>2] = $47;
-  $50 = $5;
-  _mrb_obj_value_549($0,$50);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_ary_times($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $7 = sp + 4|0;
- $3 = $1;
- $8 = HEAP32[$2>>2]|0;
- $4 = $8;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $7;
- (_mrb_get_args($9,64797,$vararg_buffer)|0);
- $10 = HEAP32[$7>>2]|0;
- $11 = ($10|0)<(0);
- if ($11) {
-  $12 = $3;
-  $13 = $3;
-  $14 = (_mrb_class_get($13,69160)|0);
-  _mrb_raise($12,$14,64813);
-  // unreachable;
- }
- $15 = HEAP32[$7>>2]|0;
- $16 = ($15|0)==(0);
- if ($16) {
-  $17 = $3;
-  _mrb_ary_new($0,$17);
-  STACKTOP = sp;return;
- }
- $18 = HEAP32[$7>>2]|0;
- $19 = (536870911 / ($18|0))&-1;
- $20 = $4;
- $21 = ((($20)) + 12|0);
- $22 = HEAP32[$21>>2]|0;
- $23 = ($19|0)<($22|0);
- $24 = $3;
- if ($23) {
-  $25 = $3;
-  $26 = (_mrb_class_get($25,69160)|0);
-  _mrb_raise($24,$26,64504);
-  // unreachable;
- }
- $27 = $4;
- $28 = ((($27)) + 12|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = HEAP32[$7>>2]|0;
- $31 = Math_imul($29, $30)|0;
- $32 = (_ary_new_capa($24,$31)|0);
- $5 = $32;
- $33 = $5;
- $34 = ((($33)) + 20|0);
- $35 = HEAP32[$34>>2]|0;
- $6 = $35;
- while(1) {
-  $36 = HEAP32[$7>>2]|0;
-  $37 = (($36) + -1)|0;
-  HEAP32[$7>>2] = $37;
-  $38 = ($36|0)!=(0);
-  if (!($38)) {
-   break;
-  }
-  $39 = $6;
-  $40 = $4;
-  $41 = ((($40)) + 20|0);
-  $42 = HEAP32[$41>>2]|0;
-  $43 = $4;
-  $44 = ((($43)) + 12|0);
-  $45 = HEAP32[$44>>2]|0;
-  _array_copy($39,$42,$45);
-  $46 = $4;
-  $47 = ((($46)) + 12|0);
-  $48 = HEAP32[$47>>2]|0;
-  $49 = $6;
-  $50 = (($49) + ($48<<3)|0);
-  $6 = $50;
-  $51 = $4;
-  $52 = ((($51)) + 12|0);
-  $53 = HEAP32[$52>>2]|0;
-  $54 = $5;
-  $55 = ((($54)) + 12|0);
-  $56 = HEAP32[$55>>2]|0;
-  $57 = (($56) + ($53))|0;
-  HEAP32[$55>>2] = $57;
- }
- $58 = $5;
- _mrb_obj_value_549($0,$58);
- STACKTOP = sp;return;
-}
-function _mrb_ary_push_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 12|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($6,68856,$vararg_buffer)|0);
- while(1) {
-  $7 = HEAP32[$5>>2]|0;
-  $8 = (($7) + -1)|0;
-  HEAP32[$5>>2] = $8;
-  $9 = ($7|0)!=(0);
-  if (!($9)) {
-   break;
-  }
-  $10 = $3;
-  $11 = HEAP32[$4>>2]|0;
-  $12 = ((($11)) + 8|0);
-  HEAP32[$4>>2] = $12;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$11+4>>2]|0;
-  _mrb_ary_push($10,$$byval_copy,$$byval_copy2);
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_aget($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
- var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
- var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
- var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy5 = sp + 64|0;
- $$byval_copy4 = sp + 56|0;
- $$byval_copy3 = sp + 48|0;
- $$byval_copy2 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $5 = sp + 20|0;
- $6 = sp + 16|0;
- $7 = sp + 8|0;
- $3 = $1;
- $8 = HEAP32[$2>>2]|0;
- $4 = $8;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $7;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $6;
- $10 = (_mrb_get_args($9,64809,$vararg_buffer)|0);
- $11 = ($10|0)==(1);
- if ($11) {
-  $12 = ((($7)) + 4|0);
-  $13 = HEAP32[$12>>2]|0;
-  switch ($13|0) {
-  case 17:  {
-   $14 = $3;
-   $15 = $4;
-   $16 = ((($15)) + 12|0);
-   $17 = HEAP32[$16>>2]|0;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
-   $18 = (_mrb_range_beg_len($14,$$byval_copy,$5,$6,$17)|0);
-   $19 = ($18<<24>>24)!=(0);
-   if ($19) {
-    $20 = $3;
-    $21 = $4;
-    $22 = HEAP32[$5>>2]|0;
-    $23 = HEAP32[$6>>2]|0;
-    _ary_subseq($0,$20,$21,$22,$23);
-    STACKTOP = sp;return;
-   } else {
-    _mrb_nil_value_562($0);
-    STACKTOP = sp;return;
-   }
-   break;
-  }
-  case 3:  {
-   $24 = $3;
-   $25 = HEAP32[$7>>2]|0;
-   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-   _mrb_ary_ref($0,$24,$$byval_copy2,$25);
-   STACKTOP = sp;return;
-   break;
-  }
-  default: {
-   $26 = $3;
-   $27 = $3;
-   ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
-   $28 = (_aget_index($27,$$byval_copy3)|0);
-   ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
-   _mrb_ary_ref($0,$26,$$byval_copy4,$28);
-   STACKTOP = sp;return;
-  }
-  }
- }
- $29 = $3;
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;
- $30 = (_aget_index($29,$$byval_copy5)|0);
- HEAP32[$5>>2] = $30;
- $31 = HEAP32[$5>>2]|0;
- $32 = ($31|0)<(0);
- if ($32) {
-  $33 = $4;
-  $34 = ((($33)) + 12|0);
-  $35 = HEAP32[$34>>2]|0;
-  $36 = HEAP32[$5>>2]|0;
-  $37 = (($36) + ($35))|0;
-  HEAP32[$5>>2] = $37;
- }
- $38 = HEAP32[$5>>2]|0;
- $39 = ($38|0)<(0);
- if (!($39)) {
-  $40 = $4;
-  $41 = ((($40)) + 12|0);
-  $42 = HEAP32[$41>>2]|0;
-  $43 = HEAP32[$5>>2]|0;
-  $44 = ($42|0)<($43|0);
-  if (!($44)) {
-   $45 = HEAP32[$6>>2]|0;
-   $46 = ($45|0)<(0);
-   if ($46) {
-    _mrb_nil_value_562($0);
-    STACKTOP = sp;return;
-   }
-   $47 = $4;
-   $48 = ((($47)) + 12|0);
-   $49 = HEAP32[$48>>2]|0;
-   $50 = HEAP32[$5>>2]|0;
-   $51 = ($49|0)==($50|0);
-   if ($51) {
-    $52 = $3;
-    _mrb_ary_new($0,$52);
-    STACKTOP = sp;return;
-   }
-   $53 = HEAP32[$6>>2]|0;
-   $54 = $4;
-   $55 = ((($54)) + 12|0);
-   $56 = HEAP32[$55>>2]|0;
-   $57 = HEAP32[$5>>2]|0;
-   $58 = (($56) - ($57))|0;
-   $59 = ($53|0)>($58|0);
-   if ($59) {
-    $60 = $4;
-    $61 = ((($60)) + 12|0);
-    $62 = HEAP32[$61>>2]|0;
-    $63 = HEAP32[$5>>2]|0;
-    $64 = (($62) - ($63))|0;
-    HEAP32[$6>>2] = $64;
-   }
-   $65 = $3;
-   $66 = $4;
-   $67 = HEAP32[$5>>2]|0;
-   $68 = HEAP32[$6>>2]|0;
-   _ary_subseq($0,$65,$66,$67,$68);
-   STACKTOP = sp;return;
-  }
- }
- _mrb_nil_value_562($0);
- STACKTOP = sp;return;
-}
-function _mrb_ary_aset($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
- var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 176|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(176|0);
- $$byval_copy13 = sp + 160|0;
- $$byval_copy12 = sp + 152|0;
- $$byval_copy11 = sp + 144|0;
- $$byval_copy10 = sp + 136|0;
- $$byval_copy9 = sp + 128|0;
- $$byval_copy8 = sp + 120|0;
- $$byval_copy7 = sp + 112|0;
- $$byval_copy6 = sp + 104|0;
- $$byval_copy5 = sp + 96|0;
- $$byval_copy4 = sp + 88|0;
- $$byval_copy3 = sp + 80|0;
- $$byval_copy = sp + 72|0;
- $vararg_buffer = sp;
- $4 = sp + 56|0;
- $5 = sp + 48|0;
- $6 = sp + 40|0;
- $7 = sp + 36|0;
- $8 = sp + 32|0;
- $9 = sp + 24|0;
- $10 = sp + 16|0;
- $3 = $1;
- $11 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- HEAP32[$vararg_ptr2>>2] = $6;
- $12 = (_mrb_get_args($11,64801,$vararg_buffer)|0);
- $13 = ($12|0)==(2);
- if (!($13)) {
-  $30 = $3;
-  $31 = $3;
-  ;HEAP32[$$byval_copy10>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$4+4>>2]|0;
-  $32 = (_aget_index($31,$$byval_copy10)|0);
-  $33 = $3;
-  ;HEAP32[$$byval_copy11>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$5+4>>2]|0;
-  $34 = (_aget_index($33,$$byval_copy11)|0);
-  ;HEAP32[$$byval_copy12>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$2+4>>2]|0;
-  ;HEAP32[$$byval_copy13>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$6+4>>2]|0;
-  _mrb_ary_splice($10,$30,$$byval_copy12,$32,$34,$$byval_copy13);
-  ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $14 = ((($4)) + 4|0);
- $15 = HEAP32[$14>>2]|0;
- switch ($15|0) {
- case 17:  {
-  $16 = $3;
-  $17 = HEAP32[$2>>2]|0;
-  $18 = ((($17)) + 12|0);
-  $19 = HEAP32[$18>>2]|0;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-  $20 = (_mrb_range_beg_len($16,$$byval_copy,$7,$8,$19)|0);
-  $21 = ($20<<24>>24)!=(0);
-  if ($21) {
-   $22 = $3;
-   $23 = HEAP32[$7>>2]|0;
-   $24 = HEAP32[$8>>2]|0;
-   ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
-   ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
-   _mrb_ary_splice($9,$22,$$byval_copy3,$23,$24,$$byval_copy4);
-  }
-  break;
- }
- case 3:  {
-  $25 = $3;
-  $26 = HEAP32[$4>>2]|0;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$5+4>>2]|0;
-  _mrb_ary_set($25,$$byval_copy5,$26,$$byval_copy6);
-  break;
- }
- default: {
-  $27 = $3;
-  $28 = $3;
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$4+4>>2]|0;
-  $29 = (_aget_index($28,$$byval_copy7)|0);
-  ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
-  ;HEAP32[$$byval_copy9>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$5+4>>2]|0;
-  _mrb_ary_set($27,$$byval_copy8,$29,$$byval_copy9);
- }
- }
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_concat_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 12|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($6,64799,$vararg_buffer)|0);
- $7 = $3;
- $8 = HEAP32[$2>>2]|0;
- $9 = HEAP32[$4>>2]|0;
- $10 = HEAP32[$5>>2]|0;
- _ary_concat($7,$8,$9,$10);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_delete_at($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer = sp;
- $5 = sp + 24|0;
- $6 = sp + 16|0;
- $3 = $1;
- $9 = HEAP32[$2>>2]|0;
- $4 = $9;
- $10 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- (_mrb_get_args($10,64797,$vararg_buffer)|0);
- $11 = HEAP32[$5>>2]|0;
- $12 = ($11|0)<(0);
- if ($12) {
-  $13 = $4;
-  $14 = ((($13)) + 12|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = HEAP32[$5>>2]|0;
-  $17 = (($16) + ($15))|0;
-  HEAP32[$5>>2] = $17;
- }
- $18 = HEAP32[$5>>2]|0;
- $19 = ($18|0)<(0);
- if (!($19)) {
-  $20 = $4;
-  $21 = ((($20)) + 12|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = HEAP32[$5>>2]|0;
-  $24 = ($22|0)<=($23|0);
-  if (!($24)) {
-   $25 = $3;
-   $26 = $4;
-   _ary_modify($25,$26);
-   $27 = $4;
-   $28 = ((($27)) + 20|0);
-   $29 = HEAP32[$28>>2]|0;
-   $30 = HEAP32[$5>>2]|0;
-   $31 = (($29) + ($30<<3)|0);
-   ;HEAP32[$6>>2]=HEAP32[$31>>2]|0;HEAP32[$6+4>>2]=HEAP32[$31+4>>2]|0;
-   $32 = $4;
-   $33 = ((($32)) + 20|0);
-   $34 = HEAP32[$33>>2]|0;
-   $35 = HEAP32[$5>>2]|0;
-   $36 = (($34) + ($35<<3)|0);
-   $7 = $36;
-   $37 = $4;
-   $38 = ((($37)) + 12|0);
-   $39 = HEAP32[$38>>2]|0;
-   $40 = HEAP32[$5>>2]|0;
-   $41 = (($39) - ($40))|0;
-   $8 = $41;
-   while(1) {
-    $42 = $8;
-    $43 = (($42) + -1)|0;
-    $8 = $43;
-    $44 = ($43|0)!=(0);
-    if (!($44)) {
-     break;
-    }
-    $45 = $7;
-    $46 = $7;
-    $47 = ((($46)) + 8|0);
-    ;HEAP32[$45>>2]=HEAP32[$47>>2]|0;HEAP32[$45+4>>2]=HEAP32[$47+4>>2]|0;
-    $48 = $7;
-    $49 = ((($48)) + 8|0);
-    $7 = $49;
-   }
-   $50 = $4;
-   $51 = ((($50)) + 12|0);
-   $52 = HEAP32[$51>>2]|0;
-   $53 = (($52) + -1)|0;
-   HEAP32[$51>>2] = $53;
-   $54 = $3;
-   $55 = $4;
-   _ary_shrink_capa($54,$55);
-   ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- _mrb_nil_value_562($0);
- STACKTOP = sp;return;
-}
-function _mrb_ary_empty_p($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)==(0);
- $10 = $9&1;
- $11 = $10&255;
- _mrb_bool_value_624($0,$11);
- STACKTOP = sp;return;
-}
-function _mrb_ary_first($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $5 = sp + 4|0;
- $3 = $1;
- $6 = HEAP32[$2>>2]|0;
- $4 = $6;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $8 = (_mrb_get_args($7,64768,$vararg_buffer)|0);
- $9 = ($8|0)==(0);
- if ($9) {
-  $10 = $4;
-  $11 = ((($10)) + 12|0);
-  $12 = HEAP32[$11>>2]|0;
-  $13 = ($12|0)>(0);
-  if ($13) {
-   $14 = $4;
-   $15 = ((($14)) + 20|0);
-   $16 = HEAP32[$15>>2]|0;
-   ;HEAP32[$0>>2]=HEAP32[$16>>2]|0;HEAP32[$0+4>>2]=HEAP32[$16+4>>2]|0;
-   STACKTOP = sp;return;
-  } else {
-   _mrb_nil_value_562($0);
-   STACKTOP = sp;return;
-  }
- }
- $17 = HEAP32[$5>>2]|0;
- $18 = ($17|0)<(0);
- if ($18) {
-  $19 = $3;
-  $20 = $3;
-  $21 = (_mrb_class_get($20,69160)|0);
-  _mrb_raise($19,$21,64771);
-  // unreachable;
- }
- $22 = HEAP32[$5>>2]|0;
- $23 = $4;
- $24 = ((($23)) + 12|0);
- $25 = HEAP32[$24>>2]|0;
- $26 = ($22|0)>($25|0);
- if ($26) {
-  $27 = $4;
-  $28 = ((($27)) + 12|0);
-  $29 = HEAP32[$28>>2]|0;
-  HEAP32[$5>>2] = $29;
- }
- $30 = $4;
- $31 = HEAP32[$30>>2]|0;
- $32 = $31 >>> 11;
- $33 = $32 & 256;
- $34 = ($33|0)!=(0);
- $35 = $3;
- if ($34) {
-  $36 = $4;
-  $37 = HEAP32[$5>>2]|0;
-  _ary_subseq($0,$35,$36,0,$37);
-  STACKTOP = sp;return;
- } else {
-  $38 = HEAP32[$5>>2]|0;
-  $39 = $4;
-  $40 = ((($39)) + 20|0);
-  $41 = HEAP32[$40>>2]|0;
-  _mrb_ary_new_from_values($0,$35,$38,$41);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_ary_index_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,69199,$vararg_buffer)|0);
- $5 = 0;
- while(1) {
-  $7 = $5;
-  $8 = HEAP32[$2>>2]|0;
-  $9 = ((($8)) + 12|0);
-  $10 = HEAP32[$9>>2]|0;
-  $11 = ($7|0)<($10|0);
-  if (!($11)) {
-   label = 6;
-   break;
-  }
-  $12 = $3;
-  $13 = HEAP32[$2>>2]|0;
-  $14 = ((($13)) + 20|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = $5;
-  $17 = (($15) + ($16<<3)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$17+4>>2]|0;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
-  $18 = (_mrb_equal($12,$$byval_copy,$$byval_copy1)|0);
-  $19 = ($18<<24>>24)!=(0);
-  $20 = $5;
-  if ($19) {
-   label = 4;
-   break;
-  }
-  $21 = (($20) + 1)|0;
-  $5 = $21;
- }
- if ((label|0) == 4) {
-  _mrb_fixnum_value_579($0,$20);
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 6) {
-  _mrb_nil_value_562($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_ary_replace_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,64795,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_ary_replace($6,$$byval_copy,$$byval_copy1);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_join_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- _mrb_nil_value_562($4);
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,64791,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_ary_join($0,$6,$$byval_copy,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _mrb_ary_last($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $5 = sp + 4|0;
- $3 = $1;
- $6 = HEAP32[$2>>2]|0;
- $4 = $6;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $8 = (_mrb_get_args($7,64768,$vararg_buffer)|0);
- $9 = ($8|0)==(0);
- if ($9) {
-  $10 = $4;
-  $11 = ((($10)) + 12|0);
-  $12 = HEAP32[$11>>2]|0;
-  $13 = ($12|0)>(0);
-  if ($13) {
-   $14 = $4;
-   $15 = ((($14)) + 20|0);
-   $16 = HEAP32[$15>>2]|0;
-   $17 = $4;
-   $18 = ((($17)) + 12|0);
-   $19 = HEAP32[$18>>2]|0;
-   $20 = (($19) - 1)|0;
-   $21 = (($16) + ($20<<3)|0);
-   ;HEAP32[$0>>2]=HEAP32[$21>>2]|0;HEAP32[$0+4>>2]=HEAP32[$21+4>>2]|0;
-   STACKTOP = sp;return;
-  } else {
-   _mrb_nil_value_562($0);
-   STACKTOP = sp;return;
-  }
- }
- $22 = HEAP32[$5>>2]|0;
- $23 = ($22|0)<(0);
- if ($23) {
-  $24 = $3;
-  $25 = $3;
-  $26 = (_mrb_class_get($25,69160)|0);
-  _mrb_raise($24,$26,64771);
-  // unreachable;
- }
- $27 = HEAP32[$5>>2]|0;
- $28 = $4;
- $29 = ((($28)) + 12|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = ($27|0)>($30|0);
- if ($31) {
-  $32 = $4;
-  $33 = ((($32)) + 12|0);
-  $34 = HEAP32[$33>>2]|0;
-  HEAP32[$5>>2] = $34;
- }
- $35 = $4;
- $36 = HEAP32[$35>>2]|0;
- $37 = $36 >>> 11;
- $38 = $37 & 256;
- $39 = ($38|0)!=(0);
- $40 = HEAP32[$5>>2]|0;
- $41 = ($40|0)>(4);
- $or$cond = $39 | $41;
- $42 = $3;
- if ($or$cond) {
-  $43 = $4;
-  $44 = $4;
-  $45 = ((($44)) + 12|0);
-  $46 = HEAP32[$45>>2]|0;
-  $47 = HEAP32[$5>>2]|0;
-  $48 = (($46) - ($47))|0;
-  $49 = HEAP32[$5>>2]|0;
-  _ary_subseq($0,$42,$43,$48,$49);
-  STACKTOP = sp;return;
- } else {
-  $50 = HEAP32[$5>>2]|0;
-  $51 = $4;
-  $52 = ((($51)) + 20|0);
-  $53 = HEAP32[$52>>2]|0;
-  $54 = $4;
-  $55 = ((($54)) + 12|0);
-  $56 = HEAP32[$55>>2]|0;
-  $57 = (($53) + ($56<<3)|0);
-  $58 = HEAP32[$5>>2]|0;
-  $59 = (0 - ($58))|0;
-  $60 = (($57) + ($59<<3)|0);
-  _mrb_ary_new_from_values($0,$42,$50,$60);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_ary_size($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- _mrb_fixnum_value_579($0,$8);
- STACKTOP = sp;return;
-}
-function _mrb_ary_reverse($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $1;
- $9 = HEAP32[$2>>2]|0;
- $4 = $9;
- $10 = $3;
- $11 = $4;
- $12 = ((($11)) + 12|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = (_ary_new_capa($10,$13)|0);
- $5 = $14;
- $15 = $4;
- $16 = ((($15)) + 12|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17|0)>(0);
- if (!($18)) {
-  $47 = $5;
-  _mrb_obj_value_549($0,$47);
-  STACKTOP = sp;return;
- }
- $19 = $4;
- $20 = ((($19)) + 20|0);
- $21 = HEAP32[$20>>2]|0;
- $6 = $21;
- $22 = $6;
- $23 = $4;
- $24 = ((($23)) + 12|0);
- $25 = HEAP32[$24>>2]|0;
- $26 = (($22) + ($25<<3)|0);
- $8 = $26;
- $27 = $5;
- $28 = ((($27)) + 20|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = $4;
- $31 = ((($30)) + 12|0);
- $32 = HEAP32[$31>>2]|0;
- $33 = (($29) + ($32<<3)|0);
- $34 = ((($33)) + -8|0);
- $7 = $34;
- while(1) {
-  $35 = $6;
-  $36 = $8;
-  $37 = ($35>>>0)<($36>>>0);
-  if (!($37)) {
-   break;
-  }
-  $38 = $7;
-  $39 = ((($38)) + -8|0);
-  $7 = $39;
-  $40 = $6;
-  $41 = ((($40)) + 8|0);
-  $6 = $41;
-  ;HEAP32[$38>>2]=HEAP32[$40>>2]|0;HEAP32[$38+4>>2]=HEAP32[$40+4>>2]|0;
- }
- $42 = $4;
- $43 = ((($42)) + 12|0);
- $44 = HEAP32[$43>>2]|0;
- $45 = $5;
- $46 = ((($45)) + 12|0);
- HEAP32[$46>>2] = $44;
- $47 = $5;
- _mrb_obj_value_549($0,$47);
- STACKTOP = sp;return;
-}
-function _mrb_ary_reverse_bang($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $7 = sp;
- $3 = $1;
- $8 = HEAP32[$2>>2]|0;
- $4 = $8;
- $9 = $4;
- $10 = ((($9)) + 12|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)>(1);
- if (!($12)) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $13 = $3;
- $14 = $4;
- _ary_modify($13,$14);
- $15 = $4;
- $16 = ((($15)) + 20|0);
- $17 = HEAP32[$16>>2]|0;
- $5 = $17;
- $18 = $4;
- $19 = ((($18)) + 20|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = $4;
- $22 = ((($21)) + 12|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = (($20) + ($23<<3)|0);
- $25 = ((($24)) + -8|0);
- $6 = $25;
- while(1) {
-  $26 = $5;
-  $27 = $6;
-  $28 = ($26>>>0)<($27>>>0);
-  if (!($28)) {
-   break;
-  }
-  $29 = $5;
-  ;HEAP32[$7>>2]=HEAP32[$29>>2]|0;HEAP32[$7+4>>2]=HEAP32[$29+4>>2]|0;
-  $30 = $5;
-  $31 = ((($30)) + 8|0);
-  $5 = $31;
-  $32 = $6;
-  ;HEAP32[$30>>2]=HEAP32[$32>>2]|0;HEAP32[$30+4>>2]=HEAP32[$32+4>>2]|0;
-  $33 = $6;
-  $34 = ((($33)) + -8|0);
-  $6 = $34;
-  ;HEAP32[$33>>2]=HEAP32[$7>>2]|0;HEAP32[$33+4>>2]=HEAP32[$7+4>>2]|0;
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_rindex_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,69199,$vararg_buffer)|0);
- $7 = HEAP32[$2>>2]|0;
- $8 = ((($7)) + 12|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = (($9) - 1)|0;
- $5 = $10;
- while(1) {
-  $11 = $5;
-  $12 = ($11|0)>=(0);
-  if (!($12)) {
-   label = 6;
-   break;
-  }
-  $13 = $3;
-  $14 = HEAP32[$2>>2]|0;
-  $15 = ((($14)) + 20|0);
-  $16 = HEAP32[$15>>2]|0;
-  $17 = $5;
-  $18 = (($16) + ($17<<3)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$18+4>>2]|0;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
-  $19 = (_mrb_equal($13,$$byval_copy,$$byval_copy1)|0);
-  $20 = ($19<<24>>24)!=(0);
-  $21 = $5;
-  if ($20) {
-   label = 4;
-   break;
-  }
-  $22 = (($21) + -1)|0;
-  $5 = $22;
- }
- if ((label|0) == 4) {
-  _mrb_fixnum_value_579($0,$21);
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 6) {
-  _mrb_nil_value_562($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_ary_unshift_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
- var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $5 = sp + 12|0;
- $6 = sp + 8|0;
- $3 = $1;
- $7 = HEAP32[$2>>2]|0;
- $4 = $7;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $6;
- (_mrb_get_args($8,68856,$vararg_buffer)|0);
- $9 = $4;
- $10 = HEAP32[$9>>2]|0;
- $11 = $10 >>> 11;
- $12 = $11 & 256;
- $13 = ($12|0)!=(0);
- if ($13) {
-  $14 = $4;
-  $15 = ((($14)) + 16|0);
-  $16 = HEAP32[$15>>2]|0;
-  $17 = HEAP32[$16>>2]|0;
-  $18 = ($17|0)==(1);
-  if ($18) {
-   $19 = $4;
-   $20 = ((($19)) + 20|0);
-   $21 = HEAP32[$20>>2]|0;
-   $22 = $4;
-   $23 = ((($22)) + 16|0);
-   $24 = HEAP32[$23>>2]|0;
-   $25 = ((($24)) + 8|0);
-   $26 = HEAP32[$25>>2]|0;
-   $27 = $21;
-   $28 = $26;
-   $29 = (($27) - ($28))|0;
-   $30 = (($29|0) / 8)&-1;
-   $31 = HEAP32[$6>>2]|0;
-   $32 = ($30|0)>=($31|0);
-   if ($32) {
-    $33 = HEAP32[$6>>2]|0;
-    $34 = $4;
-    $35 = ((($34)) + 20|0);
-    $36 = HEAP32[$35>>2]|0;
-    $37 = (0 - ($33))|0;
-    $38 = (($36) + ($37<<3)|0);
-    HEAP32[$35>>2] = $38;
-   } else {
-    label = 5;
-   }
-  } else {
-   label = 5;
-  }
- } else {
-  label = 5;
- }
- if ((label|0) == 5) {
-  $39 = $3;
-  $40 = $4;
-  _ary_modify($39,$40);
-  $41 = HEAP32[$6>>2]|0;
-  $42 = ($41|0)==(0);
-  if ($42) {
-   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-   STACKTOP = sp;return;
-  }
-  $43 = $4;
-  $44 = ((($43)) + 16|0);
-  $45 = HEAP32[$44>>2]|0;
-  $46 = $4;
-  $47 = ((($46)) + 12|0);
-  $48 = HEAP32[$47>>2]|0;
-  $49 = HEAP32[$6>>2]|0;
-  $50 = (($48) + ($49))|0;
-  $51 = ($45|0)<($50|0);
-  if ($51) {
-   $52 = $3;
-   $53 = $4;
-   $54 = $4;
-   $55 = ((($54)) + 12|0);
-   $56 = HEAP32[$55>>2]|0;
-   $57 = HEAP32[$6>>2]|0;
-   $58 = (($56) + ($57))|0;
-   _ary_expand_capa($52,$53,$58);
-  }
-  $59 = $4;
-  $60 = ((($59)) + 20|0);
-  $61 = HEAP32[$60>>2]|0;
-  $62 = HEAP32[$6>>2]|0;
-  $63 = (($61) + ($62<<3)|0);
-  $64 = $4;
-  $65 = ((($64)) + 20|0);
-  $66 = HEAP32[$65>>2]|0;
-  $67 = $4;
-  $68 = ((($67)) + 12|0);
-  $69 = HEAP32[$68>>2]|0;
-  _value_move_573($63,$66,$69);
- }
- $70 = $4;
- $71 = ((($70)) + 20|0);
- $72 = HEAP32[$71>>2]|0;
- $73 = HEAP32[$5>>2]|0;
- $74 = HEAP32[$6>>2]|0;
- _array_copy($72,$73,$74);
- $75 = HEAP32[$6>>2]|0;
- $76 = $4;
- $77 = ((($76)) + 12|0);
- $78 = HEAP32[$77>>2]|0;
- $79 = (($78) + ($75))|0;
- HEAP32[$77>>2] = $79;
- while(1) {
-  $80 = HEAP32[$6>>2]|0;
-  $81 = (($80) + -1)|0;
-  HEAP32[$6>>2] = $81;
-  $82 = ($80|0)!=(0);
-  if (!($82)) {
-   break;
-  }
-  $83 = HEAP32[$5>>2]|0;
-  $84 = HEAP32[$6>>2]|0;
-  $85 = (($83) + ($84<<3)|0);
-  $86 = ((($85)) + 4|0);
-  $87 = HEAP32[$86>>2]|0;
-  $88 = ($87>>>0)<(8);
-  if ($88) {
-   continue;
-  }
-  $89 = $3;
-  $90 = $4;
-  $91 = HEAP32[$5>>2]|0;
-  $92 = HEAP32[$6>>2]|0;
-  $93 = (($91) + ($92<<3)|0);
-  $94 = HEAP32[$93>>2]|0;
-  _mrb_field_write_barrier($89,$90,$94);
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_ary_eq($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $7 = (_mrb_obj_equal($6,$$byval_copy,$$byval_copy1)|0);
- $8 = ($7<<24>>24)!=(0);
- if ($8) {
-  _mrb_true_value_618($0);
-  STACKTOP = sp;return;
- }
- $9 = ((($4)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(14);
- if (!($11)) {
-  _mrb_false_value_619($0);
-  STACKTOP = sp;return;
- }
- $12 = HEAP32[$2>>2]|0;
- $13 = ((($12)) + 12|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = HEAP32[$4>>2]|0;
- $16 = ((($15)) + 12|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($14|0)!=($17|0);
- if ($18) {
-  _mrb_false_value_619($0);
-  STACKTOP = sp;return;
- } else {
-  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_ary_cmp($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $7 = (_mrb_obj_equal($6,$$byval_copy,$$byval_copy1)|0);
- $8 = ($7<<24>>24)!=(0);
- if ($8) {
-  _mrb_fixnum_value_579($0,0);
-  STACKTOP = sp;return;
- }
- $9 = ((($4)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(14);
- if ($11) {
-  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  _mrb_nil_value_562($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_true_value_618($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 2;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_false_value_619($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _ary_subseq($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $10 = $5;
- $11 = $6;
- _ary_make_shared($10,$11);
- $12 = $5;
- $13 = $5;
- $14 = ((($13)) + 52|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = (_mrb_obj_alloc($12,14,$15)|0);
- $9 = $16;
- $17 = $6;
- $18 = ((($17)) + 20|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = $7;
- $21 = (($19) + ($20<<3)|0);
- $22 = $9;
- $23 = ((($22)) + 20|0);
- HEAP32[$23>>2] = $21;
- $24 = $8;
- $25 = $9;
- $26 = ((($25)) + 12|0);
- HEAP32[$26>>2] = $24;
- $27 = $6;
- $28 = ((($27)) + 16|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = $9;
- $31 = ((($30)) + 16|0);
- HEAP32[$31>>2] = $29;
- $32 = $9;
- $33 = ((($32)) + 16|0);
- $34 = HEAP32[$33>>2]|0;
- $35 = HEAP32[$34>>2]|0;
- $36 = (($35) + 1)|0;
- HEAP32[$34>>2] = $36;
- $37 = $9;
- $38 = HEAP32[$37>>2]|0;
- $39 = $38 >>> 11;
- $40 = $39 | 256;
- $41 = HEAP32[$37>>2]|0;
- $42 = $40 & 2097151;
- $43 = $42 << 11;
- $44 = $41 & 2047;
- $45 = $44 | $43;
- HEAP32[$37>>2] = $45;
- $46 = $9;
- _mrb_obj_value_549($0,$46);
- STACKTOP = sp;return;
-}
-function _mrb_bool_value_624($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- $7 = $6 ? 2 : 0;
- $8 = ((($3)) + 4|0);
- HEAP32[$8>>2] = $7;
- HEAP32[$3>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _aget_index($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 20|0;
- $5 = sp + 16|0;
- $6 = sp + 12|0;
- $3 = $0;
- $7 = ((($1)) + 4|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)==(3);
- if ($9) {
-  $10 = HEAP32[$1>>2]|0;
-  $2 = $10;
-  $18 = $2;
-  STACKTOP = sp;return ($18|0);
- }
- $11 = ((($1)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ($12|0)==(6);
- if ($13) {
-  $14 = +HEAPF32[$1>>2];
-  $15 = (~~(($14)));
-  $2 = $15;
-  $18 = $2;
-  STACKTOP = sp;return ($18|0);
- } else {
-  $16 = $3;
-  HEAP32[$vararg_buffer>>2] = $4;
-  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
-  HEAP32[$vararg_ptr1>>2] = $6;
-  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
-  HEAP32[$vararg_ptr2>>2] = $5;
-  (_mrb_get_args($16,64806,$vararg_buffer)|0);
-  $17 = HEAP32[$4>>2]|0;
-  $2 = $17;
-  $18 = $2;
-  STACKTOP = sp;return ($18|0);
- }
- return (0)|0;
-}
-function _mrb_obj_value_633($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _exc_output_backtrace($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $8 = sp + 24|0;
- $10 = sp + 8|0;
- $11 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $12 = $4;
- $13 = $5;
- $14 = $4;
- $15 = (_mrb_intern_static($14,68279,6)|0);
- _mrb_obj_iv_get($10,$12,$13,$15);
- ;HEAP32[$8>>2]=HEAP32[$10>>2]|0;HEAP32[$8+4>>2]=HEAP32[$10+4>>2]|0;
- $16 = ((($8)) + 4|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17|0)==(0);
- if ($18) {
-  $19 = HEAP32[$8>>2]|0;
-  $20 = ($19|0)!=(0);
-  if ($20) {
-   label = 4;
-  } else {
-   $9 = 0;
-  }
- } else {
-  label = 4;
- }
- if ((label|0) == 4) {
-  $21 = HEAP32[$8>>2]|0;
-  $9 = $21;
- }
- $22 = $4;
- $23 = $4;
- $24 = $5;
- $25 = $4;
- $26 = (_mrb_intern_static($25,67804,5)|0);
- _mrb_obj_iv_get($11,$23,$24,$26);
- $27 = HEAP32[$11>>2]|0;
- $28 = $9;
- $29 = $6;
- $30 = $7;
- _output_backtrace($22,$27,$28,$29,$30);
- STACKTOP = sp;return;
-}
-function _output_backtrace($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$sink = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
- var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
- var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0;
- var $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
- var $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
- var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
- var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0;
- var $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $11 = sp + 16|0;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $15 = $6;
- $16 = $5;
- $17 = ((($16)) + 12|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = ((($18)) + 24|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = $5;
- $22 = ((($21)) + 12|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = ((($23)) + 20|0);
- $25 = HEAP32[$24>>2]|0;
- $26 = $20;
- $27 = $25;
- $28 = (($26) - ($27))|0;
- $29 = (($28|0) / 48)&-1;
- $30 = ($15|0)>=($29|0);
- if ($30) {
-  $6 = 10;
- }
- $31 = $6;
- $10 = $31;
- while(1) {
-  $32 = $10;
-  $33 = ($32|0)>=(0);
-  if (!($33)) {
-   break;
-  }
-  $34 = $5;
-  $35 = ((($34)) + 12|0);
-  $36 = HEAP32[$35>>2]|0;
-  $37 = ((($36)) + 20|0);
-  $38 = HEAP32[$37>>2]|0;
-  $39 = $10;
-  $40 = (($38) + (($39*48)|0)|0);
-  $12 = $40;
-  $41 = $12;
-  $42 = ((($41)) + 4|0);
-  $43 = HEAP32[$42>>2]|0;
-  $44 = ($43|0)!=(0|0);
-  if ($44) {
-   $45 = $12;
-   $46 = ((($45)) + 4|0);
-   $47 = HEAP32[$46>>2]|0;
-   $48 = HEAP32[$47>>2]|0;
-   $49 = $48 >>> 11;
-   $50 = $49 & 128;
-   $51 = ($50|0)!=(0);
-   if (!($51)) {
-    $52 = $12;
-    $53 = ((($52)) + 4|0);
-    $54 = HEAP32[$53>>2]|0;
-    $55 = ((($54)) + 12|0);
-    $56 = HEAP32[$55>>2]|0;
-    $13 = $56;
-    $57 = $5;
-    $58 = ((($57)) + 12|0);
-    $59 = HEAP32[$58>>2]|0;
-    $60 = ((($59)) + 20|0);
-    $61 = HEAP32[$60>>2]|0;
-    $62 = $10;
-    $63 = (($61) + (($62*48)|0)|0);
-    $64 = ((($63)) + 32|0);
-    $65 = HEAP32[$64>>2]|0;
-    $66 = ($65|0)!=(0|0);
-    do {
-     if ($66) {
-      $67 = $5;
-      $68 = ((($67)) + 12|0);
-      $69 = HEAP32[$68>>2]|0;
-      $70 = ((($69)) + 20|0);
-      $71 = HEAP32[$70>>2]|0;
-      $72 = $10;
-      $73 = (($71) + (($72*48)|0)|0);
-      $74 = ((($73)) + 32|0);
-      $75 = HEAP32[$74>>2]|0;
-      $14 = $75;
-     } else {
-      $76 = $10;
-      $77 = (($76) + 1)|0;
-      $78 = $6;
-      $79 = ($77|0)<=($78|0);
-      if ($79) {
-       $80 = $5;
-       $81 = ((($80)) + 12|0);
-       $82 = HEAP32[$81>>2]|0;
-       $83 = ((($82)) + 20|0);
-       $84 = HEAP32[$83>>2]|0;
-       $85 = $10;
-       $86 = (($85) + 1)|0;
-       $87 = (($84) + (($86*48)|0)|0);
-       $88 = ((($87)) + 28|0);
-       $89 = HEAP32[$88>>2]|0;
-       $90 = ((($89)) + -4|0);
-       $14 = $90;
-       break;
-      } else {
-       $91 = $7;
-       $14 = $91;
-       break;
-      }
-     }
-    } while(0);
-    $92 = $13;
-    $93 = $14;
-    $94 = $13;
-    $95 = ((($94)) + 8|0);
-    $96 = HEAP32[$95>>2]|0;
-    $97 = $93;
-    $98 = $96;
-    $99 = (($97) - ($98))|0;
-    $100 = (($99|0) / 4)&-1;
-    $101 = (_mrb_debug_get_filename($92,$100)|0);
-    $102 = ((($11)) + 8|0);
-    HEAP32[$102>>2] = $101;
-    $103 = $13;
-    $104 = $14;
-    $105 = $13;
-    $106 = ((($105)) + 8|0);
-    $107 = HEAP32[$106>>2]|0;
-    $108 = $104;
-    $109 = $107;
-    $110 = (($108) - ($109))|0;
-    $111 = (($110|0) / 4)&-1;
-    $112 = (_mrb_debug_get_line($103,$111)|0);
-    $113 = ((($11)) + 4|0);
-    HEAP32[$113>>2] = $112;
-    $114 = ((($11)) + 4|0);
-    $115 = HEAP32[$114>>2]|0;
-    $116 = ($115|0)==(-1);
-    if (!($116)) {
-     $117 = $12;
-     $118 = ((($117)) + 44|0);
-     $119 = HEAP32[$118>>2]|0;
-     $120 = $12;
-     $121 = ((($120)) + 4|0);
-     $122 = HEAP32[$121>>2]|0;
-     $123 = ((($122)) + 16|0);
-     $124 = HEAP32[$123>>2]|0;
-     $125 = ($119|0)==($124|0);
-     $126 = ((($11)) + 16|0);
-     $$sink = $125 ? 70783 : 64831;
-     HEAP32[$126>>2] = $$sink;
-     $127 = ((($11)) + 8|0);
-     $128 = HEAP32[$127>>2]|0;
-     $129 = ($128|0)!=(0|0);
-     if (!($129)) {
-      $130 = ((($11)) + 8|0);
-      HEAP32[$130>>2] = 64833;
-     }
-     $131 = $5;
-     $132 = $12;
-     $133 = HEAP32[$132>>2]|0;
-     $134 = (_mrb_sym2name($131,$133)|0);
-     $135 = ((($11)) + 12|0);
-     HEAP32[$135>>2] = $134;
-     $136 = $5;
-     $137 = $12;
-     $138 = ((($137)) + 4|0);
-     $139 = HEAP32[$138>>2]|0;
-     $140 = ((($139)) + 16|0);
-     $141 = HEAP32[$140>>2]|0;
-     $142 = (_mrb_class_name($136,$141)|0);
-     $143 = ((($11)) + 20|0);
-     HEAP32[$143>>2] = $142;
-     $144 = $10;
-     HEAP32[$11>>2] = $144;
-     $145 = $8;
-     $146 = $5;
-     $147 = $9;
-     FUNCTION_TABLE_viii[$145 & 511]($146,$11,$147);
-    }
-   }
-  }
-  $148 = $10;
-  $149 = (($148) + -1)|0;
-  $10 = $149;
- }
- STACKTOP = sp;return;
-}
-function _mrb_exc_backtrace($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = sp + 8|0;
- $5 = sp;
- $3 = $1;
- $6 = $3;
- _mrb_ary_new($5,$6);
- ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
- $7 = $3;
- $8 = HEAP32[$2>>2]|0;
- $9 = HEAP32[$4>>2]|0;
- _exc_output_backtrace($7,$8,232,$9);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _get_backtrace_i($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
- var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
- var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
- $$byval_copy9 = sp + 184|0;
- $$byval_copy8 = sp + 176|0;
- $$byval_copy7 = sp + 168|0;
- $$byval_copy6 = sp + 160|0;
- $$byval_copy5 = sp + 152|0;
- $$byval_copy4 = sp + 144|0;
- $$byval_copy3 = sp + 136|0;
- $$byval_copy2 = sp + 128|0;
- $$byval_copy1 = sp + 120|0;
- $$byval_copy = sp + 112|0;
- $6 = sp + 88|0;
- $7 = sp + 80|0;
- $9 = sp + 64|0;
- $10 = sp + 56|0;
- $11 = sp + 48|0;
- $12 = sp + 40|0;
- $13 = sp + 32|0;
- $14 = sp + 24|0;
- $15 = sp + 16|0;
- $16 = sp + 8|0;
- $17 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $18 = $3;
- $19 = (_mrb_gc_arena_save($18)|0);
- $8 = $19;
- $20 = $5;
- _mrb_obj_value_633($9,$20);
- ;HEAP32[$6>>2]=HEAP32[$9>>2]|0;HEAP32[$6+4>>2]=HEAP32[$9+4>>2]|0;
- $21 = $3;
- $22 = $4;
- $23 = ((($22)) + 8|0);
- $24 = HEAP32[$23>>2]|0;
- _mrb_str_new_cstr($10,$21,$24);
- ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
- $25 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_str_cat($11,$25,$$byval_copy,68074,1);
- $26 = $3;
- $27 = $3;
- $28 = $4;
- $29 = ((($28)) + 4|0);
- $30 = HEAP32[$29>>2]|0;
- _mrb_fixnum_value_646($13,$30);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$13+4>>2]|0;
- _mrb_fixnum_to_str($12,$27,$$byval_copy1,10);
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$12+4>>2]|0;
- _mrb_str_concat($26,$$byval_copy2,$$byval_copy3);
- $31 = $4;
- $32 = ((($31)) + 12|0);
- $33 = HEAP32[$32>>2]|0;
- $34 = ($33|0)!=(0|0);
- if (!($34)) {
-  $52 = $3;
-  ;HEAP32[$$byval_copy8>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$6+4>>2]|0;
-  ;HEAP32[$$byval_copy9>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$7+4>>2]|0;
-  _mrb_ary_push($52,$$byval_copy8,$$byval_copy9);
-  $53 = $3;
-  $54 = $8;
-  _mrb_gc_arena_restore($53,$54);
-  STACKTOP = sp;return;
- }
- $35 = $3;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_str_cat($14,$35,$$byval_copy4,64843,4);
- $36 = $4;
- $37 = ((($36)) + 20|0);
- $38 = HEAP32[$37>>2]|0;
- $39 = ($38|0)!=(0|0);
- if ($39) {
-  $40 = $3;
-  $41 = $4;
-  $42 = ((($41)) + 20|0);
-  $43 = HEAP32[$42>>2]|0;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;
-  _mrb_str_cat_cstr($15,$40,$$byval_copy5,$43);
-  $44 = $3;
-  $45 = $4;
-  $46 = ((($45)) + 16|0);
-  $47 = HEAP32[$46>>2]|0;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$7+4>>2]|0;
-  _mrb_str_cat_cstr($16,$44,$$byval_copy6,$47);
- }
- $48 = $3;
- $49 = $4;
- $50 = ((($49)) + 12|0);
- $51 = HEAP32[$50>>2]|0;
- ;HEAP32[$$byval_copy7>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_str_cat_cstr($17,$48,$$byval_copy7,$51);
- $52 = $3;
- ;HEAP32[$$byval_copy8>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$6+4>>2]|0;
- ;HEAP32[$$byval_copy9>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_ary_push($52,$$byval_copy8,$$byval_copy9);
- $53 = $3;
- $54 = $8;
- _mrb_gc_arena_restore($53,$54);
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_value_646($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _kh_alloc_mt($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $7 = $3;
- $8 = HEAP32[$7>>2]|0;
- $4 = $8;
- $5 = 8;
- $9 = $2;
- $10 = $4;
- $11 = $10;
- $12 = (($11>>>0) / 4)&-1;
- $13 = $5;
- $14 = $4;
- $15 = Math_imul($13, $14)|0;
- $16 = (($12) + ($15))|0;
- $17 = (_mrb_malloc($9,$16)|0);
- $6 = $17;
- $18 = $3;
- $19 = ((($18)) + 8|0);
- HEAP32[$19>>2] = 0;
- $20 = $3;
- $21 = ((($20)) + 4|0);
- HEAP32[$21>>2] = 0;
- $22 = $6;
- $23 = $3;
- $24 = ((($23)) + 16|0);
- HEAP32[$24>>2] = $22;
- $25 = $6;
- $26 = $4;
- $27 = $26<<2;
- $28 = (($25) + ($27)|0);
- $29 = $3;
- $30 = ((($29)) + 20|0);
- HEAP32[$30>>2] = $28;
- $31 = $6;
- $32 = $5;
- $33 = $4;
- $34 = Math_imul($32, $33)|0;
- $35 = (($31) + ($34)|0);
- $36 = $3;
- $37 = ((($36)) + 12|0);
- HEAP32[$37>>2] = $35;
- $38 = $3;
- $39 = ((($38)) + 12|0);
- $40 = HEAP32[$39>>2]|0;
- $41 = $4;
- $42 = (($41>>>0) / 4)&-1;
- _kh_fill_flags_648($40,-86,$42);
- STACKTOP = sp;return;
-}
-function _kh_fill_flags_648($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- while(1) {
-  $6 = $5;
-  $7 = (($6) + -1)|0;
-  $5 = $7;
-  $8 = ($6>>>0)>(0);
-  if (!($8)) {
-   break;
-  }
-  $9 = $4;
-  $10 = $3;
-  $11 = ((($10)) + 1|0);
-  $3 = $11;
-  HEAP8[$10>>0] = $9;
- }
- STACKTOP = sp;return;
-}
-function _kh_init_mt_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = (_mrb_calloc($5,1,24)|0);
- $4 = $6;
- $7 = $3;
- $8 = ($7>>>0)<(8);
- if ($8) {
-  $3 = 8;
- }
- $9 = $3;
- $10 = (($9) + -1)|0;
- $3 = $10;
- $11 = $3;
- $12 = $11 >>> 1;
- $13 = $3;
- $14 = $13 | $12;
- $3 = $14;
- $15 = $3;
- $16 = $15 >>> 2;
- $17 = $3;
- $18 = $17 | $16;
- $3 = $18;
- $19 = $3;
- $20 = $19 >>> 4;
- $21 = $3;
- $22 = $21 | $20;
- $3 = $22;
- $23 = $3;
- $24 = $23 >>> 8;
- $25 = $3;
- $26 = $25 | $24;
- $3 = $26;
- $27 = $3;
- $28 = $27 >>> 16;
- $29 = $3;
- $30 = $29 | $28;
- $3 = $30;
- $31 = $3;
- $32 = (($31) + 1)|0;
- $3 = $32;
- $33 = $3;
- $34 = $4;
- HEAP32[$34>>2] = $33;
- $35 = $2;
- $36 = $4;
- _kh_alloc_mt($35,$36);
- $37 = $4;
- STACKTOP = sp;return ($37|0);
-}
-function _kh_init_mt($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_kh_init_mt_size($2,8)|0);
- STACKTOP = sp;return ($3|0);
-}
-function _kh_destroy_mt($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $2;
- $7 = $3;
- $8 = ((($7)) + 16|0);
- $9 = HEAP32[$8>>2]|0;
- _mrb_free($6,$9);
- $10 = $2;
- $11 = $3;
- _mrb_free($10,$11);
- STACKTOP = sp;return;
-}
-function _kh_get_mt($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $9 = $6;
- $10 = $6;
- $11 = $10 << 2;
- $12 = $9 ^ $11;
- $13 = $6;
- $14 = $13 >>> 2;
- $15 = $12 ^ $14;
- $16 = $5;
- $17 = HEAP32[$16>>2]|0;
- $18 = (($17) - 1)|0;
- $19 = $15 & $18;
- $7 = $19;
- $8 = 0;
- while(1) {
-  $20 = $5;
-  $21 = ((($20)) + 12|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $7;
-  $24 = (($23>>>0) / 4)&-1;
-  $25 = (($22) + ($24)|0);
-  $26 = HEAP8[$25>>0]|0;
-  $27 = $26&255;
-  $28 = $7;
-  $29 = (($28>>>0) % 4)&-1;
-  $30 = (64848 + ($29)|0);
-  $31 = HEAP8[$30>>0]|0;
-  $32 = $31&255;
-  $33 = $27 & $32;
-  $34 = ($33|0)!=(0);
-  $35 = $34 ^ 1;
-  $36 = $5;
-  if (!($35)) {
-   label = 7;
-   break;
-  }
-  $37 = ((($36)) + 12|0);
-  $38 = HEAP32[$37>>2]|0;
-  $39 = $7;
-  $40 = (($39>>>0) / 4)&-1;
-  $41 = (($38) + ($40)|0);
-  $42 = HEAP8[$41>>0]|0;
-  $43 = $42&255;
-  $44 = $7;
-  $45 = (($44>>>0) % 4)&-1;
-  $46 = (64852 + ($45)|0);
-  $47 = HEAP8[$46>>0]|0;
-  $48 = $47&255;
-  $49 = $43 & $48;
-  $50 = ($49|0)!=(0);
-  if (!($50)) {
-   $51 = $5;
-   $52 = ((($51)) + 16|0);
-   $53 = HEAP32[$52>>2]|0;
-   $54 = $7;
-   $55 = (($53) + ($54<<2)|0);
-   $56 = HEAP32[$55>>2]|0;
-   $57 = $6;
-   $58 = ($56|0)==($57|0);
-   if ($58) {
-    label = 5;
-    break;
-   }
-  }
-  $60 = $7;
-  $61 = $8;
-  $62 = (($61) + 1)|0;
-  $8 = $62;
-  $63 = (($60) + ($62))|0;
-  $64 = $5;
-  $65 = HEAP32[$64>>2]|0;
-  $66 = (($65) - 1)|0;
-  $67 = $63 & $66;
-  $7 = $67;
- }
- if ((label|0) == 5) {
-  $59 = $7;
-  $3 = $59;
-  $69 = $3;
-  STACKTOP = sp;return ($69|0);
- }
- else if ((label|0) == 7) {
-  $68 = HEAP32[$36>>2]|0;
-  $3 = $68;
-  $69 = $3;
-  STACKTOP = sp;return ($69|0);
- }
- return (0)|0;
-}
-function _kh_resize_mt($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $6 = sp + 24|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $13 = $5;
- $14 = ($13>>>0)<(8);
- $$ = $14 ? 8 : $2;
- $5 = $$;
- $15 = $5;
- $16 = (($15) + -1)|0;
- $5 = $16;
- $17 = $5;
- $18 = $17 >>> 1;
- $19 = $5;
- $20 = $19 | $18;
- $5 = $20;
- $21 = $5;
- $22 = $21 >>> 2;
- $23 = $5;
- $24 = $23 | $22;
- $5 = $24;
- $25 = $5;
- $26 = $25 >>> 4;
- $27 = $5;
- $28 = $27 | $26;
- $5 = $28;
- $29 = $5;
- $30 = $29 >>> 8;
- $31 = $5;
- $32 = $31 | $30;
- $5 = $32;
- $33 = $5;
- $34 = $33 >>> 16;
- $35 = $5;
- $36 = $35 | $34;
- $5 = $36;
- $37 = $5;
- $38 = (($37) + 1)|0;
- $5 = $38;
- $39 = $4;
- $40 = ((($39)) + 12|0);
- $41 = HEAP32[$40>>2]|0;
- $7 = $41;
- $42 = $4;
- $43 = ((($42)) + 16|0);
- $44 = HEAP32[$43>>2]|0;
- $8 = $44;
- $45 = $4;
- $46 = ((($45)) + 20|0);
- $47 = HEAP32[$46>>2]|0;
- $9 = $47;
- $48 = $4;
- $49 = HEAP32[$48>>2]|0;
- $10 = $49;
- $50 = $5;
- HEAP32[$6>>2] = $50;
- $51 = $3;
- _kh_alloc_mt($51,$6);
- $11 = 0;
- while(1) {
-  $52 = $11;
-  $53 = $10;
-  $54 = ($52>>>0)<($53>>>0);
-  if (!($54)) {
-   break;
-  }
-  $55 = $7;
-  $56 = $11;
-  $57 = (($56>>>0) / 4)&-1;
-  $58 = (($55) + ($57)|0);
-  $59 = HEAP8[$58>>0]|0;
-  $60 = $59&255;
-  $61 = $11;
-  $62 = (($61>>>0) % 4)&-1;
-  $63 = (64856 + ($62)|0);
-  $64 = HEAP8[$63>>0]|0;
-  $65 = $64&255;
-  $66 = $60 & $65;
-  $67 = ($66|0)!=(0);
-  if (!($67)) {
-   $68 = $3;
-   $69 = $8;
-   $70 = $11;
-   $71 = (($69) + ($70<<2)|0);
-   $72 = HEAP32[$71>>2]|0;
-   $73 = (_kh_put_mt($68,$6,$72,0)|0);
-   $12 = $73;
-   $74 = $9;
-   $75 = $11;
-   $76 = (($74) + ($75<<2)|0);
-   $77 = HEAP32[$76>>2]|0;
-   $78 = ((($6)) + 20|0);
-   $79 = HEAP32[$78>>2]|0;
-   $80 = $12;
-   $81 = (($79) + ($80<<2)|0);
-   HEAP32[$81>>2] = $77;
-  }
-  $82 = $11;
-  $83 = (($82) + 1)|0;
-  $11 = $83;
- }
- $84 = $4;
- ;HEAP32[$84>>2]=HEAP32[$6>>2]|0;HEAP32[$84+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$84+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$84+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$84+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$84+20>>2]=HEAP32[$6+20>>2]|0;
- $85 = $3;
- $86 = $8;
- _mrb_free($85,$86);
- STACKTOP = sp;return;
-}
-function _kh_put_mt($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $11 = 0;
- $12 = $6;
- $13 = ((($12)) + 8|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = $6;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 >>> 2;
- $18 = $6;
- $19 = HEAP32[$18>>2]|0;
- $20 = $19 >>> 1;
- $21 = $17 | $20;
- $22 = ($14>>>0)>=($21>>>0);
- if ($22) {
-  $23 = $5;
-  $24 = $6;
-  $25 = $6;
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $26<<1;
-  _kh_resize_mt($23,$24,$27);
- }
- $28 = $7;
- $29 = $7;
- $30 = $29 << 2;
- $31 = $28 ^ $30;
- $32 = $7;
- $33 = $32 >>> 2;
- $34 = $31 ^ $33;
- $35 = $6;
- $36 = HEAP32[$35>>2]|0;
- $37 = (($36) - 1)|0;
- $38 = $34 & $37;
- $9 = $38;
- $39 = $6;
- $40 = HEAP32[$39>>2]|0;
- $10 = $40;
- while(1) {
-  $41 = $6;
-  $42 = ((($41)) + 12|0);
-  $43 = HEAP32[$42>>2]|0;
-  $44 = $9;
-  $45 = (($44>>>0) / 4)&-1;
-  $46 = (($43) + ($45)|0);
-  $47 = HEAP8[$46>>0]|0;
-  $48 = $47&255;
-  $49 = $9;
-  $50 = (($49>>>0) % 4)&-1;
-  $51 = (64848 + ($50)|0);
-  $52 = HEAP8[$51>>0]|0;
-  $53 = $52&255;
-  $54 = $48 & $53;
-  $55 = ($54|0)!=(0);
-  $56 = $55 ^ 1;
-  if (!($56)) {
-   break;
-  }
-  $57 = $6;
-  $58 = ((($57)) + 12|0);
-  $59 = HEAP32[$58>>2]|0;
-  $60 = $9;
-  $61 = (($60>>>0) / 4)&-1;
-  $62 = (($59) + ($61)|0);
-  $63 = HEAP8[$62>>0]|0;
-  $64 = $63&255;
-  $65 = $9;
-  $66 = (($65>>>0) % 4)&-1;
-  $67 = (64852 + ($66)|0);
-  $68 = HEAP8[$67>>0]|0;
-  $69 = $68&255;
-  $70 = $64 & $69;
-  $71 = ($70|0)!=(0);
-  if ($71) {
-   $84 = $10;
-   $85 = $6;
-   $86 = HEAP32[$85>>2]|0;
-   $87 = ($84|0)==($86|0);
-   if ($87) {
-    $88 = $9;
-    $10 = $88;
-   }
-  } else {
-   $72 = $6;
-   $73 = ((($72)) + 16|0);
-   $74 = HEAP32[$73>>2]|0;
-   $75 = $9;
-   $76 = (($74) + ($75<<2)|0);
-   $77 = HEAP32[$76>>2]|0;
-   $78 = $7;
-   $79 = ($77|0)==($78|0);
-   if ($79) {
-    label = 7;
-    break;
-   }
-  }
-  $89 = $9;
-  $90 = $11;
-  $91 = (($90) + 1)|0;
-  $11 = $91;
-  $92 = (($89) + ($91))|0;
-  $93 = $6;
-  $94 = HEAP32[$93>>2]|0;
-  $95 = (($94) - 1)|0;
-  $96 = $92 & $95;
-  $9 = $96;
- }
- if ((label|0) == 7) {
-  $80 = $8;
-  $81 = ($80|0)!=(0|0);
-  if ($81) {
-   $82 = $8;
-   HEAP32[$82>>2] = 0;
-  }
-  $83 = $9;
-  $4 = $83;
-  $161 = $4;
-  STACKTOP = sp;return ($161|0);
- }
- $97 = $10;
- $98 = $6;
- $99 = HEAP32[$98>>2]|0;
- $100 = ($97|0)!=($99|0);
- $101 = $7;
- $102 = $6;
- $103 = ((($102)) + 16|0);
- $104 = HEAP32[$103>>2]|0;
- if ($100) {
-  $105 = $10;
-  $106 = (($104) + ($105<<2)|0);
-  HEAP32[$106>>2] = $101;
-  $107 = $10;
-  $108 = (($107>>>0) % 4)&-1;
-  $109 = (64852 + ($108)|0);
-  $110 = HEAP8[$109>>0]|0;
-  $111 = $110&255;
-  $112 = $111 ^ -1;
-  $113 = $6;
-  $114 = ((($113)) + 12|0);
-  $115 = HEAP32[$114>>2]|0;
-  $116 = $10;
-  $117 = (($116>>>0) / 4)&-1;
-  $118 = (($115) + ($117)|0);
-  $119 = HEAP8[$118>>0]|0;
-  $120 = $119&255;
-  $121 = $120 & $112;
-  $122 = $121&255;
-  HEAP8[$118>>0] = $122;
-  $123 = $6;
-  $124 = ((($123)) + 4|0);
-  $125 = HEAP32[$124>>2]|0;
-  $126 = (($125) + 1)|0;
-  HEAP32[$124>>2] = $126;
-  $127 = $8;
-  $128 = ($127|0)!=(0|0);
-  if ($128) {
-   $129 = $8;
-   HEAP32[$129>>2] = 2;
-  }
-  $130 = $10;
-  $4 = $130;
-  $161 = $4;
-  STACKTOP = sp;return ($161|0);
- } else {
-  $131 = $9;
-  $132 = (($104) + ($131<<2)|0);
-  HEAP32[$132>>2] = $101;
-  $133 = $9;
-  $134 = (($133>>>0) % 4)&-1;
-  $135 = (64848 + ($134)|0);
-  $136 = HEAP8[$135>>0]|0;
-  $137 = $136&255;
-  $138 = $137 ^ -1;
-  $139 = $6;
-  $140 = ((($139)) + 12|0);
-  $141 = HEAP32[$140>>2]|0;
-  $142 = $9;
-  $143 = (($142>>>0) / 4)&-1;
-  $144 = (($141) + ($143)|0);
-  $145 = HEAP8[$144>>0]|0;
-  $146 = $145&255;
-  $147 = $146 & $138;
-  $148 = $147&255;
-  HEAP8[$144>>0] = $148;
-  $149 = $6;
-  $150 = ((($149)) + 4|0);
-  $151 = HEAP32[$150>>2]|0;
-  $152 = (($151) + 1)|0;
-  HEAP32[$150>>2] = $152;
-  $153 = $6;
-  $154 = ((($153)) + 8|0);
-  $155 = HEAP32[$154>>2]|0;
-  $156 = (($155) + 1)|0;
-  HEAP32[$154>>2] = $156;
-  $157 = $8;
-  $158 = ($157|0)!=(0|0);
-  if ($158) {
-   $159 = $8;
-   HEAP32[$159>>2] = 1;
-  }
-  $160 = $9;
-  $4 = $160;
-  $161 = $4;
-  STACKTOP = sp;return ($161|0);
- }
- return (0)|0;
-}
-function _kh_del_mt($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $5;
- $7 = (($6>>>0) % 4)&-1;
- $8 = (64852 + ($7)|0);
- $9 = HEAP8[$8>>0]|0;
- $10 = $9&255;
- $11 = $4;
- $12 = ((($11)) + 12|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $5;
- $15 = (($14>>>0) / 4)&-1;
- $16 = (($13) + ($15)|0);
- $17 = HEAP8[$16>>0]|0;
- $18 = $17&255;
- $19 = $18 | $10;
- $20 = $19&255;
- HEAP8[$16>>0] = $20;
- $21 = $4;
- $22 = ((($21)) + 4|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = (($23) + -1)|0;
- HEAP32[$22>>2] = $24;
- STACKTOP = sp;return;
-}
-function _kh_copy_mt($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $7 = $2;
- $8 = (_kh_init_mt($7)|0);
- $4 = $8;
- $5 = 0;
- while(1) {
-  $9 = $5;
-  $10 = $3;
-  $11 = HEAP32[$10>>2]|0;
-  $12 = ($9|0)!=($11|0);
-  if (!($12)) {
-   break;
-  }
-  $13 = $3;
-  $14 = ((($13)) + 12|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = $5;
-  $17 = (($16>>>0) / 4)&-1;
-  $18 = (($15) + ($17)|0);
-  $19 = HEAP8[$18>>0]|0;
-  $20 = $19&255;
-  $21 = $5;
-  $22 = (($21>>>0) % 4)&-1;
-  $23 = (64856 + ($22)|0);
-  $24 = HEAP8[$23>>0]|0;
-  $25 = $24&255;
-  $26 = $20 & $25;
-  $27 = ($26|0)!=(0);
-  if (!($27)) {
-   $28 = $2;
-   $29 = $4;
-   $30 = $3;
-   $31 = ((($30)) + 16|0);
-   $32 = HEAP32[$31>>2]|0;
-   $33 = $5;
-   $34 = (($32) + ($33<<2)|0);
-   $35 = HEAP32[$34>>2]|0;
-   $36 = (_kh_put_mt($28,$29,$35,0)|0);
-   $6 = $36;
-   $37 = $3;
-   $38 = ((($37)) + 20|0);
-   $39 = HEAP32[$38>>2]|0;
-   $40 = $5;
-   $41 = (($39) + ($40<<2)|0);
-   $42 = HEAP32[$41>>2]|0;
-   $43 = $4;
-   $44 = ((($43)) + 20|0);
-   $45 = HEAP32[$44>>2]|0;
-   $46 = $6;
-   $47 = (($45) + ($46<<2)|0);
-   HEAP32[$47>>2] = $42;
-  }
-  $48 = $5;
-  $49 = (($48) + 1)|0;
-  $5 = $49;
- }
- $50 = $4;
- STACKTOP = sp;return ($50|0);
-}
-function _mrb_gc_mark_mt($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $7 = $3;
- $8 = ((($7)) + 16|0);
- $9 = HEAP32[$8>>2]|0;
- $5 = $9;
- $10 = $5;
- $11 = ($10|0)!=(0|0);
- if (!($11)) {
-  STACKTOP = sp;return;
- }
- $4 = 0;
- while(1) {
-  $12 = $4;
-  $13 = $5;
-  $14 = HEAP32[$13>>2]|0;
-  $15 = ($12|0)!=($14|0);
-  if (!($15)) {
-   break;
-  }
-  $16 = $5;
-  $17 = ((($16)) + 12|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = $4;
-  $20 = (($19>>>0) / 4)&-1;
-  $21 = (($18) + ($20)|0);
-  $22 = HEAP8[$21>>0]|0;
-  $23 = $22&255;
-  $24 = $4;
-  $25 = (($24>>>0) % 4)&-1;
-  $26 = (64856 + ($25)|0);
-  $27 = HEAP8[$26>>0]|0;
-  $28 = $27&255;
-  $29 = $23 & $28;
-  $30 = ($29|0)!=(0);
-  if (!($30)) {
-   $31 = $5;
-   $32 = ((($31)) + 20|0);
-   $33 = HEAP32[$32>>2]|0;
-   $34 = $4;
-   $35 = (($33) + ($34<<2)|0);
-   $36 = HEAP32[$35>>2]|0;
-   $6 = $36;
-   $37 = $6;
-   $38 = ($37|0)!=(0|0);
-   if ($38) {
-    $39 = $2;
-    $40 = $6;
-    _mrb_gc_mark($39,$40);
-   }
-  }
-  $41 = $4;
-  $42 = (($41) + 1)|0;
-  $4 = $42;
- }
- STACKTOP = sp;return;
-}
-function _mrb_gc_mark_mt_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $6 = $4;
- $7 = ((($6)) + 16|0);
- $8 = HEAP32[$7>>2]|0;
- $5 = $8;
- $9 = $5;
- $10 = ($9|0)!=(0|0);
- if ($10) {
-  $11 = $5;
-  $12 = ((($11)) + 4|0);
-  $13 = HEAP32[$12>>2]|0;
-  $2 = $13;
-  $14 = $2;
-  STACKTOP = sp;return ($14|0);
- } else {
-  $2 = 0;
-  $14 = $2;
-  STACKTOP = sp;return ($14|0);
- }
- return (0)|0;
-}
-function _mrb_gc_free_mt($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = ((($5)) + 16|0);
- $7 = HEAP32[$6>>2]|0;
- _kh_destroy_mt($4,$7);
- STACKTOP = sp;return;
-}
-function _mrb_class_outer_module($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = sp + 8|0;
- $6 = sp;
- $3 = $0;
- $4 = $1;
- $7 = $3;
- $8 = $4;
- $9 = $3;
- $10 = (_mrb_intern_static($9,64860,9)|0);
- _mrb_obj_iv_get($6,$7,$8,$10);
- ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
- $11 = ((($5)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ($12|0)==(0);
- if ($13) {
-  $14 = HEAP32[$5>>2]|0;
-  $15 = ($14|0)!=(0);
-  if (!($15)) {
-   $2 = 0;
-   $17 = $2;
-   STACKTOP = sp;return ($17|0);
-  }
- }
- $16 = HEAP32[$5>>2]|0;
- $2 = $16;
- $17 = $2;
- STACKTOP = sp;return ($17|0);
-}
-function _define_module($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $8 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $9 = $4;
- $10 = $6;
- _mrb_obj_value_661($8,$10);
- $11 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
- $12 = (_mrb_const_defined_at($9,$$byval_copy,$11)|0);
- $13 = ($12<<24>>24)!=(0);
- $14 = $4;
- if ($13) {
-  $15 = $6;
-  $16 = $5;
-  $17 = (_module_from_sym($14,$15,$16)|0);
-  $3 = $17;
-  $24 = $3;
-  STACKTOP = sp;return ($24|0);
- } else {
-  $18 = (_mrb_module_new($14)|0);
-  $7 = $18;
-  $19 = $4;
-  $20 = $6;
-  $21 = $7;
-  $22 = $5;
-  _setup_class($19,$20,$21,$22);
-  $23 = $7;
-  $3 = $23;
-  $24 = $3;
-  STACKTOP = sp;return ($24|0);
- }
- return (0)|0;
-}
-function _mrb_obj_value_661($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _module_from_sym($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $6 = sp + 8|0;
- $7 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = $4;
- _mrb_obj_value_661($7,$9);
- $10 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_const_get($6,$8,$$byval_copy,$10);
- $11 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_check_type($11,$$byval_copy1,10);
- $12 = HEAP32[$6>>2]|0;
- STACKTOP = sp;return ($12|0);
-}
-function _mrb_module_new($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = $1;
- $5 = ((($4)) + 40|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (_mrb_obj_alloc($3,10,$6)|0);
- $2 = $7;
- $8 = $1;
- $9 = $2;
- _boot_initmod($8,$9);
- $10 = $2;
- STACKTOP = sp;return ($10|0);
-}
-function _setup_class($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $8 = sp + 8|0;
- $9 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $10 = $4;
- $11 = $6;
- $12 = $7;
- _name_class($10,$11,$12);
- $13 = $4;
- $14 = $5;
- $15 = $7;
- $16 = $6;
- _mrb_obj_value_661($8,$16);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
- _mrb_obj_iv_set($13,$14,$15,$$byval_copy);
- $17 = $5;
- $18 = $4;
- $19 = ((($18)) + 32|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = ($17|0)!=($20|0);
- if (!($21)) {
-  STACKTOP = sp;return;
- }
- $22 = $4;
- $23 = $6;
- $24 = $4;
- $25 = (_mrb_intern_static($24,64860,9)|0);
- $26 = $5;
- _mrb_obj_value_661($9,$26);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
- _mrb_obj_iv_set($22,$23,$25,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _name_class($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $6 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $3;
- $10 = (_mrb_intern_static($9,64870,11)|0);
- $11 = $5;
- _mrb_symbol_value_663($6,$11);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_obj_iv_set($7,$8,$10,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_symbol_value_663($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 4;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _boot_initmod($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = (_kh_init_mt($4)|0);
- $6 = $3;
- $7 = ((($6)) + 16|0);
- HEAP32[$7>>2] = $5;
- STACKTOP = sp;return;
-}
-function _mrb_define_module($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $2;
- $6 = $3;
- $7 = (_mrb_intern_cstr($5,$6)|0);
- $8 = $2;
- $9 = ((($8)) + 32|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = (_define_module($4,$7,$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _mrb_vm_define_module($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $0;
- $4 = $2;
- $5 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _check_if_class_or_module($5,$$byval_copy);
- $6 = $3;
- $7 = $4;
- $8 = HEAP32[$1>>2]|0;
- $9 = (_define_module($6,$7,$8)|0);
- STACKTOP = sp;return ($9|0);
-}
-function _check_if_class_or_module($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $3 = sp + 8|0;
- $2 = $0;
- $4 = ((($1)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- switch ($5|0) {
- case 10: case 12: case 9:  {
-  STACKTOP = sp;return;
-  break;
- }
- default: {
-  $6 = $2;
-  $7 = $2;
-  $8 = (_mrb_class_get($7,69204)|0);
-  $9 = $2;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
-  _mrb_inspect($3,$9,$$byval_copy);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$3>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$3+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$3+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$3+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$3+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$3+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$3+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$3+7>>0]|0;
-  _mrb_raisef($6,$8,64882,$vararg_buffer);
-  // unreachable;
- }
- }
-}
-function _mrb_class_get($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $2;
- $6 = ((($5)) + 32|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = $3;
- $9 = (_mrb_class_get_under($4,$7,$8)|0);
- STACKTOP = sp;return ($9|0);
-}
-function _mrb_class_get_under($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $3;
- $9 = $5;
- $10 = (_mrb_intern_cstr($8,$9)|0);
- $11 = (_class_from_sym($6,$7,$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _class_from_sym($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $6 = sp + 8|0;
- $7 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = $4;
- _mrb_obj_value_661($7,$9);
- $10 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_const_get($6,$8,$$byval_copy,$10);
- $11 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_check_type($11,$$byval_copy1,9);
- $12 = HEAP32[$6>>2]|0;
- STACKTOP = sp;return ($12|0);
-}
-function _mrb_define_class_id($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $6 = sp + 8|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $5;
- $8 = ($7|0)!=(0|0);
- if (!($8)) {
-  $9 = $3;
-  $10 = $3;
-  $11 = $4;
-  _mrb_sym2str($6,$10,$11);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$6+7>>0]|0;
-  _mrb_warn($9,64907,$vararg_buffer);
- }
- $12 = $3;
- $13 = $4;
- $14 = $5;
- $15 = $3;
- $16 = ((($15)) + 32|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = (_define_class($12,$13,$14,$17)|0);
- STACKTOP = sp;return ($18|0);
-}
-function _define_class($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy = sp + 80|0;
- $vararg_buffer = sp;
- $10 = sp + 48|0;
- $11 = sp + 40|0;
- $12 = sp + 32|0;
- $13 = sp + 24|0;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $14 = $5;
- $15 = $8;
- _mrb_obj_value_661($10,$15);
- $16 = $6;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
- $17 = (_mrb_const_defined_at($14,$$byval_copy,$16)|0);
- $18 = ($17<<24>>24)!=(0);
- $19 = $5;
- if (!($18)) {
-  $58 = $7;
-  $59 = (_mrb_class_new($19,$58)|0);
-  $9 = $59;
-  $60 = $5;
-  $61 = $8;
-  $62 = $9;
-  $63 = $6;
-  _setup_class($60,$61,$62,$63);
-  $64 = $9;
-  $4 = $64;
-  $65 = $4;
-  STACKTOP = sp;return ($65|0);
- }
- $20 = $8;
- $21 = $6;
- $22 = (_class_from_sym($19,$20,$21)|0);
- $9 = $22;
- $23 = $9;
- $24 = HEAP32[$23>>2]|0;
- $25 = $24 >>> 11;
- $26 = $25 & 524288;
- $27 = ($26|0)!=(0);
- L5: do {
-  if ($27) {
-   $28 = $9;
-   $29 = ((($28)) + 20|0);
-   $30 = HEAP32[$29>>2]|0;
-   $9 = $30;
-   while(1) {
-    $31 = $9;
-    $32 = HEAP32[$31>>2]|0;
-    $33 = $32 >>> 11;
-    $34 = $33 & 1048576;
-    $35 = ($34|0)!=(0);
-    $36 = $35 ^ 1;
-    if (!($36)) {
-     break L5;
-    }
-    $37 = $9;
-    $38 = ((($37)) + 20|0);
-    $39 = HEAP32[$38>>2]|0;
-    $9 = $39;
-   }
-  }
- } while(0);
- $40 = $7;
- $41 = ($40|0)!=(0|0);
- if ($41) {
-  $42 = $9;
-  $43 = ((($42)) + 20|0);
-  $44 = HEAP32[$43>>2]|0;
-  $45 = (_mrb_class_real($44)|0);
-  $46 = $7;
-  $47 = ($45|0)!=($46|0);
-  if ($47) {
-   $48 = $5;
-   $49 = $5;
-   $50 = (_mrb_class_get($49,69204)|0);
-   $51 = $5;
-   $52 = $6;
-   _mrb_sym2str($11,$51,$52);
-   $53 = $9;
-   $54 = ((($53)) + 20|0);
-   $55 = HEAP32[$54>>2]|0;
-   _mrb_obj_value_661($12,$55);
-   $56 = $7;
-   _mrb_obj_value_661($13,$56);
-   ;HEAP8[$vararg_buffer>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$11+7>>0]|0;
-   $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
-   ;HEAP8[$vararg_ptr1>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$12+7>>0]|0;
-   $vararg_ptr2 = ((($vararg_buffer)) + 16|0);
-   ;HEAP8[$vararg_ptr2>>0]=HEAP8[$13>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$13+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$13+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$13+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$13+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$13+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$13+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$13+7>>0]|0;
-   _mrb_raisef($48,$50,64947,$vararg_buffer);
-   // unreachable;
-  }
- }
- $57 = $9;
- $4 = $57;
- $65 = $4;
- STACKTOP = sp;return ($65|0);
-}
-function _mrb_class_real($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $2;
- $4 = ($3|0)==(0|0);
- if ($4) {
-  $1 = 0;
-  $16 = $1;
-  STACKTOP = sp;return ($16|0);
- }
- while(1) {
-  $5 = $2;
-  $6 = HEAP32[$5>>2]|0;
-  $7 = $6 & 255;
-  $8 = ($7|0)==(12);
-  if ($8) {
-   $17 = 1;
-  } else {
-   $9 = $2;
-   $10 = HEAP32[$9>>2]|0;
-   $11 = $10 & 255;
-   $12 = ($11|0)==(11);
-   $17 = $12;
-  }
-  $13 = $2;
-  if (!($17)) {
-   break;
-  }
-  $14 = ((($13)) + 20|0);
-  $15 = HEAP32[$14>>2]|0;
-  $2 = $15;
- }
- $1 = $13;
- $16 = $1;
- STACKTOP = sp;return ($16|0);
-}
-function _mrb_class_new($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $3;
- $6 = ($5|0)!=(0|0);
- if ($6) {
-  $7 = $2;
-  $8 = $3;
-  _mrb_check_inheritable($7,$8);
- }
- $9 = $2;
- $10 = $3;
- $11 = (_boot_defclass($9,$10)|0);
- $4 = $11;
- $12 = $3;
- $13 = ($12|0)!=(0|0);
- if (!($13)) {
-  $31 = $2;
-  $32 = $4;
-  _prepare_singleton_class($31,$32);
-  $33 = $4;
-  STACKTOP = sp;return ($33|0);
- }
- $14 = $4;
- $15 = HEAP32[$14>>2]|0;
- $16 = $15 >>> 11;
- $17 = $16 & -256;
- $18 = $3;
- $19 = HEAP32[$18>>2]|0;
- $20 = $19 >>> 11;
- $21 = $20 & 255;
- $22 = $21&255;
- $23 = $22 << 24 >> 24;
- $24 = $17 | $23;
- $25 = $4;
- $26 = HEAP32[$25>>2]|0;
- $27 = $24 & 2097151;
- $28 = $27 << 11;
- $29 = $26 & 2047;
- $30 = $29 | $28;
- HEAP32[$25>>2] = $30;
- $31 = $2;
- $32 = $4;
- _prepare_singleton_class($31,$32);
- $33 = $4;
- STACKTOP = sp;return ($33|0);
-}
-function _mrb_check_inheritable($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $2 = $0;
- $3 = $1;
- $5 = $3;
- $6 = HEAP32[$5>>2]|0;
- $7 = $6 & 255;
- $8 = ($7|0)!=(9);
- if ($8) {
-  $9 = $2;
-  $10 = $2;
-  $11 = (_mrb_class_get($10,69204)|0);
-  $12 = $3;
-  _mrb_obj_value_661($4,$12);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$4>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$4+7>>0]|0;
-  _mrb_raisef($9,$11,64992,$vararg_buffer);
-  // unreachable;
- }
- $13 = $3;
- $14 = HEAP32[$13>>2]|0;
- $15 = $14 & 255;
- $16 = ($15|0)==(12);
- if ($16) {
-  $17 = $2;
-  $18 = $2;
-  $19 = (_mrb_class_get($18,69204)|0);
-  _mrb_raise($17,$19,65030);
-  // unreachable;
- }
- $20 = $3;
- $21 = $2;
- $22 = ((($21)) + 36|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = ($20|0)==($23|0);
- if ($24) {
-  $25 = $2;
-  $26 = $2;
-  $27 = (_mrb_class_get($26,69204)|0);
-  _mrb_raise($25,$27,65069);
-  // unreachable;
- } else {
-  STACKTOP = sp;return;
- }
-}
-function _boot_defclass($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $3 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = $2;
- $7 = ((($6)) + 36|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = (_mrb_obj_alloc($5,9,$8)|0);
- $4 = $9;
- $10 = $3;
- $11 = ($10|0)!=(0|0);
- if ($11) {
-  $12 = $3;
-  $13 = $4;
-  $14 = ((($13)) + 20|0);
-  HEAP32[$14>>2] = $12;
-  $15 = $2;
-  $16 = $4;
-  $17 = $3;
-  _mrb_field_write_barrier($15,$16,$17);
- } else {
-  $18 = $2;
-  $19 = ((($18)) + 32|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = $4;
-  $22 = ((($21)) + 20|0);
-  HEAP32[$22>>2] = $20;
- }
- $23 = $2;
- $24 = (_kh_init_mt($23)|0);
- $25 = $4;
- $26 = ((($25)) + 16|0);
- HEAP32[$26>>2] = $24;
- $27 = $4;
- STACKTOP = sp;return ($27|0);
-}
-function _prepare_singleton_class($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $$sink3$sink = 0, $$sink5$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
- var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
- var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
- var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $6 = sp;
- $2 = $0;
- $3 = $1;
- $7 = $3;
- $8 = ((($7)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = HEAP32[$9>>2]|0;
- $11 = $10 & 255;
- $12 = ($11|0)==(12);
- if ($12) {
-  STACKTOP = sp;return;
- }
- $13 = $2;
- $14 = $2;
- $15 = ((($14)) + 36|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = (_mrb_obj_alloc($13,12,$16)|0);
- $4 = $17;
- $18 = $2;
- $19 = (_kh_init_mt($18)|0);
- $20 = $4;
- $21 = ((($20)) + 16|0);
- HEAP32[$21>>2] = $19;
- $22 = $4;
- $23 = ((($22)) + 12|0);
- HEAP32[$23>>2] = 0;
- $24 = $3;
- $25 = HEAP32[$24>>2]|0;
- $26 = $25 & 255;
- $27 = ($26|0)==(9);
- $28 = $3;
- do {
-  if ($27) {
-   $5 = $28;
-   $29 = $5;
-   $30 = ((($29)) + 20|0);
-   $31 = HEAP32[$30>>2]|0;
-   $32 = ($31|0)!=(0|0);
-   if ($32) {
-    $37 = $5;
-    $38 = ((($37)) + 20|0);
-    $39 = HEAP32[$38>>2]|0;
-    $40 = ((($39)) + 4|0);
-    $41 = HEAP32[$40>>2]|0;
-    $42 = $4;
-    $$sink3$sink = $41;$$sink5$sink = $42;
-    break;
-   } else {
-    $33 = $2;
-    $34 = ((($33)) + 36|0);
-    $35 = HEAP32[$34>>2]|0;
-    $36 = $4;
-    $$sink3$sink = $35;$$sink5$sink = $36;
-    break;
-   }
-  } else {
-   $43 = HEAP32[$28>>2]|0;
-   $44 = $43 & 255;
-   $45 = ($44|0)==(12);
-   $46 = $3;
-   if (!($45)) {
-    $66 = ((($46)) + 4|0);
-    $67 = HEAP32[$66>>2]|0;
-    $68 = $4;
-    $$sink3$sink = $67;$$sink5$sink = $68;
-    break;
-   }
-   $5 = $46;
-   while(1) {
-    $47 = $5;
-    $48 = ((($47)) + 20|0);
-    $49 = HEAP32[$48>>2]|0;
-    $50 = HEAP32[$49>>2]|0;
-    $51 = $50 & 255;
-    $52 = ($51|0)==(11);
-    if (!($52)) {
-     break;
-    }
-    $53 = $5;
-    $54 = ((($53)) + 20|0);
-    $55 = HEAP32[$54>>2]|0;
-    $5 = $55;
-   }
-   $56 = $2;
-   $57 = $5;
-   $58 = ((($57)) + 20|0);
-   $59 = HEAP32[$58>>2]|0;
-   _prepare_singleton_class($56,$59);
-   $60 = $5;
-   $61 = ((($60)) + 20|0);
-   $62 = HEAP32[$61>>2]|0;
-   $63 = ((($62)) + 4|0);
-   $64 = HEAP32[$63>>2]|0;
-   $65 = $4;
-   $$sink3$sink = $64;$$sink5$sink = $65;
-  }
- } while(0);
- $69 = ((($$sink5$sink)) + 20|0);
- HEAP32[$69>>2] = $$sink3$sink;
- $70 = $4;
- $71 = $3;
- $72 = ((($71)) + 4|0);
- HEAP32[$72>>2] = $70;
- $73 = $2;
- $74 = $3;
- $75 = $4;
- _mrb_field_write_barrier($73,$74,$75);
- $76 = $2;
- $77 = $4;
- $78 = $3;
- _mrb_field_write_barrier($76,$77,$78);
- $79 = $2;
- $80 = $4;
- $81 = $2;
- $82 = (_mrb_intern_static($81,68237,12)|0);
- $83 = $3;
- _mrb_obj_value_661($6,$83);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_obj_iv_set($79,$80,$82,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_define_class($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $3;
- $8 = $4;
- $9 = (_mrb_intern_cstr($7,$8)|0);
- $10 = $5;
- $11 = (_mrb_define_class_id($6,$9,$10)|0);
- STACKTOP = sp;return ($11|0);
-}
-function _mrb_vm_define_class($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = $0;
- $5 = $3;
- $8 = ((($2)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ($9|0)==(0);
- if ($10) {
-  $11 = HEAP32[$2>>2]|0;
-  $12 = ($11|0)!=(0);
-  if ($12) {
-   label = 3;
-  } else {
-   $6 = 0;
-  }
- } else {
-  label = 3;
- }
- do {
-  if ((label|0) == 3) {
-   $13 = ((($2)) + 4|0);
-   $14 = HEAP32[$13>>2]|0;
-   $15 = ($14|0)!=(9);
-   if ($15) {
-    $16 = $4;
-    $17 = $4;
-    $18 = (_mrb_class_get($17,69204)|0);
-    ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
-    _mrb_raisef($16,$18,64992,$vararg_buffer);
-    // unreachable;
-   } else {
-    $19 = HEAP32[$2>>2]|0;
-    $6 = $19;
-    break;
-   }
-  }
- } while(0);
- $20 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _check_if_class_or_module($20,$$byval_copy);
- $21 = $4;
- $22 = $5;
- $23 = $6;
- $24 = HEAP32[$1>>2]|0;
- $25 = (_define_class($21,$22,$23,$24)|0);
- $7 = $25;
- $26 = $4;
- $27 = $7;
- $28 = ((($27)) + 20|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = (_mrb_class_real($29)|0);
- $31 = $7;
- _mrb_class_inherited($26,$30,$31);
- $32 = $7;
- STACKTOP = sp;return ($32|0);
-}
-function _mrb_class_inherited($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy = sp + 48|0;
- $vararg_buffer = sp;
- $6 = sp + 24|0;
- $7 = sp + 16|0;
- $8 = sp + 8|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $9 = $4;
- $10 = ($9|0)!=(0|0);
- if (!($10)) {
-  $11 = $3;
-  $12 = ((($11)) + 32|0);
-  $13 = HEAP32[$12>>2]|0;
-  $4 = $13;
- }
- $14 = $3;
- $15 = $4;
- _mrb_obj_value_661($6,$15);
- $16 = $5;
- _mrb_obj_value_661($7,$16);
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$7+7>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_funcall($8,$14,$$byval_copy,65098,1,$vararg_buffer);
- STACKTOP = sp;return;
-}
-function _mrb_class_defined($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 24|0;
- $5 = sp + 8|0;
- $6 = sp;
- $3 = $0;
- $4 = $1;
- $7 = $3;
- $8 = $4;
- _mrb_check_intern_cstr($5,$7,$8);
- $9 = ((($5)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(0);
- if ($11) {
-  $12 = HEAP32[$5>>2]|0;
-  $13 = ($12|0)!=(0);
-  if (!($13)) {
-   $2 = 0;
-   $20 = $2;
-   STACKTOP = sp;return ($20|0);
-  }
- }
- $14 = $3;
- $15 = $3;
- $16 = ((($15)) + 32|0);
- $17 = HEAP32[$16>>2]|0;
- _mrb_obj_value_661($6,$17);
- $18 = HEAP32[$5>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- $19 = (_mrb_const_defined($14,$$byval_copy,$18)|0);
- $2 = $19;
- $20 = $2;
- STACKTOP = sp;return ($20|0);
-}
-function _mrb_define_method_raw($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $10 = $5;
- $11 = HEAP32[$10>>2]|0;
- $12 = $11 >>> 11;
- $13 = $12 & 524288;
- $14 = ($13|0)!=(0);
- L1: do {
-  if ($14) {
-   $15 = $5;
-   $16 = ((($15)) + 20|0);
-   $17 = HEAP32[$16>>2]|0;
-   $5 = $17;
-   while(1) {
-    $18 = $5;
-    $19 = HEAP32[$18>>2]|0;
-    $20 = $19 >>> 11;
-    $21 = $20 & 1048576;
-    $22 = ($21|0)!=(0);
-    $23 = $22 ^ 1;
-    if (!($23)) {
-     break L1;
-    }
-    $24 = $5;
-    $25 = ((($24)) + 20|0);
-    $26 = HEAP32[$25>>2]|0;
-    $5 = $26;
-   }
-  }
- } while(0);
- $27 = $5;
- $28 = ((($27)) + 16|0);
- $29 = HEAP32[$28>>2]|0;
- $8 = $29;
- $30 = $8;
- $31 = ($30|0)!=(0|0);
- if (!($31)) {
-  $32 = $4;
-  $33 = (_kh_init_mt($32)|0);
-  $34 = $5;
-  $35 = ((($34)) + 16|0);
-  HEAP32[$35>>2] = $33;
-  $8 = $33;
- }
- $36 = $4;
- $37 = $8;
- $38 = $6;
- $39 = (_kh_put_mt($36,$37,$38,0)|0);
- $9 = $39;
- $40 = $7;
- $41 = $8;
- $42 = ((($41)) + 20|0);
- $43 = HEAP32[$42>>2]|0;
- $44 = $9;
- $45 = (($43) + ($44<<2)|0);
- HEAP32[$45>>2] = $40;
- $46 = $7;
- $47 = ($46|0)!=(0|0);
- if (!($47)) {
-  STACKTOP = sp;return;
- }
- $48 = $4;
- $49 = $5;
- $50 = $7;
- _mrb_field_write_barrier($48,$49,$50);
- STACKTOP = sp;return;
-}
-function _mrb_define_method_id($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $12 = $5;
- $13 = (_mrb_gc_arena_save($12)|0);
- $11 = $13;
- $14 = $5;
- $15 = $8;
- $16 = (_mrb_proc_new_cfunc($14,$15)|0);
- $10 = $16;
- $17 = $6;
- $18 = $10;
- $19 = ((($18)) + 16|0);
- HEAP32[$19>>2] = $17;
- $20 = $5;
- $21 = $6;
- $22 = $7;
- $23 = $10;
- _mrb_define_method_raw($20,$21,$22,$23);
- $24 = $5;
- $25 = $11;
- _mrb_gc_arena_restore($24,$25);
- STACKTOP = sp;return;
-}
-function _mrb_define_method($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $10 = $5;
- $11 = $6;
- $12 = $5;
- $13 = $7;
- $14 = (_mrb_intern_cstr($12,$13)|0);
- $15 = $8;
- $16 = $9;
- _mrb_define_method_id($10,$11,$14,$15,$16);
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_689($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_get_args($0,$1,$varargs) {
- $0 = $0|0;
- $1 = $1|0;
- $varargs = $varargs|0;
- var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0;
- var $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0;
- var $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0;
- var $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0;
- var $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0;
- var $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0;
- var $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0;
- var $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0;
- var $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0;
- var $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0;
- var $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0;
- var $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0;
- var $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0;
- var $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0;
- var $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0;
- var $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0;
- var $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0;
- var $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0;
- var $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0;
- var $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0.0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0;
- var $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0.0, $466 = 0.0, $467 = 0, $468 = 0.0, $469 = 0;
- var $47 = 0.0, $470 = 0, $471 = 0, $472 = 0, $473 = 0.0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0;
- var $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0;
- var $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0;
- var $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0;
- var $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0;
- var $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0;
- var $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0;
- var $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0;
- var $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0;
- var $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0;
- var $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
- var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
- var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current12 = 0, $arglist_current15 = 0, $arglist_current18 = 0, $arglist_current21 = 0, $arglist_current24 = 0, $arglist_current27 = 0, $arglist_current3 = 0;
- var $arglist_current30 = 0, $arglist_current33 = 0, $arglist_current36 = 0, $arglist_current39 = 0, $arglist_current42 = 0, $arglist_current45 = 0, $arglist_current48 = 0, $arglist_current51 = 0, $arglist_current54 = 0, $arglist_current57 = 0, $arglist_current6 = 0, $arglist_current9 = 0, $arglist_next = 0, $arglist_next10 = 0, $arglist_next13 = 0, $arglist_next16 = 0, $arglist_next19 = 0, $arglist_next22 = 0, $arglist_next25 = 0, $arglist_next28 = 0;
- var $arglist_next31 = 0, $arglist_next34 = 0, $arglist_next37 = 0, $arglist_next4 = 0, $arglist_next40 = 0, $arglist_next43 = 0, $arglist_next46 = 0, $arglist_next49 = 0, $arglist_next52 = 0, $arglist_next55 = 0, $arglist_next58 = 0, $arglist_next7 = 0, $expanded = 0, $expanded101 = 0, $expanded102 = 0, $expanded104 = 0, $expanded105 = 0, $expanded106 = 0, $expanded108 = 0, $expanded109 = 0;
- var $expanded11 = 0, $expanded111 = 0, $expanded112 = 0, $expanded113 = 0, $expanded115 = 0, $expanded116 = 0, $expanded118 = 0, $expanded119 = 0, $expanded120 = 0, $expanded122 = 0, $expanded123 = 0, $expanded125 = 0, $expanded126 = 0, $expanded127 = 0, $expanded129 = 0, $expanded13 = 0, $expanded130 = 0, $expanded132 = 0, $expanded133 = 0, $expanded134 = 0;
- var $expanded136 = 0, $expanded137 = 0, $expanded139 = 0, $expanded14 = 0, $expanded140 = 0, $expanded141 = 0, $expanded143 = 0, $expanded144 = 0, $expanded146 = 0, $expanded147 = 0, $expanded148 = 0, $expanded15 = 0, $expanded17 = 0, $expanded18 = 0, $expanded20 = 0, $expanded21 = 0, $expanded22 = 0, $expanded24 = 0, $expanded25 = 0, $expanded27 = 0;
- var $expanded28 = 0, $expanded29 = 0, $expanded31 = 0, $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded36 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded43 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded50 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0;
- var $expanded56 = 0, $expanded57 = 0, $expanded59 = 0, $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded64 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded71 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded78 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0;
- var $expanded84 = 0, $expanded85 = 0, $expanded87 = 0, $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded92 = 0, $expanded94 = 0, $expanded95 = 0, $expanded97 = 0, $expanded98 = 0, $expanded99 = 0, $or$cond = 0, $vararg_buffer = 0, $vararg_buffer59 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 448|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(448|0);
- $$byval_copy10 = sp + 424|0;
- $$byval_copy9 = sp + 416|0;
- $$byval_copy8 = sp + 408|0;
- $$byval_copy7 = sp + 400|0;
- $$byval_copy6 = sp + 392|0;
- $$byval_copy5 = sp + 384|0;
- $$byval_copy4 = sp + 376|0;
- $$byval_copy3 = sp + 368|0;
- $$byval_copy2 = sp + 360|0;
- $$byval_copy = sp + 352|0;
- $vararg_buffer59 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 434|0;
- $7 = sp + 320|0;
- $16 = sp + 288|0;
- $19 = sp + 272|0;
- $22 = sp + 256|0;
- $25 = sp + 240|0;
- $26 = sp + 232|0;
- $31 = sp + 208|0;
- $32 = sp + 200|0;
- $35 = sp + 184|0;
- $36 = sp + 176|0;
- $42 = sp + 144|0;
- $48 = sp + 112|0;
- $51 = sp + 96|0;
- $54 = sp + 80|0;
- $68 = sp + 16|0;
- $2 = $0;
- $3 = $1;
- $5 = 0;
- $69 = $2;
- $70 = ((($69)) + 12|0);
- $71 = HEAP32[$70>>2]|0;
- $72 = ((($71)) + 4|0);
- $73 = HEAP32[$72>>2]|0;
- $74 = ((($73)) + 8|0);
- $6 = $74;
- $75 = $2;
- $76 = ((($75)) + 12|0);
- $77 = HEAP32[$76>>2]|0;
- $78 = ((($77)) + 16|0);
- $79 = HEAP32[$78>>2]|0;
- $80 = ((($79)) + 36|0);
- $81 = HEAP32[$80>>2]|0;
- $8 = $81;
- $9 = 0;
- $10 = 1;
- HEAP32[$7>>2] = $varargs;
- $82 = $8;
- $83 = ($82|0)<(0);
- if ($83) {
-  $84 = $2;
-  $85 = ((($84)) + 12|0);
-  $86 = HEAP32[$85>>2]|0;
-  $87 = ((($86)) + 4|0);
-  $88 = HEAP32[$87>>2]|0;
-  $89 = ((($88)) + 8|0);
-  $90 = HEAP32[$89>>2]|0;
-  $11 = $90;
-  $91 = $11;
-  $92 = ((($91)) + 12|0);
-  $93 = HEAP32[$92>>2]|0;
-  $8 = $93;
-  $94 = $11;
-  $95 = ((($94)) + 20|0);
-  $96 = HEAP32[$95>>2]|0;
-  $6 = $96;
- }
- L3: while(1) {
-  $97 = $3;
-  $98 = ((($97)) + 1|0);
-  $3 = $98;
-  $99 = HEAP8[$97>>0]|0;
-  HEAP8[$4>>0] = $99;
-  $100 = ($99<<24>>24)!=(0);
-  $101 = HEAP8[$4>>0]|0;
-  if (!($100)) {
-   label = 98;
-   break;
-  }
-  $102 = $101 << 24 >> 24;
-  switch ($102|0) {
-  case 63: case 38: case 42: case 124:  {
-   break;
-  }
-  default: {
-   $103 = $8;
-   $104 = $5;
-   $105 = ($103|0)<=($104|0);
-   if ($105) {
-    $106 = $9;
-    $107 = ($106<<24>>24)!=(0);
-    if (!($107)) {
-     label = 8;
-     break L3;
-    }
-    $10 = 0;
-   }
-  }
-  }
-  $111 = HEAP8[$4>>0]|0;
-  $112 = $111 << 24 >> 24;
-  do {
-   switch ($112|0) {
-   case 111:  {
-    $arglist_current = HEAP32[$7>>2]|0;
-    $113 = $arglist_current;
-    $114 = ((0) + 4|0);
-    $expanded11 = $114;
-    $expanded = (($expanded11) - 1)|0;
-    $115 = (($113) + ($expanded))|0;
-    $116 = ((0) + 4|0);
-    $expanded15 = $116;
-    $expanded14 = (($expanded15) - 1)|0;
-    $expanded13 = $expanded14 ^ -1;
-    $117 = $115 & $expanded13;
-    $118 = $117;
-    $119 = HEAP32[$118>>2]|0;
-    $arglist_next = ((($118)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next;
-    $13 = $119;
-    $120 = $13;
-    $12 = $120;
-    $121 = $5;
-    $122 = $8;
-    $123 = ($121|0)<($122|0);
-    if (!($123)) {
-     continue L3;
-    }
-    $124 = $12;
-    $125 = $6;
-    $126 = ((($125)) + 8|0);
-    $6 = $126;
-    ;HEAP32[$124>>2]=HEAP32[$125>>2]|0;HEAP32[$124+4>>2]=HEAP32[$125+4>>2]|0;
-    $127 = $5;
-    $128 = (($127) + 1)|0;
-    $5 = $128;
-    continue L3;
-    break;
-   }
-   case 67:  {
-    $arglist_current3 = HEAP32[$7>>2]|0;
-    $129 = $arglist_current3;
-    $130 = ((0) + 4|0);
-    $expanded18 = $130;
-    $expanded17 = (($expanded18) - 1)|0;
-    $131 = (($129) + ($expanded17))|0;
-    $132 = ((0) + 4|0);
-    $expanded22 = $132;
-    $expanded21 = (($expanded22) - 1)|0;
-    $expanded20 = $expanded21 ^ -1;
-    $133 = $131 & $expanded20;
-    $134 = $133;
-    $135 = HEAP32[$134>>2]|0;
-    $arglist_next4 = ((($134)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next4;
-    $15 = $135;
-    $136 = $15;
-    $14 = $136;
-    $137 = $5;
-    $138 = $8;
-    $139 = ($137|0)<($138|0);
-    if (!($139)) {
-     continue L3;
-    }
-    $140 = $6;
-    $141 = ((($140)) + 8|0);
-    $6 = $141;
-    ;HEAP32[$16>>2]=HEAP32[$140>>2]|0;HEAP32[$16+4>>2]=HEAP32[$140+4>>2]|0;
-    $142 = ((($16)) + 4|0);
-    $143 = HEAP32[$142>>2]|0;
-    switch ($143|0) {
-    case 12: case 10: case 9:  {
-     break;
-    }
-    default: {
-     label = 14;
-     break L3;
-    }
-    }
-    $147 = $14;
-    ;HEAP32[$147>>2]=HEAP32[$16>>2]|0;HEAP32[$147+4>>2]=HEAP32[$16+4>>2]|0;
-    $148 = $5;
-    $149 = (($148) + 1)|0;
-    $5 = $149;
-    continue L3;
-    break;
-   }
-   case 83:  {
-    $arglist_current6 = HEAP32[$7>>2]|0;
-    $150 = $arglist_current6;
-    $151 = ((0) + 4|0);
-    $expanded25 = $151;
-    $expanded24 = (($expanded25) - 1)|0;
-    $152 = (($150) + ($expanded24))|0;
-    $153 = ((0) + 4|0);
-    $expanded29 = $153;
-    $expanded28 = (($expanded29) - 1)|0;
-    $expanded27 = $expanded28 ^ -1;
-    $154 = $152 & $expanded27;
-    $155 = $154;
-    $156 = HEAP32[$155>>2]|0;
-    $arglist_next7 = ((($155)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next7;
-    $18 = $156;
-    $157 = $18;
-    $17 = $157;
-    $158 = $3;
-    $159 = HEAP8[$158>>0]|0;
-    $160 = $159 << 24 >> 24;
-    $161 = ($160|0)==(33);
-    if ($161) {
-     $162 = $3;
-     $163 = ((($162)) + 1|0);
-     $3 = $163;
-     $164 = $5;
-     $165 = $8;
-     $166 = ($164|0)<($165|0);
-     if ($166) {
-      $167 = $6;
-      $168 = ((($167)) + 4|0);
-      $169 = HEAP32[$168>>2]|0;
-      $170 = ($169|0)==(0);
-      if ($170) {
-       $171 = $6;
-       $172 = HEAP32[$171>>2]|0;
-       $173 = ($172|0)!=(0);
-       if (!($173)) {
-        $174 = $17;
-        $175 = $6;
-        $176 = ((($175)) + 8|0);
-        $6 = $176;
-        ;HEAP32[$174>>2]=HEAP32[$175>>2]|0;HEAP32[$174+4>>2]=HEAP32[$175+4>>2]|0;
-        $177 = $5;
-        $178 = (($177) + 1)|0;
-        $5 = $178;
-        continue L3;
-       }
-      }
-     }
-    }
-    $179 = $5;
-    $180 = $8;
-    $181 = ($179|0)<($180|0);
-    if (!($181)) {
-     continue L3;
-    }
-    $182 = $17;
-    $183 = $2;
-    $184 = $6;
-    $185 = ((($184)) + 8|0);
-    $6 = $185;
-    ;HEAP32[$$byval_copy>>2]=HEAP32[$184>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$184+4>>2]|0;
-    _to_str($19,$183,$$byval_copy);
-    ;HEAP32[$182>>2]=HEAP32[$19>>2]|0;HEAP32[$182+4>>2]=HEAP32[$19+4>>2]|0;
-    $186 = $5;
-    $187 = (($186) + 1)|0;
-    $5 = $187;
-    continue L3;
-    break;
-   }
-   case 65:  {
-    $arglist_current9 = HEAP32[$7>>2]|0;
-    $188 = $arglist_current9;
-    $189 = ((0) + 4|0);
-    $expanded32 = $189;
-    $expanded31 = (($expanded32) - 1)|0;
-    $190 = (($188) + ($expanded31))|0;
-    $191 = ((0) + 4|0);
-    $expanded36 = $191;
-    $expanded35 = (($expanded36) - 1)|0;
-    $expanded34 = $expanded35 ^ -1;
-    $192 = $190 & $expanded34;
-    $193 = $192;
-    $194 = HEAP32[$193>>2]|0;
-    $arglist_next10 = ((($193)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next10;
-    $21 = $194;
-    $195 = $21;
-    $20 = $195;
-    $196 = $3;
-    $197 = HEAP8[$196>>0]|0;
-    $198 = $197 << 24 >> 24;
-    $199 = ($198|0)==(33);
-    if ($199) {
-     $200 = $3;
-     $201 = ((($200)) + 1|0);
-     $3 = $201;
-     $202 = $5;
-     $203 = $8;
-     $204 = ($202|0)<($203|0);
-     if ($204) {
-      $205 = $6;
-      $206 = ((($205)) + 4|0);
-      $207 = HEAP32[$206>>2]|0;
-      $208 = ($207|0)==(0);
-      if ($208) {
-       $209 = $6;
-       $210 = HEAP32[$209>>2]|0;
-       $211 = ($210|0)!=(0);
-       if (!($211)) {
-        $212 = $20;
-        $213 = $6;
-        $214 = ((($213)) + 8|0);
-        $6 = $214;
-        ;HEAP32[$212>>2]=HEAP32[$213>>2]|0;HEAP32[$212+4>>2]=HEAP32[$213+4>>2]|0;
-        $215 = $5;
-        $216 = (($215) + 1)|0;
-        $5 = $216;
-        continue L3;
-       }
-      }
-     }
-    }
-    $217 = $5;
-    $218 = $8;
-    $219 = ($217|0)<($218|0);
-    if (!($219)) {
-     continue L3;
-    }
-    $220 = $20;
-    $221 = $2;
-    $222 = $6;
-    $223 = ((($222)) + 8|0);
-    $6 = $223;
-    ;HEAP32[$$byval_copy2>>2]=HEAP32[$222>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$222+4>>2]|0;
-    _to_ary($22,$221,$$byval_copy2);
-    ;HEAP32[$220>>2]=HEAP32[$22>>2]|0;HEAP32[$220+4>>2]=HEAP32[$22+4>>2]|0;
-    $224 = $5;
-    $225 = (($224) + 1)|0;
-    $5 = $225;
-    continue L3;
-    break;
-   }
-   case 72:  {
-    $arglist_current12 = HEAP32[$7>>2]|0;
-    $226 = $arglist_current12;
-    $227 = ((0) + 4|0);
-    $expanded39 = $227;
-    $expanded38 = (($expanded39) - 1)|0;
-    $228 = (($226) + ($expanded38))|0;
-    $229 = ((0) + 4|0);
-    $expanded43 = $229;
-    $expanded42 = (($expanded43) - 1)|0;
-    $expanded41 = $expanded42 ^ -1;
-    $230 = $228 & $expanded41;
-    $231 = $230;
-    $232 = HEAP32[$231>>2]|0;
-    $arglist_next13 = ((($231)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next13;
-    $24 = $232;
-    $233 = $24;
-    $23 = $233;
-    $234 = $3;
-    $235 = HEAP8[$234>>0]|0;
-    $236 = $235 << 24 >> 24;
-    $237 = ($236|0)==(33);
-    if ($237) {
-     $238 = $3;
-     $239 = ((($238)) + 1|0);
-     $3 = $239;
-     $240 = $5;
-     $241 = $8;
-     $242 = ($240|0)<($241|0);
-     if ($242) {
-      $243 = $6;
-      $244 = ((($243)) + 4|0);
-      $245 = HEAP32[$244>>2]|0;
-      $246 = ($245|0)==(0);
-      if ($246) {
-       $247 = $6;
-       $248 = HEAP32[$247>>2]|0;
-       $249 = ($248|0)!=(0);
-       if (!($249)) {
-        $250 = $23;
-        $251 = $6;
-        $252 = ((($251)) + 8|0);
-        $6 = $252;
-        ;HEAP32[$250>>2]=HEAP32[$251>>2]|0;HEAP32[$250+4>>2]=HEAP32[$251+4>>2]|0;
-        $253 = $5;
-        $254 = (($253) + 1)|0;
-        $5 = $254;
-        continue L3;
-       }
-      }
-     }
-    }
-    $255 = $5;
-    $256 = $8;
-    $257 = ($255|0)<($256|0);
-    if (!($257)) {
-     continue L3;
-    }
-    $258 = $23;
-    $259 = $2;
-    $260 = $6;
-    $261 = ((($260)) + 8|0);
-    $6 = $261;
-    ;HEAP32[$$byval_copy3>>2]=HEAP32[$260>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$260+4>>2]|0;
-    _to_hash($25,$259,$$byval_copy3);
-    ;HEAP32[$258>>2]=HEAP32[$25>>2]|0;HEAP32[$258+4>>2]=HEAP32[$25+4>>2]|0;
-    $262 = $5;
-    $263 = (($262) + 1)|0;
-    $5 = $263;
-    continue L3;
-    break;
-   }
-   case 115:  {
-    $27 = 0;
-    $28 = 0;
-    $arglist_current15 = HEAP32[$7>>2]|0;
-    $264 = $arglist_current15;
-    $265 = ((0) + 4|0);
-    $expanded46 = $265;
-    $expanded45 = (($expanded46) - 1)|0;
-    $266 = (($264) + ($expanded45))|0;
-    $267 = ((0) + 4|0);
-    $expanded50 = $267;
-    $expanded49 = (($expanded50) - 1)|0;
-    $expanded48 = $expanded49 ^ -1;
-    $268 = $266 & $expanded48;
-    $269 = $268;
-    $270 = HEAP32[$269>>2]|0;
-    $arglist_next16 = ((($269)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next16;
-    $29 = $270;
-    $271 = $29;
-    $27 = $271;
-    $arglist_current18 = HEAP32[$7>>2]|0;
-    $272 = $arglist_current18;
-    $273 = ((0) + 4|0);
-    $expanded53 = $273;
-    $expanded52 = (($expanded53) - 1)|0;
-    $274 = (($272) + ($expanded52))|0;
-    $275 = ((0) + 4|0);
-    $expanded57 = $275;
-    $expanded56 = (($expanded57) - 1)|0;
-    $expanded55 = $expanded56 ^ -1;
-    $276 = $274 & $expanded55;
-    $277 = $276;
-    $278 = HEAP32[$277>>2]|0;
-    $arglist_next19 = ((($277)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next19;
-    $30 = $278;
-    $279 = $30;
-    $28 = $279;
-    $280 = $3;
-    $281 = HEAP8[$280>>0]|0;
-    $282 = $281 << 24 >> 24;
-    $283 = ($282|0)==(33);
-    if ($283) {
-     $284 = $3;
-     $285 = ((($284)) + 1|0);
-     $3 = $285;
-     $286 = $5;
-     $287 = $8;
-     $288 = ($286|0)<($287|0);
-     if ($288) {
-      $289 = $6;
-      $290 = ((($289)) + 4|0);
-      $291 = HEAP32[$290>>2]|0;
-      $292 = ($291|0)==(0);
-      if ($292) {
-       $293 = $6;
-       $294 = HEAP32[$293>>2]|0;
-       $295 = ($294|0)!=(0);
-       if (!($295)) {
-        $296 = $27;
-        HEAP32[$296>>2] = 0;
-        $297 = $28;
-        HEAP32[$297>>2] = 0;
-        $298 = $5;
-        $299 = (($298) + 1)|0;
-        $5 = $299;
-        continue L3;
-       }
-      }
-     }
-    }
-    $300 = $5;
-    $301 = $8;
-    $302 = ($300|0)<($301|0);
-    if (!($302)) {
-     continue L3;
-    }
-    $303 = $2;
-    $304 = $6;
-    $305 = ((($304)) + 8|0);
-    $6 = $305;
-    ;HEAP32[$$byval_copy4>>2]=HEAP32[$304>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$304+4>>2]|0;
-    _to_str($31,$303,$$byval_copy4);
-    ;HEAP32[$26>>2]=HEAP32[$31>>2]|0;HEAP32[$26+4>>2]=HEAP32[$31+4>>2]|0;
-    $306 = HEAP32[$26>>2]|0;
-    $307 = HEAP32[$306>>2]|0;
-    $308 = $307 >>> 11;
-    $309 = $308 & 8;
-    $310 = ($309|0)!=(0);
-    $311 = HEAP32[$26>>2]|0;
-    $312 = ((($311)) + 12|0);
-    if ($310) {
-     $316 = $312;
-    } else {
-     $313 = ((($312)) + 8|0);
-     $314 = HEAP32[$313>>2]|0;
-     $316 = $314;
-    }
-    $315 = $27;
-    HEAP32[$315>>2] = $316;
-    $317 = HEAP32[$26>>2]|0;
-    $318 = HEAP32[$317>>2]|0;
-    $319 = $318 >>> 11;
-    $320 = $319 & 8;
-    $321 = ($320|0)!=(0);
-    $322 = HEAP32[$26>>2]|0;
-    if ($321) {
-     $323 = HEAP32[$322>>2]|0;
-     $324 = $323 >>> 11;
-     $325 = $324 & 496;
-     $326 = $325 >> 4;
-     $330 = $326;
-    } else {
-     $327 = ((($322)) + 12|0);
-     $328 = HEAP32[$327>>2]|0;
-     $330 = $328;
-    }
-    $329 = $28;
-    HEAP32[$329>>2] = $330;
-    $331 = $5;
-    $332 = (($331) + 1)|0;
-    $5 = $332;
-    continue L3;
-    break;
-   }
-   case 122:  {
-    $arglist_current21 = HEAP32[$7>>2]|0;
-    $333 = $arglist_current21;
-    $334 = ((0) + 4|0);
-    $expanded60 = $334;
-    $expanded59 = (($expanded60) - 1)|0;
-    $335 = (($333) + ($expanded59))|0;
-    $336 = ((0) + 4|0);
-    $expanded64 = $336;
-    $expanded63 = (($expanded64) - 1)|0;
-    $expanded62 = $expanded63 ^ -1;
-    $337 = $335 & $expanded62;
-    $338 = $337;
-    $339 = HEAP32[$338>>2]|0;
-    $arglist_next22 = ((($338)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next22;
-    $34 = $339;
-    $340 = $34;
-    $33 = $340;
-    $341 = $3;
-    $342 = HEAP8[$341>>0]|0;
-    $343 = $342 << 24 >> 24;
-    $344 = ($343|0)==(33);
-    if ($344) {
-     $345 = $3;
-     $346 = ((($345)) + 1|0);
-     $3 = $346;
-     $347 = $5;
-     $348 = $8;
-     $349 = ($347|0)<($348|0);
-     if ($349) {
-      $350 = $6;
-      $351 = ((($350)) + 4|0);
-      $352 = HEAP32[$351>>2]|0;
-      $353 = ($352|0)==(0);
-      if ($353) {
-       $354 = $6;
-       $355 = HEAP32[$354>>2]|0;
-       $356 = ($355|0)!=(0);
-       if (!($356)) {
-        $357 = $33;
-        HEAP32[$357>>2] = 0;
-        $358 = $5;
-        $359 = (($358) + 1)|0;
-        $5 = $359;
-        $360 = $6;
-        $361 = ((($360)) + 8|0);
-        $6 = $361;
-        continue L3;
-       }
-      }
-     }
-    }
-    $362 = $5;
-    $363 = $8;
-    $364 = ($362|0)<($363|0);
-    if (!($364)) {
-     continue L3;
-    }
-    $365 = $2;
-    $366 = $6;
-    $367 = ((($366)) + 8|0);
-    $6 = $367;
-    ;HEAP32[$$byval_copy5>>2]=HEAP32[$366>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$366+4>>2]|0;
-    _to_str($35,$365,$$byval_copy5);
-    ;HEAP32[$32>>2]=HEAP32[$35>>2]|0;HEAP32[$32+4>>2]=HEAP32[$35+4>>2]|0;
-    $368 = $2;
-    $369 = (_mrb_string_value_cstr($368,$32)|0);
-    $370 = $33;
-    HEAP32[$370>>2] = $369;
-    $371 = $5;
-    $372 = (($371) + 1)|0;
-    $5 = $372;
-    continue L3;
-    break;
-   }
-   case 97:  {
-    $arglist_current24 = HEAP32[$7>>2]|0;
-    $373 = $arglist_current24;
-    $374 = ((0) + 4|0);
-    $expanded67 = $374;
-    $expanded66 = (($expanded67) - 1)|0;
-    $375 = (($373) + ($expanded66))|0;
-    $376 = ((0) + 4|0);
-    $expanded71 = $376;
-    $expanded70 = (($expanded71) - 1)|0;
-    $expanded69 = $expanded70 ^ -1;
-    $377 = $375 & $expanded69;
-    $378 = $377;
-    $379 = HEAP32[$378>>2]|0;
-    $arglist_next25 = ((($378)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next25;
-    $40 = $379;
-    $380 = $40;
-    $38 = $380;
-    $arglist_current27 = HEAP32[$7>>2]|0;
-    $381 = $arglist_current27;
-    $382 = ((0) + 4|0);
-    $expanded74 = $382;
-    $expanded73 = (($expanded74) - 1)|0;
-    $383 = (($381) + ($expanded73))|0;
-    $384 = ((0) + 4|0);
-    $expanded78 = $384;
-    $expanded77 = (($expanded78) - 1)|0;
-    $expanded76 = $expanded77 ^ -1;
-    $385 = $383 & $expanded76;
-    $386 = $385;
-    $387 = HEAP32[$386>>2]|0;
-    $arglist_next28 = ((($386)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next28;
-    $41 = $387;
-    $388 = $41;
-    $39 = $388;
-    $389 = $3;
-    $390 = HEAP8[$389>>0]|0;
-    $391 = $390 << 24 >> 24;
-    $392 = ($391|0)==(33);
-    if ($392) {
-     $393 = $3;
-     $394 = ((($393)) + 1|0);
-     $3 = $394;
-     $395 = $5;
-     $396 = $8;
-     $397 = ($395|0)<($396|0);
-     if ($397) {
-      $398 = $6;
-      $399 = ((($398)) + 4|0);
-      $400 = HEAP32[$399>>2]|0;
-      $401 = ($400|0)==(0);
-      if ($401) {
-       $402 = $6;
-       $403 = HEAP32[$402>>2]|0;
-       $404 = ($403|0)!=(0);
-       if (!($404)) {
-        $405 = $38;
-        HEAP32[$405>>2] = 0;
-        $406 = $39;
-        HEAP32[$406>>2] = 0;
-        $407 = $5;
-        $408 = (($407) + 1)|0;
-        $5 = $408;
-        $409 = $6;
-        $410 = ((($409)) + 8|0);
-        $6 = $410;
-        continue L3;
-       }
-      }
-     }
-    }
-    $411 = $5;
-    $412 = $8;
-    $413 = ($411|0)<($412|0);
-    if (!($413)) {
-     continue L3;
-    }
-    $414 = $2;
-    $415 = $6;
-    $416 = ((($415)) + 8|0);
-    $6 = $416;
-    ;HEAP32[$$byval_copy6>>2]=HEAP32[$415>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$415+4>>2]|0;
-    _to_ary($42,$414,$$byval_copy6);
-    ;HEAP32[$36>>2]=HEAP32[$42>>2]|0;HEAP32[$36+4>>2]=HEAP32[$42+4>>2]|0;
-    $417 = HEAP32[$36>>2]|0;
-    $37 = $417;
-    $418 = $37;
-    $419 = ((($418)) + 20|0);
-    $420 = HEAP32[$419>>2]|0;
-    $421 = $38;
-    HEAP32[$421>>2] = $420;
-    $422 = $37;
-    $423 = ((($422)) + 12|0);
-    $424 = HEAP32[$423>>2]|0;
-    $425 = $39;
-    HEAP32[$425>>2] = $424;
-    $426 = $5;
-    $427 = (($426) + 1)|0;
-    $5 = $427;
-    continue L3;
-    break;
-   }
-   case 102:  {
-    $arglist_current30 = HEAP32[$7>>2]|0;
-    $428 = $arglist_current30;
-    $429 = ((0) + 4|0);
-    $expanded81 = $429;
-    $expanded80 = (($expanded81) - 1)|0;
-    $430 = (($428) + ($expanded80))|0;
-    $431 = ((0) + 4|0);
-    $expanded85 = $431;
-    $expanded84 = (($expanded85) - 1)|0;
-    $expanded83 = $expanded84 ^ -1;
-    $432 = $430 & $expanded83;
-    $433 = $432;
-    $434 = HEAP32[$433>>2]|0;
-    $arglist_next31 = ((($433)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next31;
-    $44 = $434;
-    $435 = $44;
-    $43 = $435;
-    $436 = $5;
-    $437 = $8;
-    $438 = ($436|0)<($437|0);
-    if (!($438)) {
-     continue L3;
-    }
-    $439 = $2;
-    $440 = $6;
-    ;HEAP32[$$byval_copy7>>2]=HEAP32[$440>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$440+4>>2]|0;
-    $441 = (+_mrb_to_flo($439,$$byval_copy7));
-    $442 = $43;
-    HEAPF32[$442>>2] = $441;
-    $443 = $6;
-    $444 = ((($443)) + 8|0);
-    $6 = $444;
-    $445 = $5;
-    $446 = (($445) + 1)|0;
-    $5 = $446;
-    continue L3;
-    break;
-   }
-   case 105:  {
-    $arglist_current33 = HEAP32[$7>>2]|0;
-    $447 = $arglist_current33;
-    $448 = ((0) + 4|0);
-    $expanded88 = $448;
-    $expanded87 = (($expanded88) - 1)|0;
-    $449 = (($447) + ($expanded87))|0;
-    $450 = ((0) + 4|0);
-    $expanded92 = $450;
-    $expanded91 = (($expanded92) - 1)|0;
-    $expanded90 = $expanded91 ^ -1;
-    $451 = $449 & $expanded90;
-    $452 = $451;
-    $453 = HEAP32[$452>>2]|0;
-    $arglist_next34 = ((($452)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next34;
-    $46 = $453;
-    $454 = $46;
-    $45 = $454;
-    $455 = $5;
-    $456 = $8;
-    $457 = ($455|0)<($456|0);
-    if (!($457)) {
-     continue L3;
-    }
-    $458 = $6;
-    $459 = ((($458)) + 4|0);
-    $460 = HEAP32[$459>>2]|0;
-    switch ($460|0) {
-    case 16:  {
-     label = 72;
-     break L3;
-     break;
-    }
-    case 3:  {
-     $461 = $6;
-     $462 = HEAP32[$461>>2]|0;
-     $463 = $45;
-     HEAP32[$463>>2] = $462;
-     break;
-    }
-    case 6:  {
-     $464 = $6;
-     $465 = +HEAPF32[$464>>2];
-     $47 = $465;
-     $466 = $47;
-     $467 = $466 <= 2147483648.0;
-     $468 = $47;
-     $469 = $468 >= -2147483648.0;
-     $or$cond = $467 & $469;
-     if (!($or$cond)) {
-      label = 70;
-      break L3;
-     }
-     $473 = $47;
-     $474 = (~~(($473)));
-     $475 = $45;
-     HEAP32[$475>>2] = $474;
-     break;
-    }
-    default: {
-     $479 = $2;
-     $480 = $6;
-     ;HEAP32[$$byval_copy8>>2]=HEAP32[$480>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$480+4>>2]|0;
-     _mrb_Integer($48,$479,$$byval_copy8);
-     $481 = HEAP32[$48>>2]|0;
-     $482 = $45;
-     HEAP32[$482>>2] = $481;
-    }
-    }
-    $483 = $6;
-    $484 = ((($483)) + 8|0);
-    $6 = $484;
-    $485 = $5;
-    $486 = (($485) + 1)|0;
-    $5 = $486;
-    continue L3;
-    break;
-   }
-   case 98:  {
-    $arglist_current36 = HEAP32[$7>>2]|0;
-    $487 = $arglist_current36;
-    $488 = ((0) + 4|0);
-    $expanded95 = $488;
-    $expanded94 = (($expanded95) - 1)|0;
-    $489 = (($487) + ($expanded94))|0;
-    $490 = ((0) + 4|0);
-    $expanded99 = $490;
-    $expanded98 = (($expanded99) - 1)|0;
-    $expanded97 = $expanded98 ^ -1;
-    $491 = $489 & $expanded97;
-    $492 = $491;
-    $493 = HEAP32[$492>>2]|0;
-    $arglist_next37 = ((($492)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next37;
-    $50 = $493;
-    $494 = $50;
-    $49 = $494;
-    $495 = $5;
-    $496 = $8;
-    $497 = ($495|0)<($496|0);
-    if (!($497)) {
-     continue L3;
-    }
-    $498 = $6;
-    $499 = ((($498)) + 8|0);
-    $6 = $499;
-    ;HEAP32[$51>>2]=HEAP32[$498>>2]|0;HEAP32[$51+4>>2]=HEAP32[$498+4>>2]|0;
-    $500 = ((($51)) + 4|0);
-    $501 = HEAP32[$500>>2]|0;
-    $502 = ($501|0)!=(0);
-    $503 = $502&1;
-    $504 = $503&255;
-    $505 = $49;
-    HEAP8[$505>>0] = $504;
-    $506 = $5;
-    $507 = (($506) + 1)|0;
-    $5 = $507;
-    continue L3;
-    break;
-   }
-   case 110:  {
-    $arglist_current39 = HEAP32[$7>>2]|0;
-    $508 = $arglist_current39;
-    $509 = ((0) + 4|0);
-    $expanded102 = $509;
-    $expanded101 = (($expanded102) - 1)|0;
-    $510 = (($508) + ($expanded101))|0;
-    $511 = ((0) + 4|0);
-    $expanded106 = $511;
-    $expanded105 = (($expanded106) - 1)|0;
-    $expanded104 = $expanded105 ^ -1;
-    $512 = $510 & $expanded104;
-    $513 = $512;
-    $514 = HEAP32[$513>>2]|0;
-    $arglist_next40 = ((($513)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next40;
-    $53 = $514;
-    $515 = $53;
-    $52 = $515;
-    $516 = $5;
-    $517 = $8;
-    $518 = ($516|0)<($517|0);
-    if (!($518)) {
-     continue L3;
-    }
-    $519 = $6;
-    $520 = ((($519)) + 8|0);
-    $6 = $520;
-    ;HEAP32[$54>>2]=HEAP32[$519>>2]|0;HEAP32[$54+4>>2]=HEAP32[$519+4>>2]|0;
-    $521 = $2;
-    ;HEAP32[$$byval_copy9>>2]=HEAP32[$54>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$54+4>>2]|0;
-    $522 = (_to_sym($521,$$byval_copy9)|0);
-    $523 = $52;
-    HEAP32[$523>>2] = $522;
-    $524 = $5;
-    $525 = (($524) + 1)|0;
-    $5 = $525;
-    continue L3;
-    break;
-   }
-   case 100:  {
-    $arglist_current42 = HEAP32[$7>>2]|0;
-    $526 = $arglist_current42;
-    $527 = ((0) + 4|0);
-    $expanded109 = $527;
-    $expanded108 = (($expanded109) - 1)|0;
-    $528 = (($526) + ($expanded108))|0;
-    $529 = ((0) + 4|0);
-    $expanded113 = $529;
-    $expanded112 = (($expanded113) - 1)|0;
-    $expanded111 = $expanded112 ^ -1;
-    $530 = $528 & $expanded111;
-    $531 = $530;
-    $532 = HEAP32[$531>>2]|0;
-    $arglist_next43 = ((($531)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next43;
-    $57 = $532;
-    $533 = $57;
-    $55 = $533;
-    $arglist_current45 = HEAP32[$7>>2]|0;
-    $534 = $arglist_current45;
-    $535 = ((0) + 4|0);
-    $expanded116 = $535;
-    $expanded115 = (($expanded116) - 1)|0;
-    $536 = (($534) + ($expanded115))|0;
-    $537 = ((0) + 4|0);
-    $expanded120 = $537;
-    $expanded119 = (($expanded120) - 1)|0;
-    $expanded118 = $expanded119 ^ -1;
-    $538 = $536 & $expanded118;
-    $539 = $538;
-    $540 = HEAP32[$539>>2]|0;
-    $arglist_next46 = ((($539)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next46;
-    $58 = $540;
-    $541 = $58;
-    $56 = $541;
-    $542 = $3;
-    $543 = HEAP8[$542>>0]|0;
-    $544 = $543 << 24 >> 24;
-    $545 = ($544|0)==(33);
-    if ($545) {
-     $546 = $3;
-     $547 = ((($546)) + 1|0);
-     $3 = $547;
-     $548 = $5;
-     $549 = $8;
-     $550 = ($548|0)<($549|0);
-     if ($550) {
-      $551 = $6;
-      $552 = ((($551)) + 4|0);
-      $553 = HEAP32[$552>>2]|0;
-      $554 = ($553|0)==(0);
-      if ($554) {
-       $555 = $6;
-       $556 = HEAP32[$555>>2]|0;
-       $557 = ($556|0)!=(0);
-       if (!($557)) {
-        $558 = $55;
-        HEAP32[$558>>2] = 0;
-        $559 = $5;
-        $560 = (($559) + 1)|0;
-        $5 = $560;
-        $561 = $6;
-        $562 = ((($561)) + 8|0);
-        $6 = $562;
-        continue L3;
-       }
-      }
-     }
-    }
-    $563 = $5;
-    $564 = $8;
-    $565 = ($563|0)<($564|0);
-    if (!($565)) {
-     continue L3;
-    }
-    $566 = $2;
-    $567 = $6;
-    $568 = ((($567)) + 8|0);
-    $6 = $568;
-    $569 = $56;
-    ;HEAP32[$$byval_copy10>>2]=HEAP32[$567>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$567+4>>2]|0;
-    $570 = (_mrb_data_get_ptr($566,$$byval_copy10,$569)|0);
-    $571 = $55;
-    HEAP32[$571>>2] = $570;
-    $572 = $5;
-    $573 = (($572) + 1)|0;
-    $5 = $573;
-    continue L3;
-    break;
-   }
-   case 38:  {
-    $arglist_current48 = HEAP32[$7>>2]|0;
-    $574 = $arglist_current48;
-    $575 = ((0) + 4|0);
-    $expanded123 = $575;
-    $expanded122 = (($expanded123) - 1)|0;
-    $576 = (($574) + ($expanded122))|0;
-    $577 = ((0) + 4|0);
-    $expanded127 = $577;
-    $expanded126 = (($expanded127) - 1)|0;
-    $expanded125 = $expanded126 ^ -1;
-    $578 = $576 & $expanded125;
-    $579 = $578;
-    $580 = HEAP32[$579>>2]|0;
-    $arglist_next49 = ((($579)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next49;
-    $61 = $580;
-    $581 = $61;
-    $59 = $581;
-    $582 = $2;
-    $583 = ((($582)) + 12|0);
-    $584 = HEAP32[$583>>2]|0;
-    $585 = ((($584)) + 16|0);
-    $586 = HEAP32[$585>>2]|0;
-    $587 = ((($586)) + 36|0);
-    $588 = HEAP32[$587>>2]|0;
-    $589 = ($588|0)<(0);
-    $590 = $2;
-    $591 = ((($590)) + 12|0);
-    $592 = HEAP32[$591>>2]|0;
-    $593 = ((($592)) + 4|0);
-    $594 = HEAP32[$593>>2]|0;
-    if ($589) {
-     $595 = ((($594)) + 16|0);
-     $60 = $595;
-    } else {
-     $596 = $2;
-     $597 = ((($596)) + 12|0);
-     $598 = HEAP32[$597>>2]|0;
-     $599 = ((($598)) + 16|0);
-     $600 = HEAP32[$599>>2]|0;
-     $601 = ((($600)) + 36|0);
-     $602 = HEAP32[$601>>2]|0;
-     $603 = (($594) + ($602<<3)|0);
-     $604 = ((($603)) + 8|0);
-     $60 = $604;
-    }
-    $605 = $59;
-    $606 = $60;
-    ;HEAP32[$605>>2]=HEAP32[$606>>2]|0;HEAP32[$605+4>>2]=HEAP32[$606+4>>2]|0;
-    continue L3;
-    break;
-   }
-   case 124:  {
-    $9 = 1;
-    continue L3;
-    break;
-   }
-   case 63:  {
-    $arglist_current51 = HEAP32[$7>>2]|0;
-    $607 = $arglist_current51;
-    $608 = ((0) + 4|0);
-    $expanded130 = $608;
-    $expanded129 = (($expanded130) - 1)|0;
-    $609 = (($607) + ($expanded129))|0;
-    $610 = ((0) + 4|0);
-    $expanded134 = $610;
-    $expanded133 = (($expanded134) - 1)|0;
-    $expanded132 = $expanded133 ^ -1;
-    $611 = $609 & $expanded132;
-    $612 = $611;
-    $613 = HEAP32[$612>>2]|0;
-    $arglist_next52 = ((($612)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next52;
-    $63 = $613;
-    $614 = $63;
-    $62 = $614;
-    $615 = $10;
-    $616 = $62;
-    HEAP8[$616>>0] = $615;
-    continue L3;
-    break;
-   }
-   case 42:  {
-    $arglist_current54 = HEAP32[$7>>2]|0;
-    $617 = $arglist_current54;
-    $618 = ((0) + 4|0);
-    $expanded137 = $618;
-    $expanded136 = (($expanded137) - 1)|0;
-    $619 = (($617) + ($expanded136))|0;
-    $620 = ((0) + 4|0);
-    $expanded141 = $620;
-    $expanded140 = (($expanded141) - 1)|0;
-    $expanded139 = $expanded140 ^ -1;
-    $621 = $619 & $expanded139;
-    $622 = $621;
-    $623 = HEAP32[$622>>2]|0;
-    $arglist_next55 = ((($622)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next55;
-    $66 = $623;
-    $624 = $66;
-    $64 = $624;
-    $arglist_current57 = HEAP32[$7>>2]|0;
-    $625 = $arglist_current57;
-    $626 = ((0) + 4|0);
-    $expanded144 = $626;
-    $expanded143 = (($expanded144) - 1)|0;
-    $627 = (($625) + ($expanded143))|0;
-    $628 = ((0) + 4|0);
-    $expanded148 = $628;
-    $expanded147 = (($expanded148) - 1)|0;
-    $expanded146 = $expanded147 ^ -1;
-    $629 = $627 & $expanded146;
-    $630 = $629;
-    $631 = HEAP32[$630>>2]|0;
-    $arglist_next58 = ((($630)) + 4|0);
-    HEAP32[$7>>2] = $arglist_next58;
-    $67 = $631;
-    $632 = $67;
-    $65 = $632;
-    $633 = $8;
-    $634 = $5;
-    $635 = ($633|0)>($634|0);
-    if (!($635)) {
-     $650 = $65;
-     HEAP32[$650>>2] = 0;
-     $651 = $64;
-     HEAP32[$651>>2] = 0;
-     continue L3;
-    }
-    $636 = $8;
-    $637 = $5;
-    $638 = (($636) - ($637))|0;
-    $639 = $65;
-    HEAP32[$639>>2] = $638;
-    $640 = $65;
-    $641 = HEAP32[$640>>2]|0;
-    $642 = ($641|0)>(0);
-    if ($642) {
-     $643 = $6;
-     $644 = $64;
-     HEAP32[$644>>2] = $643;
-    }
-    $645 = $8;
-    $5 = $645;
-    $646 = $65;
-    $647 = HEAP32[$646>>2]|0;
-    $648 = $6;
-    $649 = (($648) + ($647<<3)|0);
-    $6 = $649;
-    continue L3;
-    break;
-   }
-   default: {
-    label = 97;
-    break L3;
-   }
-   }
-  } while(0);
- }
- if ((label|0) == 8) {
-  $108 = $2;
-  $109 = $2;
-  $110 = (_mrb_class_get($109,69160)|0);
-  _mrb_raise($108,$110,65128);
-  // unreachable;
- }
- else if ((label|0) == 14) {
-  $144 = $2;
-  $145 = $2;
-  $146 = (_mrb_class_get($145,69204)|0);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$16>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$16+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$16+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$16+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$16+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$16+7>>0]|0;
-  _mrb_raisef($144,$146,65154,$vararg_buffer);
-  // unreachable;
- }
- else if ((label|0) == 70) {
-  $470 = $2;
-  $471 = $2;
-  $472 = (_mrb_class_get($471,65177)|0);
-  _mrb_raise($470,$472,65188);
-  // unreachable;
- }
- else if ((label|0) == 72) {
-  $476 = $2;
-  $477 = $2;
-  $478 = (_mrb_class_get($477,69204)|0);
-  _mrb_raise($476,$478,65210);
-  // unreachable;
- }
- else if ((label|0) == 97) {
-  $652 = $2;
-  $653 = $2;
-  $654 = (_mrb_class_get($653,69160)|0);
-  $655 = $2;
-  _mrb_str_new($68,$655,$4,1);
-  ;HEAP8[$vararg_buffer59>>0]=HEAP8[$68>>0]|0;HEAP8[$vararg_buffer59+1>>0]=HEAP8[$68+1>>0]|0;HEAP8[$vararg_buffer59+2>>0]=HEAP8[$68+2>>0]|0;HEAP8[$vararg_buffer59+3>>0]=HEAP8[$68+3>>0]|0;HEAP8[$vararg_buffer59+4>>0]=HEAP8[$68+4>>0]|0;HEAP8[$vararg_buffer59+5>>0]=HEAP8[$68+5>>0]|0;HEAP8[$vararg_buffer59+6>>0]=HEAP8[$68+6>>0]|0;HEAP8[$vararg_buffer59+7>>0]=HEAP8[$68+7>>0]|0;
-  _mrb_raisef($652,$654,65256,$vararg_buffer59);
-  // unreachable;
- }
- else if ((label|0) == 98) {
-  $656 = ($101<<24>>24)!=(0);
-  if ($656) {
-   $663 = $5;
-   STACKTOP = sp;return ($663|0);
-  }
-  $657 = $8;
-  $658 = $5;
-  $659 = ($657|0)>($658|0);
-  if ($659) {
-   $660 = $2;
-   $661 = $2;
-   $662 = (_mrb_class_get($661,69160)|0);
-   _mrb_raise($660,$662,65128);
-   // unreachable;
-  } else {
-   $663 = $5;
-   STACKTOP = sp;return ($663|0);
-  }
- }
- return (0)|0;
-}
-function _to_str($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _check_type($0,$4,$$byval_copy,16,65324,65331);
- STACKTOP = sp;return;
-}
-function _to_ary($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _check_type($0,$4,$$byval_copy,14,65311,65317);
- STACKTOP = sp;return;
-}
-function _to_hash($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _check_type($0,$4,$$byval_copy,15,65286,65291);
- STACKTOP = sp;return;
-}
-function _to_sym($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy4 = sp + 56|0;
- $$byval_copy3 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 24|0;
- $5 = sp + 16|0;
- $3 = $0;
- $6 = ((($1)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)==(4);
- if ($8) {
-  $9 = HEAP32[$1>>2]|0;
-  $2 = $9;
-  $19 = $2;
-  STACKTOP = sp;return ($19|0);
- }
- $10 = ((($1)) + 4|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)==(16);
- $13 = $3;
- if (!($12)) {
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;
-  _mrb_funcall($5,$13,$$byval_copy4,69281,0,$vararg_buffer);
-  $16 = $3;
-  $17 = $3;
-  $18 = (_mrb_class_get($17,69204)|0);
-  ;HEAP8[$vararg_buffer1>>0]=HEAP8[$5>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$5+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$5+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$5+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$5+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$5+7>>0]|0;
-  _mrb_raisef($16,$18,68731,$vararg_buffer1);
-  // unreachable;
- }
- $14 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _to_str($4,$14,$$byval_copy);
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
- $15 = (_mrb_intern_str($13,$$byval_copy3)|0);
- $2 = $15;
- $19 = $2;
- STACKTOP = sp;return ($19|0);
-}
-function _check_type($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy = sp + 48|0;
- $vararg_buffer = sp;
- $10 = sp + 24|0;
- $11 = sp + 16|0;
- $12 = sp + 8|0;
- $6 = $1;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $13 = $6;
- $14 = $7;
- $15 = $8;
- $16 = $9;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_check_convert_type($11,$13,$$byval_copy,$14,$15,$16);
- ;HEAP32[$10>>2]=HEAP32[$11>>2]|0;HEAP32[$10+4>>2]=HEAP32[$11+4>>2]|0;
- $17 = ((($10)) + 4|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = ($18|0)==(0);
- if (!($19)) {
-  ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $20 = HEAP32[$10>>2]|0;
- $21 = ($20|0)!=(0);
- if ($21) {
-  ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  $22 = $6;
-  $23 = $6;
-  $24 = (_mrb_class_get($23,69204)|0);
-  $25 = $6;
-  $26 = $8;
-  _mrb_str_new_cstr($12,$25,$26);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$12+7>>0]|0;
-  _mrb_raisef($22,$24,65299,$vararg_buffer);
-  // unreachable;
- }
-}
-function _mrb_include_module($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $4;
- $10 = (_find_origin($9)|0);
- $11 = $5;
- $12 = (_include_module_at($7,$8,$10,$11,1)|0);
- $6 = $12;
- $13 = $6;
- $14 = ($13|0)<(0);
- if ($14) {
-  $15 = $3;
-  $16 = $3;
-  $17 = (_mrb_class_get($16,69160)|0);
-  _mrb_raise($15,$17,65338);
-  // unreachable;
- } else {
-  STACKTOP = sp;return;
- }
-}
-function _find_origin($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = HEAP32[$2>>2]|0;
- $4 = $3 >>> 11;
- $5 = $4 & 524288;
- $6 = ($5|0)!=(0);
- if (!($6)) {
-  $19 = $1;
-  STACKTOP = sp;return ($19|0);
- }
- $7 = $1;
- $8 = ((($7)) + 20|0);
- $9 = HEAP32[$8>>2]|0;
- $1 = $9;
- while(1) {
-  $10 = $1;
-  $11 = HEAP32[$10>>2]|0;
-  $12 = $11 >>> 11;
-  $13 = $12 & 1048576;
-  $14 = ($13|0)!=(0);
-  $15 = $14 ^ 1;
-  if (!($15)) {
-   break;
-  }
-  $16 = $1;
-  $17 = ((($16)) + 20|0);
-  $18 = HEAP32[$17>>2]|0;
-  $1 = $18;
- }
- $19 = $1;
- STACKTOP = sp;return ($19|0);
-}
-function _include_module_at($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
- var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $6 = $0;
- $7 = $1;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- $15 = $7;
- $16 = (_find_origin($15)|0);
- $17 = ((($16)) + 16|0);
- $18 = HEAP32[$17>>2]|0;
- $13 = $18;
- L1: while(1) {
-  $19 = $9;
-  $20 = ($19|0)!=(0|0);
-  if (!($20)) {
-   label = 19;
-   break;
-  }
-  $14 = 0;
-  $21 = $9;
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $22 >>> 11;
-  $24 = $23 & 524288;
-  $25 = ($24|0)!=(0);
-  do {
-   if (!($25)) {
-    $26 = $13;
-    $27 = ($26|0)!=(0|0);
-    if ($27) {
-     $28 = $13;
-     $29 = $9;
-     $30 = ((($29)) + 16|0);
-     $31 = HEAP32[$30>>2]|0;
-     $32 = ($28|0)==($31|0);
-     if ($32) {
-      label = 6;
-      break L1;
-     }
-    }
-    $33 = $7;
-    $34 = ((($33)) + 20|0);
-    $35 = HEAP32[$34>>2]|0;
-    $11 = $35;
-    while(1) {
-     $36 = $11;
-     $37 = ($36|0)!=(0|0);
-     if (!($37)) {
-      label = 17;
-      break;
-     }
-     $38 = $11;
-     $39 = HEAP32[$38>>2]|0;
-     $40 = $39 & 255;
-     $41 = ($40|0)==(11);
-     $42 = $11;
-     if ($41) {
-      $43 = ((($42)) + 16|0);
-      $44 = HEAP32[$43>>2]|0;
-      $45 = $9;
-      $46 = ((($45)) + 16|0);
-      $47 = HEAP32[$46>>2]|0;
-      $48 = ($44|0)==($47|0);
-      if ($48) {
-       break;
-      }
-     } else {
-      $52 = HEAP32[$42>>2]|0;
-      $53 = $52 & 255;
-      $54 = ($53|0)==(9);
-      if ($54) {
-       $55 = $10;
-       $56 = ($55|0)!=(0);
-       if (!($56)) {
-        label = 17;
-        break;
-       }
-       $14 = 1;
-      }
-     }
-     $57 = $11;
-     $58 = ((($57)) + 20|0);
-     $59 = HEAP32[$58>>2]|0;
-     $11 = $59;
-    }
-    if ((label|0) == 17) {
-     label = 0;
-     $60 = $6;
-     $61 = $9;
-     $62 = $8;
-     $63 = ((($62)) + 20|0);
-     $64 = HEAP32[$63>>2]|0;
-     $65 = (_include_class_new($60,$61,$64)|0);
-     $12 = $65;
-     $66 = $12;
-     $67 = $8;
-     $68 = ((($67)) + 20|0);
-     HEAP32[$68>>2] = $66;
-     $69 = $6;
-     $70 = $8;
-     $71 = $8;
-     $72 = ((($71)) + 20|0);
-     $73 = HEAP32[$72>>2]|0;
-     _mrb_field_write_barrier($69,$70,$73);
-     $74 = $12;
-     $8 = $74;
-     break;
-    }
-    $49 = $14;
-    $50 = ($49|0)!=(0);
-    if (!($50)) {
-     $51 = $11;
-     $8 = $51;
-    }
-   }
-  } while(0);
-  $75 = $9;
-  $76 = ((($75)) + 20|0);
-  $77 = HEAP32[$76>>2]|0;
-  $9 = $77;
- }
- if ((label|0) == 6) {
-  $5 = -1;
-  $78 = $5;
-  STACKTOP = sp;return ($78|0);
- }
- else if ((label|0) == 19) {
-  $5 = 0;
-  $78 = $5;
-  STACKTOP = sp;return ($78|0);
- }
- return (0)|0;
-}
-function _include_class_new($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$sink = 0, $$sink2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $3;
- $8 = $3;
- $9 = ((($8)) + 36|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = (_mrb_obj_alloc($7,11,$10)|0);
- $6 = $11;
- $12 = $4;
- $13 = HEAP32[$12>>2]|0;
- $14 = $13 & 255;
- $15 = ($14|0)==(11);
- if ($15) {
-  $16 = $4;
-  $17 = ((($16)) + 4|0);
-  $18 = HEAP32[$17>>2]|0;
-  $4 = $18;
- }
- $19 = $4;
- $20 = HEAP32[$19>>2]|0;
- $21 = $20 >>> 11;
- $22 = $21 & 524288;
- $23 = ($22|0)!=(0);
- L4: do {
-  if ($23) {
-   $24 = $4;
-   $25 = ((($24)) + 20|0);
-   $26 = HEAP32[$25>>2]|0;
-   $4 = $26;
-   while(1) {
-    $27 = $4;
-    $28 = HEAP32[$27>>2]|0;
-    $29 = $28 >>> 11;
-    $30 = $29 & 1048576;
-    $31 = ($30|0)!=(0);
-    $32 = $31 ^ 1;
-    if (!($32)) {
-     break L4;
-    }
-    $33 = $4;
-    $34 = ((($33)) + 20|0);
-    $35 = HEAP32[$34>>2]|0;
-    $4 = $35;
-   }
-  }
- } while(0);
- $36 = $4;
- $37 = ((($36)) + 12|0);
- $38 = HEAP32[$37>>2]|0;
- $39 = $6;
- $40 = ((($39)) + 12|0);
- HEAP32[$40>>2] = $38;
- $41 = $4;
- $42 = ((($41)) + 16|0);
- $43 = HEAP32[$42>>2]|0;
- $44 = $6;
- $45 = ((($44)) + 16|0);
- HEAP32[$45>>2] = $43;
- $46 = $5;
- $47 = $6;
- $48 = ((($47)) + 20|0);
- HEAP32[$48>>2] = $46;
- $49 = $4;
- $50 = HEAP32[$49>>2]|0;
- $51 = $50 & 255;
- $52 = ($51|0)==(11);
- $53 = $4;
- if ($52) {
-  $54 = ((($53)) + 4|0);
-  $55 = HEAP32[$54>>2]|0;
-  $56 = $6;
-  $$sink = $55;$$sink2 = $56;
-  $58 = ((($$sink2)) + 4|0);
-  HEAP32[$58>>2] = $$sink;
-  $59 = $6;
-  STACKTOP = sp;return ($59|0);
- } else {
-  $57 = $6;
-  $$sink = $53;$$sink2 = $57;
-  $58 = ((($$sink2)) + 4|0);
-  HEAP32[$58>>2] = $$sink;
-  $59 = $6;
-  STACKTOP = sp;return ($59|0);
- }
- return (0)|0;
-}
-function _mrb_prepend_module($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = 0;
- $8 = $4;
- $9 = HEAP32[$8>>2]|0;
- $10 = $9 >>> 11;
- $11 = $10 & 524288;
- $12 = ($11|0)!=(0);
- if (!($12)) {
-  $13 = $3;
-  $14 = $4;
-  $15 = (_mrb_obj_alloc($13,11,$14)|0);
-  $6 = $15;
-  $16 = $6;
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $17 >>> 11;
-  $19 = $18 | 1048576;
-  $20 = HEAP32[$16>>2]|0;
-  $21 = $19 & 2097151;
-  $22 = $21 << 11;
-  $23 = $20 & 2047;
-  $24 = $23 | $22;
-  HEAP32[$16>>2] = $24;
-  $25 = $4;
-  $26 = ((($25)) + 20|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = $6;
-  $29 = ((($28)) + 20|0);
-  HEAP32[$29>>2] = $27;
-  $30 = $6;
-  $31 = $4;
-  $32 = ((($31)) + 20|0);
-  HEAP32[$32>>2] = $30;
-  $33 = $4;
-  $34 = ((($33)) + 16|0);
-  $35 = HEAP32[$34>>2]|0;
-  $36 = $6;
-  $37 = ((($36)) + 16|0);
-  HEAP32[$37>>2] = $35;
-  $38 = $3;
-  $39 = (_kh_init_mt($38)|0);
-  $40 = $4;
-  $41 = ((($40)) + 16|0);
-  HEAP32[$41>>2] = $39;
-  $42 = $3;
-  $43 = $4;
-  $44 = $6;
-  _mrb_field_write_barrier($42,$43,$44);
-  $45 = $4;
-  $46 = HEAP32[$45>>2]|0;
-  $47 = $46 >>> 11;
-  $48 = $47 | 524288;
-  $49 = HEAP32[$45>>2]|0;
-  $50 = $48 & 2097151;
-  $51 = $50 << 11;
-  $52 = $49 & 2047;
-  $53 = $52 | $51;
-  HEAP32[$45>>2] = $53;
- }
- $54 = $3;
- $55 = $4;
- $56 = $4;
- $57 = $5;
- $58 = (_include_module_at($54,$55,$56,$57,0)|0);
- $7 = $58;
- $59 = $7;
- $60 = ($59|0)<(0);
- if ($60) {
-  $61 = $3;
-  $62 = $3;
-  $63 = (_mrb_class_get($62,69160)|0);
-  _mrb_raise($61,$63,65362);
-  // unreachable;
- } else {
-  STACKTOP = sp;return;
- }
-}
-function _mrb_singleton_class($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $5 = sp;
- $3 = $1;
- $6 = ((($2)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- switch ($7|0) {
- case 0:  {
-  $8 = ((($2)) + 4|0);
-  $9 = HEAP32[$8>>2]|0;
-  $10 = ($9|0)==(0);
-  if ($10) {
-   $11 = HEAP32[$2>>2]|0;
-   $12 = ($11|0)!=(0);
-   if (!($12)) {
-    $13 = $3;
-    $14 = ((($13)) + 76|0);
-    $15 = HEAP32[$14>>2]|0;
-    _mrb_obj_value_661($0,$15);
-    STACKTOP = sp;return;
-   }
-  }
-  $16 = $3;
-  $17 = ((($16)) + 72|0);
-  $18 = HEAP32[$17>>2]|0;
-  _mrb_obj_value_661($0,$18);
-  STACKTOP = sp;return;
-  break;
- }
- case 2:  {
-  $19 = $3;
-  $20 = ((($19)) + 68|0);
-  $21 = HEAP32[$20>>2]|0;
-  _mrb_obj_value_661($0,$21);
-  STACKTOP = sp;return;
-  break;
- }
- case 7:  {
-  $22 = $3;
-  $23 = ((($22)) + 32|0);
-  $24 = HEAP32[$23>>2]|0;
-  _mrb_obj_value_661($0,$24);
-  STACKTOP = sp;return;
-  break;
- }
- case 6: case 3: case 4:  {
-  $25 = $3;
-  $26 = $3;
-  $27 = (_mrb_class_get($26,69204)|0);
-  _mrb_raise($25,$27,65386);
-  // unreachable;
-  break;
- }
- default: {
-  $28 = HEAP32[$2>>2]|0;
-  $4 = $28;
-  $29 = $3;
-  $30 = $4;
-  _prepare_singleton_class($29,$30);
-  $31 = $3;
-  $32 = ((($31)) + 12|0);
-  $33 = HEAP32[$32>>2]|0;
-  $34 = ($33|0)!=(0|0);
-  if ($34) {
-   $35 = $3;
-   $36 = ((($35)) + 12|0);
-   $37 = HEAP32[$36>>2]|0;
-   $38 = ((($37)) + 16|0);
-   $39 = HEAP32[$38>>2]|0;
-   $40 = ($39|0)!=(0|0);
-   if ($40) {
-    $41 = $3;
-    $42 = ((($41)) + 12|0);
-    $43 = HEAP32[$42>>2]|0;
-    $44 = ((($43)) + 16|0);
-    $45 = HEAP32[$44>>2]|0;
-    $46 = ((($45)) + 44|0);
-    $47 = HEAP32[$46>>2]|0;
-    $48 = ($47|0)!=(0|0);
-    if ($48) {
-     $49 = $3;
-     $50 = $4;
-     $51 = ((($50)) + 4|0);
-     $52 = HEAP32[$51>>2]|0;
-     $53 = $3;
-     $54 = (_mrb_intern_static($53,64860,9)|0);
-     $55 = $3;
-     $56 = ((($55)) + 12|0);
-     $57 = HEAP32[$56>>2]|0;
-     $58 = ((($57)) + 16|0);
-     $59 = HEAP32[$58>>2]|0;
-     $60 = ((($59)) + 44|0);
-     $61 = HEAP32[$60>>2]|0;
-     _mrb_obj_value_661($5,$61);
-     ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
-     _mrb_obj_iv_set($49,$52,$54,$$byval_copy);
-    }
-   }
-  }
-  $62 = $4;
-  $63 = ((($62)) + 4|0);
-  $64 = HEAP32[$63>>2]|0;
-  _mrb_obj_value_661($0,$64);
-  STACKTOP = sp;return;
- }
- }
-}
-function _mrb_define_singleton_method($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $10 = $5;
- $11 = $6;
- _prepare_singleton_class($10,$11);
- $12 = $5;
- $13 = $6;
- $14 = ((($13)) + 4|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = $5;
- $17 = $7;
- $18 = (_mrb_intern_cstr($16,$17)|0);
- $19 = $8;
- $20 = $9;
- _mrb_define_method_id($12,$15,$18,$19,$20);
- STACKTOP = sp;return;
-}
-function _mrb_define_class_method($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $10 = $5;
- $11 = $6;
- $12 = $7;
- $13 = $8;
- $14 = $9;
- _mrb_define_singleton_method($10,$11,$12,$13,$14);
- STACKTOP = sp;return;
-}
-function _mrb_method_search_vm($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $11 = $5;
- $12 = HEAP32[$11>>2]|0;
- $9 = $12;
- while(1) {
-  $13 = $9;
-  $14 = ($13|0)!=(0|0);
-  if (!($14)) {
-   break;
-  }
-  $15 = $9;
-  $16 = ((($15)) + 16|0);
-  $17 = HEAP32[$16>>2]|0;
-  $10 = $17;
-  $18 = $10;
-  $19 = ($18|0)!=(0|0);
-  if ($19) {
-   $20 = $4;
-   $21 = $10;
-   $22 = $6;
-   $23 = (_kh_get_mt($20,$21,$22)|0);
-   $7 = $23;
-   $24 = $7;
-   $25 = $10;
-   $26 = HEAP32[$25>>2]|0;
-   $27 = ($24|0)!=($26|0);
-   if ($27) {
-    label = 5;
-    break;
-   }
-  }
-  $39 = $9;
-  $40 = ((($39)) + 20|0);
-  $41 = HEAP32[$40>>2]|0;
-  $9 = $41;
- }
- if ((label|0) == 5) {
-  $28 = $10;
-  $29 = ((($28)) + 20|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = $7;
-  $32 = (($30) + ($31<<2)|0);
-  $33 = HEAP32[$32>>2]|0;
-  $8 = $33;
-  $34 = $8;
-  $35 = ($34|0)!=(0|0);
-  if ($35) {
-   $36 = $9;
-   $37 = $5;
-   HEAP32[$37>>2] = $36;
-   $38 = $8;
-   $3 = $38;
-   $42 = $3;
-   STACKTOP = sp;return ($42|0);
-  }
- }
- $3 = 0;
- $42 = $3;
- STACKTOP = sp;return ($42|0);
-}
-function _mrb_method_search($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy4 = sp + 88|0;
- $$byval_copy = sp + 80|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 72|0;
- $7 = sp + 56|0;
- $8 = sp + 48|0;
- $9 = sp + 40|0;
- $10 = sp + 32|0;
- $11 = sp + 24|0;
- $3 = $0;
- HEAP32[$4>>2] = $1;
- $5 = $2;
- $12 = $3;
- $13 = $5;
- $14 = (_mrb_method_search_vm($12,$4,$13)|0);
- $6 = $14;
- $15 = $6;
- $16 = ($15|0)!=(0|0);
- if ($16) {
-  $42 = $6;
-  STACKTOP = sp;return ($42|0);
- }
- $17 = $3;
- $18 = HEAP32[$4>>2]|0;
- _mrb_obj_value_661($8,$18);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
- _mrb_funcall($7,$17,$$byval_copy,69281,0,$vararg_buffer);
- $19 = ((($7)) + 4|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = ($20|0)==(16);
- if ($21) {
-  $22 = HEAP32[$7>>2]|0;
-  $23 = HEAP32[$22>>2]|0;
-  $24 = $23 >>> 11;
-  $25 = $24 & 8;
-  $26 = ($25|0)!=(0);
-  $27 = HEAP32[$7>>2]|0;
-  if ($26) {
-   $28 = HEAP32[$27>>2]|0;
-   $29 = $28 >>> 11;
-   $30 = $29 & 496;
-   $31 = $30 >> 4;
-   $35 = $31;
-  } else {
-   $32 = ((($27)) + 12|0);
-   $33 = HEAP32[$32>>2]|0;
-   $35 = $33;
-  }
-  $34 = ($35|0)>(64);
-  if ($34) {
-   $36 = $3;
-   $37 = HEAP32[$4>>2]|0;
-   _mrb_obj_value_661($9,$37);
-   ;HEAP32[$$byval_copy4>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$9+4>>2]|0;
-   _mrb_any_to_s($10,$36,$$byval_copy4);
-   ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
-  }
- }
- $38 = $3;
- $39 = $5;
- $40 = $3;
- $41 = $5;
- _mrb_sym2str($11,$40,$41);
- ;HEAP8[$vararg_buffer1>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$11+7>>0]|0;
- $vararg_ptr3 = ((($vararg_buffer1)) + 8|0);
- ;HEAP8[$vararg_ptr3>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_ptr3+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_ptr3+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_ptr3+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_ptr3+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_ptr3+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_ptr3+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_ptr3+7>>0]=HEAP8[$7+7>>0]|0;
- _mrb_name_error($38,$39,65409,$vararg_buffer1);
- // unreachable;
- return (0)|0;
-}
-function _mrb_instance_new($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy4 = sp + 80|0;
- $$byval_copy3 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $vararg_buffer = sp;
- $4 = sp + 48|0;
- $5 = sp + 40|0;
- $6 = sp + 36|0;
- $7 = sp + 32|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $3 = $1;
- $10 = $3;
- HEAP32[$vararg_buffer>>2] = $6;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $7;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- HEAP32[$vararg_ptr2>>2] = $5;
- (_mrb_get_args($10,65444,$vararg_buffer)|0);
- $11 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_instance_alloc($8,$11,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$8>>2]|0;HEAP32[$4+4>>2]=HEAP32[$8+4>>2]|0;
- $12 = $3;
- $13 = $3;
- $14 = (_mrb_intern_static($13,69252,10)|0);
- $15 = HEAP32[$7>>2]|0;
- $16 = HEAP32[$6>>2]|0;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_funcall_with_block($9,$12,$$byval_copy3,$14,$15,$16,$$byval_copy4);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_instance_alloc($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $7 = HEAP32[$2>>2]|0;
- $4 = $7;
- $8 = $4;
- $9 = HEAP32[$8>>2]|0;
- $10 = $9 >>> 11;
- $11 = $10 & 255;
- $6 = $11;
- $12 = $4;
- $13 = HEAP32[$12>>2]|0;
- $14 = $13 & 255;
- $15 = ($14|0)==(12);
- if ($15) {
-  $16 = $3;
-  $17 = $3;
-  $18 = (_mrb_class_get($17,69204)|0);
-  _mrb_raise($16,$18,65447);
-  // unreachable;
- }
- $19 = $6;
- $20 = ($19|0)==(0);
- if ($20) {
-  $6 = 8;
- }
- $21 = $3;
- $22 = $6;
- $23 = $4;
- $24 = (_mrb_obj_alloc($21,$22,$23)|0);
- $5 = $24;
- $25 = $5;
- _mrb_obj_value_661($0,$25);
- STACKTOP = sp;return;
-}
-function _mrb_obj_new($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $9 = sp + 24|0;
- $10 = sp + 16|0;
- $11 = sp + 8|0;
- $12 = sp;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $13 = $5;
- $14 = $6;
- _mrb_obj_value_661($10,$14);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_instance_alloc($11,$13,$$byval_copy);
- ;HEAP32[$9>>2]=HEAP32[$11>>2]|0;HEAP32[$9+4>>2]=HEAP32[$11+4>>2]|0;
- $15 = $5;
- $16 = $5;
- $17 = (_mrb_intern_static($16,69252,10)|0);
- $18 = $7;
- $19 = $8;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
- _mrb_funcall_argv($12,$15,$$byval_copy1,$17,$18,$19);
- ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_method_missing($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
- var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
- var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
- var $8 = 0, $80 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
- $$byval_copy6 = sp + 120|0;
- $$byval_copy5 = sp + 112|0;
- $$byval_copy4 = sp + 104|0;
- $$byval_copy3 = sp + 96|0;
- $$byval_copy2 = sp + 88|0;
- $$byval_copy = sp + 80|0;
- $vararg_buffer = sp;
- $7 = sp + 56|0;
- $8 = sp + 48|0;
- $9 = sp + 40|0;
- $10 = sp + 32|0;
- $11 = sp + 24|0;
- $12 = sp + 16|0;
- $4 = $0;
- $5 = $1;
- $13 = $4;
- $14 = (_mrb_intern_static($13,69281,7)|0);
- $6 = $14;
- $15 = $4;
- $16 = ((($15)) + 12|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ((($17)) + 16|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = $4;
- $21 = ((($20)) + 12|0);
- $22 = HEAP32[$21>>2]|0;
- $23 = ((($22)) + 20|0);
- $24 = HEAP32[$23>>2]|0;
- $25 = ($19>>>0)>($24>>>0);
- if ($25) {
-  $26 = $4;
-  $27 = ((($26)) + 12|0);
-  $28 = HEAP32[$27>>2]|0;
-  $29 = ((($28)) + 16|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = ((($30)) + -48|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = $6;
-  $34 = ($32|0)==($33|0);
-  if ($34) {
-   $35 = $4;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-   _mrb_any_to_s($8,$35,$$byval_copy);
-   ;HEAP32[$7>>2]=HEAP32[$8>>2]|0;HEAP32[$7+4>>2]=HEAP32[$8+4>>2]|0;
-  } else {
-   label = 4;
-  }
- } else {
-  label = 4;
- }
- do {
-  if ((label|0) == 4) {
-   $36 = $4;
-   $37 = $6;
-   ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-   $38 = (_mrb_respond_to($36,$$byval_copy2,$37)|0);
-   $39 = $38&255;
-   $40 = ($39|0)!=(0);
-   if ($40) {
-    $41 = $4;
-    $42 = ((($41)) + 12|0);
-    $43 = HEAP32[$42>>2]|0;
-    $44 = ((($43)) + 16|0);
-    $45 = HEAP32[$44>>2]|0;
-    $46 = $4;
-    $47 = ((($46)) + 12|0);
-    $48 = HEAP32[$47>>2]|0;
-    $49 = ((($48)) + 20|0);
-    $50 = HEAP32[$49>>2]|0;
-    $51 = $45;
-    $52 = $50;
-    $53 = (($51) - ($52))|0;
-    $54 = (($53|0) / 48)&-1;
-    $55 = ($54|0)<(64);
-    if ($55) {
-     $56 = $4;
-     $57 = $6;
-     ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
-     _mrb_funcall_argv($9,$56,$$byval_copy3,$57,0,0);
-     ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
-     $58 = ((($7)) + 4|0);
-     $59 = HEAP32[$58>>2]|0;
-     $60 = ($59|0)==(16);
-     if (!($60)) {
-      break;
-     }
-     $61 = HEAP32[$7>>2]|0;
-     $62 = HEAP32[$61>>2]|0;
-     $63 = $62 >>> 11;
-     $64 = $63 & 8;
-     $65 = ($64|0)!=(0);
-     $66 = HEAP32[$7>>2]|0;
-     if ($65) {
-      $67 = HEAP32[$66>>2]|0;
-      $68 = $67 >>> 11;
-      $69 = $68 & 496;
-      $70 = $69 >> 4;
-      $74 = $70;
-     } else {
-      $71 = ((($66)) + 12|0);
-      $72 = HEAP32[$71>>2]|0;
-      $74 = $72;
-     }
-     $73 = ($74|0)>(64);
-     if (!($73)) {
-      break;
-     }
-     $75 = $4;
-     ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
-     _mrb_any_to_s($10,$75,$$byval_copy4);
-     ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
-     break;
-    }
-   }
-   $76 = $4;
-   ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0;
-   _mrb_any_to_s($11,$76,$$byval_copy5);
-   ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
-  }
- } while(0);
- $77 = $4;
- $78 = $5;
- $79 = $4;
- $80 = $5;
- _mrb_sym2str($12,$79,$80);
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$12>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$12+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$12+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$12+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$12+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$12+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$12+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$12+7>>0]|0;
- $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
- ;HEAP8[$vararg_ptr1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$7+7>>0]|0;
- ;HEAP32[$$byval_copy6>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_no_method_error($77,$78,$$byval_copy6,65488,$vararg_buffer);
- // unreachable;
-}
-function _mrb_respond_to($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $0;
- $4 = $2;
- $5 = $3;
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $7 = (_mrb_class_728($6,$$byval_copy)|0);
- $8 = $4;
- $9 = (_mrb_obj_respond_to($5,$7,$8)|0);
- STACKTOP = sp;return ($9|0);
-}
-function _mrb_class_728($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = ((($1)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- L1: do {
-  switch ($5|0) {
-  case 0:  {
-   $6 = HEAP32[$1>>2]|0;
-   $7 = ($6|0)!=(0);
-   $8 = $3;
-   if ($7) {
-    $9 = ((($8)) + 72|0);
-    $10 = HEAP32[$9>>2]|0;
-    $2 = $10;
-    break L1;
-   } else {
-    $11 = ((($8)) + 76|0);
-    $12 = HEAP32[$11>>2]|0;
-    $2 = $12;
-    break L1;
-   }
-   break;
-  }
-  case 2:  {
-   $13 = $3;
-   $14 = ((($13)) + 68|0);
-   $15 = HEAP32[$14>>2]|0;
-   $2 = $15;
-   break;
-  }
-  case 4:  {
-   $16 = $3;
-   $17 = ((($16)) + 80|0);
-   $18 = HEAP32[$17>>2]|0;
-   $2 = $18;
-   break;
-  }
-  case 3:  {
-   $19 = $3;
-   $20 = ((($19)) + 64|0);
-   $21 = HEAP32[$20>>2]|0;
-   $2 = $21;
-   break;
-  }
-  case 6:  {
-   $22 = $3;
-   $23 = ((($22)) + 60|0);
-   $24 = HEAP32[$23>>2]|0;
-   $2 = $24;
-   break;
-  }
-  case 7:  {
-   $25 = $3;
-   $26 = ((($25)) + 32|0);
-   $27 = HEAP32[$26>>2]|0;
-   $2 = $27;
-   break;
-  }
-  case 20:  {
-   $2 = 0;
-   break;
-  }
-  default: {
-   $28 = HEAP32[$1>>2]|0;
-   $29 = ((($28)) + 4|0);
-   $30 = HEAP32[$29>>2]|0;
-   $2 = $30;
-  }
-  }
- } while(0);
- $31 = $2;
- STACKTOP = sp;return ($31|0);
-}
-function _mrb_obj_respond_to($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- while(1) {
-  $9 = $5;
-  $10 = ($9|0)!=(0|0);
-  if (!($10)) {
-   label = 9;
-   break;
-  }
-  $11 = $5;
-  $12 = ((($11)) + 16|0);
-  $13 = HEAP32[$12>>2]|0;
-  $8 = $13;
-  $14 = $8;
-  $15 = ($14|0)!=(0|0);
-  if ($15) {
-   $16 = $4;
-   $17 = $8;
-   $18 = $6;
-   $19 = (_kh_get_mt($16,$17,$18)|0);
-   $7 = $19;
-   $20 = $7;
-   $21 = $8;
-   $22 = HEAP32[$21>>2]|0;
-   $23 = ($20|0)!=($22|0);
-   if ($23) {
-    break;
-   }
-  }
-  $31 = $5;
-  $32 = ((($31)) + 20|0);
-  $33 = HEAP32[$32>>2]|0;
-  $5 = $33;
- }
- if ((label|0) == 9) {
-  $3 = 0;
-  $34 = $3;
-  STACKTOP = sp;return ($34|0);
- }
- $24 = $8;
- $25 = ((($24)) + 20|0);
- $26 = HEAP32[$25>>2]|0;
- $27 = $7;
- $28 = (($26) + ($27<<2)|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = ($29|0)!=(0|0);
- if ($30) {
-  $3 = 1;
-  $34 = $3;
-  STACKTOP = sp;return ($34|0);
- } else {
-  $3 = 0;
-  $34 = $3;
-  STACKTOP = sp;return ($34|0);
- }
- return (0)|0;
-}
-function _mrb_class_path($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
- var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
- var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
- var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
- $$byval_copy8 = sp + 176|0;
- $$byval_copy7 = sp + 168|0;
- $$byval_copy6 = sp + 160|0;
- $$byval_copy5 = sp + 152|0;
- $$byval_copy4 = sp + 144|0;
- $$byval_copy3 = sp + 136|0;
- $$byval_copy2 = sp + 128|0;
- $$byval_copy1 = sp + 120|0;
- $$byval_copy = sp + 112|0;
- $5 = sp + 96|0;
- $8 = sp + 80|0;
- $11 = sp + 64|0;
- $12 = sp + 56|0;
- $13 = sp + 48|0;
- $14 = sp + 40|0;
- $15 = sp + 32|0;
- $16 = sp + 24|0;
- $17 = sp + 16|0;
- $18 = sp + 8|0;
- $19 = sp;
- $3 = $1;
- $4 = $2;
- $20 = $3;
- $21 = (_mrb_intern_static($20,65517,13)|0);
- $7 = $21;
- $22 = $3;
- $23 = $4;
- $24 = $7;
- _mrb_obj_iv_get($8,$22,$23,$24);
- ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;
- $25 = ((($5)) + 4|0);
- $26 = HEAP32[$25>>2]|0;
- $27 = ($26|0)==(0);
- if ($27) {
-  $28 = HEAP32[$5>>2]|0;
-  $29 = ($28|0)!=(0);
-  if (!($29)) {
-   $30 = $3;
-   $31 = $4;
-   $32 = (_mrb_class_outer_module($30,$31)|0);
-   $9 = $32;
-   $33 = $3;
-   $34 = $4;
-   $35 = $9;
-   $36 = (_mrb_class_sym($33,$34,$35)|0);
-   $10 = $36;
-   $37 = $10;
-   $38 = ($37|0)==(0);
-   if ($38) {
-    _mrb_nil_value_689($0);
-    STACKTOP = sp;return;
-   }
-   $39 = $9;
-   $40 = ($39|0)!=(0|0);
-   if ($40) {
-    $41 = $9;
-    $42 = $3;
-    $43 = ((($42)) + 32|0);
-    $44 = HEAP32[$43>>2]|0;
-    $45 = ($41|0)!=($44|0);
-    if ($45) {
-     $46 = $3;
-     $47 = $9;
-     _mrb_class_path($12,$46,$47);
-     $48 = $3;
-     _mrb_str_buf_new($13,$48,0);
-     ;HEAP32[$5>>2]=HEAP32[$13>>2]|0;HEAP32[$5+4>>2]=HEAP32[$13+4>>2]|0;
-     $49 = ((($12)) + 4|0);
-     $50 = HEAP32[$49>>2]|0;
-     $51 = ($50|0)==(0);
-     if ($51) {
-      $52 = HEAP32[$12>>2]|0;
-      $53 = ($52|0)!=(0);
-      if ($53) {
-       label = 10;
-      } else {
-       $54 = $3;
-       ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
-       _mrb_str_cat($14,$54,$$byval_copy,65531,8);
-       $55 = $3;
-       $56 = $3;
-       $57 = $9;
-       _mrb_ptr_to_str($15,$56,$57);
-       ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;
-       ;HEAP32[$$byval_copy2>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$15+4>>2]|0;
-       _mrb_str_concat($55,$$byval_copy1,$$byval_copy2);
-       $58 = $3;
-       ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
-       _mrb_str_cat($16,$58,$$byval_copy3,65540,1);
-      }
-     } else {
-      label = 10;
-     }
-     if ((label|0) == 10) {
-      $59 = $3;
-      ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
-      ;HEAP32[$$byval_copy5>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$12+4>>2]|0;
-      _mrb_str_concat($59,$$byval_copy4,$$byval_copy5);
-     }
-     $60 = $3;
-     ;HEAP32[$$byval_copy6>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$5+4>>2]|0;
-     _mrb_str_cat($17,$60,$$byval_copy6,65542,2);
-     $61 = $3;
-     $62 = $10;
-     $63 = (_mrb_sym2name_len($61,$62,$11)|0);
-     $6 = $63;
-     $64 = $3;
-     $65 = $6;
-     $66 = HEAP32[$11>>2]|0;
-     ;HEAP32[$$byval_copy7>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$5+4>>2]|0;
-     _mrb_str_cat($18,$64,$$byval_copy7,$65,$66);
-    } else {
-     label = 12;
-    }
-   } else {
-    label = 12;
-   }
-   if ((label|0) == 12) {
-    $67 = $3;
-    $68 = $10;
-    $69 = (_mrb_sym2name_len($67,$68,$11)|0);
-    $6 = $69;
-    $70 = $3;
-    $71 = $6;
-    $72 = HEAP32[$11>>2]|0;
-    _mrb_str_new($19,$70,$71,$72);
-    ;HEAP32[$5>>2]=HEAP32[$19>>2]|0;HEAP32[$5+4>>2]=HEAP32[$19+4>>2]|0;
-   }
-   $73 = $3;
-   $74 = $4;
-   $75 = $7;
-   ;HEAP32[$$byval_copy8>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$5+4>>2]|0;
-   _mrb_obj_iv_set($73,$74,$75,$$byval_copy8);
-  }
- }
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_class_name($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy2 = sp + 56|0;
- $$byval_copy1 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $4 = sp + 24|0;
- $5 = sp + 16|0;
- $6 = sp + 8|0;
- $7 = sp;
- $2 = $0;
- $3 = $1;
- $8 = $2;
- $9 = $3;
- _mrb_class_path($4,$8,$9);
- $10 = ((($4)) + 4|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)==(0);
- if ($12) {
-  $13 = HEAP32[$4>>2]|0;
-  $14 = ($13|0)!=(0);
-  if (!($14)) {
-   $15 = $2;
-   _mrb_str_new_static($5,$15,65531,8);
-   ;HEAP32[$4>>2]=HEAP32[$5>>2]|0;HEAP32[$4+4>>2]=HEAP32[$5+4>>2]|0;
-   $16 = $2;
-   $17 = $2;
-   $18 = $3;
-   _mrb_ptr_to_str($6,$17,$18);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$6+4>>2]|0;
-   _mrb_str_concat($16,$$byval_copy,$$byval_copy1);
-   $19 = $2;
-   ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
-   _mrb_str_cat($7,$19,$$byval_copy2,65540,1);
-  }
- }
- $20 = HEAP32[$4>>2]|0;
- $21 = HEAP32[$20>>2]|0;
- $22 = $21 >>> 11;
- $23 = $22 & 8;
- $24 = ($23|0)!=(0);
- $25 = HEAP32[$4>>2]|0;
- $26 = ((($25)) + 12|0);
- if ($24) {
-  $29 = $26;
-  STACKTOP = sp;return ($29|0);
- } else {
-  $27 = ((($26)) + 8|0);
-  $28 = HEAP32[$27>>2]|0;
-  $29 = $28;
-  STACKTOP = sp;return ($29|0);
- }
- return (0)|0;
-}
-function _mrb_obj_classname($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $2 = $0;
- $3 = $2;
- $4 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $5 = (_mrb_obj_class($4,$$byval_copy)|0);
- $6 = (_mrb_class_name($3,$5)|0);
- STACKTOP = sp;return ($6|0);
-}
-function _mrb_obj_class($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $2 = $0;
- $3 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $4 = (_mrb_class_728($3,$$byval_copy)|0);
- $5 = (_mrb_class_real($4)|0);
- STACKTOP = sp;return ($5|0);
-}
-function _mrb_alias_method($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $9 = $4;
- $10 = $5;
- $11 = $7;
- $12 = (_mrb_method_search($9,$10,$11)|0);
- $8 = $12;
- $13 = $4;
- $14 = $5;
- $15 = $6;
- $16 = $8;
- _mrb_define_method_raw($13,$14,$15,$16);
- STACKTOP = sp;return;
-}
-function _mrb_undef_method($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $3;
- $9 = $5;
- $10 = (_mrb_intern_cstr($8,$9)|0);
- _undef_method($6,$7,$10);
- STACKTOP = sp;return;
-}
-function _undef_method($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer = sp;
- $6 = sp + 24|0;
- $7 = sp + 16|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = $4;
- $10 = $5;
- $11 = (_mrb_obj_respond_to($8,$9,$10)|0);
- $12 = ($11<<24>>24)!=(0);
- $13 = $3;
- if ($12) {
-  $18 = $4;
-  $19 = $5;
-  _mrb_define_method_raw($13,$18,$19,0);
-  STACKTOP = sp;return;
- } else {
-  $14 = $5;
-  $15 = $3;
-  $16 = $5;
-  _mrb_sym2str($6,$15,$16);
-  $17 = $4;
-  _mrb_obj_value_661($7,$17);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$6+7>>0]|0;
-  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
-  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$7+7>>0]|0;
-  _mrb_name_error($13,$14,65545,$vararg_buffer);
-  // unreachable;
- }
-}
-function _mrb_undef_class_method($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $6 = sp + 8|0;
- $7 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $3;
- $9 = $3;
- $10 = $4;
- _mrb_obj_value_661($6,$10);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_singleton_class($7,$9,$$byval_copy);
- $11 = HEAP32[$7>>2]|0;
- $12 = $5;
- _mrb_undef_method($8,$11,$12);
- STACKTOP = sp;return;
-}
-function _mrb_mod_module_function($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy2 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $vararg_buffer = sp;
- $4 = sp + 32|0;
- $5 = sp + 28|0;
- $3 = $1;
- $11 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_check_type($11,$$byval_copy,10);
- $12 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($12,68856,$vararg_buffer)|0);
- $13 = HEAP32[$5>>2]|0;
- $14 = ($13|0)==(0);
- if ($14) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $6 = 0;
- while(1) {
-  $15 = $6;
-  $16 = HEAP32[$5>>2]|0;
-  $17 = ($15|0)<($16|0);
-  if (!($17)) {
-   break;
-  }
-  $18 = $3;
-  $19 = HEAP32[$4>>2]|0;
-  $20 = $6;
-  $21 = (($19) + ($20<<3)|0);
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$21+4>>2]|0;
-  _mrb_check_type($18,$$byval_copy2,4);
-  $22 = HEAP32[$4>>2]|0;
-  $23 = $6;
-  $24 = (($22) + ($23<<3)|0);
-  $25 = HEAP32[$24>>2]|0;
-  $7 = $25;
-  $26 = HEAP32[$2>>2]|0;
-  $9 = $26;
-  $27 = $3;
-  $28 = $9;
-  $29 = $7;
-  $30 = (_mrb_method_search($27,$28,$29)|0);
-  $8 = $30;
-  $31 = $3;
-  $32 = $9;
-  _prepare_singleton_class($31,$32);
-  $33 = $3;
-  $34 = (_mrb_gc_arena_save($33)|0);
-  $10 = $34;
-  $35 = $3;
-  $36 = $9;
-  $37 = ((($36)) + 4|0);
-  $38 = HEAP32[$37>>2]|0;
-  $39 = $7;
-  $40 = $8;
-  _mrb_define_method_raw($35,$38,$39,$40);
-  $41 = $3;
-  $42 = $10;
-  _mrb_gc_arena_restore($41,$42);
-  $43 = $6;
-  $44 = (($43) + 1)|0;
-  $6 = $44;
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_init_class($0) {
- $0 = $0|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
- var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
- var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
- var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
- var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
- var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0;
- var $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0;
- var $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
- var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
- var $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
- var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
- var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy4 = sp + 96|0;
- $$byval_copy3 = sp + 88|0;
- $$byval_copy2 = sp + 80|0;
- $$byval_copy1 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $6 = sp + 32|0;
- $7 = sp + 24|0;
- $8 = sp + 16|0;
- $9 = sp + 8|0;
- $10 = sp;
- $1 = $0;
- $11 = $1;
- $12 = (_boot_defclass($11,0)|0);
- $2 = $12;
- $13 = $1;
- $14 = $2;
- $15 = (_boot_defclass($13,$14)|0);
- $3 = $15;
- $16 = $3;
- $17 = $1;
- $18 = ((($17)) + 32|0);
- HEAP32[$18>>2] = $16;
- $19 = $1;
- $20 = $3;
- $21 = (_boot_defclass($19,$20)|0);
- $4 = $21;
- $22 = $4;
- $23 = $1;
- $24 = ((($23)) + 40|0);
- HEAP32[$24>>2] = $22;
- $25 = $1;
- $26 = $4;
- $27 = (_boot_defclass($25,$26)|0);
- $5 = $27;
- $28 = $5;
- $29 = $1;
- $30 = ((($29)) + 36|0);
- HEAP32[$30>>2] = $28;
- $31 = $5;
- $32 = $5;
- $33 = ((($32)) + 4|0);
- HEAP32[$33>>2] = $31;
- $34 = $4;
- $35 = ((($34)) + 4|0);
- HEAP32[$35>>2] = $31;
- $36 = $3;
- $37 = ((($36)) + 4|0);
- HEAP32[$37>>2] = $31;
- $38 = $2;
- $39 = ((($38)) + 4|0);
- HEAP32[$39>>2] = $31;
- $40 = $1;
- $41 = $2;
- _prepare_singleton_class($40,$41);
- $42 = $1;
- $43 = $3;
- _prepare_singleton_class($42,$43);
- $44 = $1;
- $45 = $4;
- _prepare_singleton_class($44,$45);
- $46 = $1;
- $47 = $5;
- _prepare_singleton_class($46,$47);
- $48 = $1;
- $49 = $2;
- $50 = $2;
- _mrb_obj_value_661($6,$50);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_define_const($48,$49,65582,$$byval_copy);
- $51 = $1;
- $52 = $3;
- $53 = $2;
- _mrb_obj_value_661($7,$53);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_define_const($51,$52,65582,$$byval_copy1);
- $54 = $1;
- $55 = $3;
- $56 = $3;
- _mrb_obj_value_661($8,$56);
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$8+4>>2]|0;
- _mrb_define_const($54,$55,65594,$$byval_copy2);
- $57 = $1;
- $58 = $3;
- $59 = $4;
- _mrb_obj_value_661($9,$59);
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$9+4>>2]|0;
- _mrb_define_const($57,$58,65601,$$byval_copy3);
- $60 = $1;
- $61 = $3;
- $62 = $5;
- _mrb_obj_value_661($10,$62);
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_define_const($60,$61,65608,$$byval_copy4);
- $63 = $1;
- $64 = $2;
- $65 = $1;
- $66 = (_mrb_intern_static($65,65582,11)|0);
- _name_class($63,$64,$66);
- $67 = $1;
- $68 = $3;
- $69 = $1;
- $70 = (_mrb_intern_static($69,65594,6)|0);
- _name_class($67,$68,$70);
- $71 = $1;
- $72 = $4;
- $73 = $1;
- $74 = (_mrb_intern_static($73,65601,6)|0);
- _name_class($71,$72,$74);
- $75 = $1;
- $76 = $5;
- $77 = $1;
- $78 = (_mrb_intern_static($77,65608,5)|0);
- _name_class($75,$76,$78);
- $79 = $1;
- $80 = $1;
- $81 = ((($80)) + 32|0);
- $82 = HEAP32[$81>>2]|0;
- $83 = (_mrb_define_class($79,65614,$82)|0);
- $84 = $1;
- $85 = ((($84)) + 44|0);
- HEAP32[$85>>2] = $83;
- $86 = $1;
- $87 = ((($86)) + 44|0);
- $88 = HEAP32[$87>>2]|0;
- $89 = HEAP32[$88>>2]|0;
- $90 = $89 >>> 11;
- $91 = $90 & -256;
- $92 = $91 | 13;
- $93 = $1;
- $94 = ((($93)) + 44|0);
- $95 = HEAP32[$94>>2]|0;
- $96 = HEAP32[$95>>2]|0;
- $97 = $92 & 2097151;
- $98 = $97 << 11;
- $99 = $96 & 2047;
- $100 = $99 | $98;
- HEAP32[$95>>2] = $100;
- $101 = $5;
- $102 = HEAP32[$101>>2]|0;
- $103 = $102 >>> 11;
- $104 = $103 & -256;
- $105 = $104 | 9;
- $106 = $5;
- $107 = HEAP32[$106>>2]|0;
- $108 = $105 & 2097151;
- $109 = $108 << 11;
- $110 = $107 & 2047;
- $111 = $110 | $109;
- HEAP32[$106>>2] = $111;
- $112 = $1;
- $113 = $2;
- _mrb_define_method($112,$113,69252,233,0);
- $114 = $1;
- $115 = $2;
- _mrb_define_method($114,$115,65619,234,0);
- $116 = $1;
- $117 = $2;
- _mrb_define_method($116,$117,65621,235,4096);
- $118 = $1;
- $119 = $5;
- _mrb_define_class_method($118,$119,67982,236,8192);
- $120 = $1;
- $121 = $5;
- _mrb_define_method($120,$121,65636,237,0);
- $122 = $1;
- $123 = $5;
- _mrb_define_method($122,$123,67982,238,4096);
- $124 = $1;
- $125 = $5;
- _mrb_define_method($124,$125,69252,239,8192);
- $126 = $1;
- $127 = $5;
- _mrb_define_method($126,$127,65098,233,262144);
- $128 = $4;
- $129 = HEAP32[$128>>2]|0;
- $130 = $129 >>> 11;
- $131 = $130 & -256;
- $132 = $131 | 10;
- $133 = $4;
- $134 = HEAP32[$133>>2]|0;
- $135 = $132 & 2097151;
- $136 = $135 << 11;
- $137 = $134 & 2047;
- $138 = $137 | $136;
- HEAP32[$133>>2] = $138;
- $139 = $1;
- $140 = $4;
- _mrb_define_method($139,$140,65647,240,262144);
- $141 = $1;
- $142 = $4;
- _mrb_define_method($141,$142,65671,241,262144);
- $143 = $1;
- $144 = $4;
- _mrb_define_method($143,$144,65690,242,524288);
- $145 = $1;
- $146 = $4;
- _mrb_define_method($145,$146,68897,243,262144);
- $147 = $1;
- $148 = $4;
- _mrb_define_method($147,$148,68911,233,262144);
- $149 = $1;
- $150 = $4;
- _mrb_define_method($149,$150,65709,244,4096);
- $151 = $1;
- $152 = $4;
- _mrb_define_method($151,$152,65717,233,262144);
- $153 = $1;
- $154 = $4;
- _mrb_define_method($153,$154,65727,245,262144);
- $155 = $1;
- $156 = $4;
- _mrb_define_method($155,$156,65744,246,4096);
- $157 = $1;
- $158 = $4;
- _mrb_define_method($157,$158,69243,247,262144);
- $159 = $1;
- $160 = $4;
- _mrb_define_method($159,$160,65752,248,262144);
- $161 = $1;
- $162 = $4;
- _mrb_define_method($161,$162,65768,249,4096);
- $163 = $1;
- $164 = $4;
- _mrb_define_method($163,$164,65779,233,262144);
- $165 = $1;
- $166 = $4;
- _mrb_define_method($165,$166,65788,250,0);
- $167 = $1;
- $168 = $4;
- _mrb_define_method($167,$168,69252,251,0);
- $169 = $1;
- $170 = $4;
- _mrb_define_method($169,$170,65805,252,4096);
- $171 = $1;
- $172 = $4;
- _mrb_define_method($171,$172,65822,253,262144);
- $173 = $1;
- $174 = $4;
- _mrb_define_method($173,$174,65838,249,4096);
- $175 = $1;
- $176 = $4;
- _mrb_define_method($175,$176,65850,254,4096);
- $177 = $1;
- $178 = $4;
- _mrb_define_method($177,$178,65866,255,4096);
- $179 = $1;
- $180 = $4;
- _mrb_define_method($179,$180,65874,255,4096);
- $181 = $1;
- $182 = $4;
- _mrb_define_method($181,$182,65884,255,4096);
- $183 = $1;
- $184 = $4;
- _mrb_define_method($183,$184,65891,256,262144);
- $185 = $1;
- $186 = $4;
- _mrb_define_method($185,$186,65913,257,4096);
- $187 = $1;
- $188 = $4;
- _mrb_define_method($187,$188,65927,233,262144);
- $189 = $1;
- $190 = $4;
- _mrb_define_method($189,$190,65942,258,4096);
- $191 = $1;
- $192 = $4;
- _mrb_define_method($191,$192,65954,259,4096);
- $193 = $1;
- $194 = $4;
- _mrb_define_method($193,$194,69276,260,0);
- $195 = $1;
- $196 = $4;
- _mrb_define_method($195,$196,69281,260,0);
- $197 = $1;
- $198 = $4;
- _mrb_define_method($197,$198,69686,261,4096);
- $199 = $1;
- $200 = $4;
- _mrb_define_method($199,$200,65966,262,0);
- $201 = $1;
- $202 = $4;
- _mrb_define_method($201,$202,69699,263,4096);
- $203 = $1;
- $204 = $4;
- _mrb_define_method($203,$204,65976,264,270336);
- $205 = $1;
- $206 = $4;
- _mrb_define_method($205,$206,65991,265,262144);
- $207 = $1;
- $208 = $4;
- _mrb_define_method($207,$208,66001,266,524288);
- $209 = $1;
- $210 = $4;
- _mrb_define_method($209,$210,66011,267,8192);
- $211 = $1;
- $212 = $4;
- _mrb_define_method($211,$212,66021,268,262144);
- $213 = $1;
- $214 = $4;
- _mrb_define_method($213,$214,66034,269,262144);
- $215 = $1;
- $216 = $4;
- _mrb_define_method($215,$216,66048,270,262144);
- $217 = $1;
- $218 = $4;
- _mrb_define_method($217,$218,66062,271,0);
- $219 = $1;
- $220 = $4;
- _mrb_define_method($219,$220,69591,272,262144);
- $221 = $1;
- $222 = $4;
- _mrb_define_class_method($221,$222,66011,273,4096);
- $223 = $1;
- $224 = $5;
- _mrb_undef_method($223,$224,65752);
- $225 = $1;
- $226 = $5;
- _mrb_undef_method($225,$226,68897);
- STACKTOP = sp;return;
-}
-function _mrb_bob_init($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- _mrb_nil_value_689($0);
- STACKTOP = sp;return;
-}
-function _mrb_bob_not($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = ((($2)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- $6 = ($5|0)!=(0);
- $7 = $6 ^ 1;
- $8 = $7&1;
- $9 = $8&255;
- _mrb_bool_value_793($0,$9);
- STACKTOP = sp;return;
-}
-function _mrb_bob_missing($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy3 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $vararg_buffer = sp;
- $4 = sp + 32|0;
- $5 = sp + 28|0;
- $6 = sp + 24|0;
- $7 = sp + 16|0;
- $3 = $1;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- HEAP32[$vararg_ptr2>>2] = $6;
- (_mrb_get_args($8,66388,$vararg_buffer)|0);
- $9 = $3;
- $10 = HEAP32[$4>>2]|0;
- $11 = $3;
- $12 = HEAP32[$6>>2]|0;
- $13 = HEAP32[$5>>2]|0;
- _mrb_ary_new_from_values($7,$11,$12,$13);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_method_missing($9,$10,$$byval_copy,$$byval_copy3);
- _mrb_nil_value_689($0);
- STACKTOP = sp;return;
-}
-function _mrb_class_new_class($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy2 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $vararg_buffer = sp;
- $5 = sp + 48|0;
- $6 = sp + 40|0;
- $7 = sp + 32|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $10 = sp + 8|0;
- $3 = $1;
- $11 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $6;
- $12 = (_mrb_get_args($11,66384,$vararg_buffer)|0);
- $4 = $12;
- $13 = $4;
- $14 = ($13|0)==(0);
- if ($14) {
-  $15 = $3;
-  $16 = ((($15)) + 32|0);
-  $17 = HEAP32[$16>>2]|0;
-  _mrb_obj_value_661($8,$17);
-  ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;
- }
- $18 = $3;
- $19 = HEAP32[$5>>2]|0;
- $20 = (_mrb_class_new($18,$19)|0);
- _mrb_obj_value_661($9,$20);
- ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
- $21 = $3;
- $22 = $3;
- $23 = (_mrb_intern_static($22,69252,10)|0);
- $24 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_funcall_with_block($10,$21,$$byval_copy,$23,$24,$5,$$byval_copy2);
- $25 = $3;
- $26 = HEAP32[$5>>2]|0;
- $27 = HEAP32[$7>>2]|0;
- _mrb_class_inherited($25,$26,$27);
- ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_class_superclass($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = (_find_origin($6)|0);
- $8 = ((($7)) + 20|0);
- $9 = HEAP32[$8>>2]|0;
- $4 = $9;
- while(1) {
-  $10 = $4;
-  $11 = ($10|0)!=(0|0);
-  if ($11) {
-   $12 = $4;
-   $13 = HEAP32[$12>>2]|0;
-   $14 = $13 & 255;
-   $15 = ($14|0)==(11);
-   $22 = $15;
-  } else {
-   $22 = 0;
-  }
-  $16 = $4;
-  if (!($22)) {
-   break;
-  }
-  $17 = (_find_origin($16)|0);
-  $18 = ((($17)) + 20|0);
-  $19 = HEAP32[$18>>2]|0;
-  $4 = $19;
- }
- $20 = ($16|0)!=(0|0);
- if ($20) {
-  $21 = $4;
-  _mrb_obj_value_661($0,$21);
-  STACKTOP = sp;return;
- } else {
-  _mrb_nil_value_689($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_class_initialize($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy2 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $vararg_buffer = sp;
- $4 = sp + 24|0;
- $5 = sp + 16|0;
- $6 = sp + 8|0;
- $3 = $1;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($7,66384,$vararg_buffer)|0);
- $8 = ((($5)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ($9|0)==(0);
- if ($10) {
-  $11 = HEAP32[$5>>2]|0;
-  $12 = ($11|0)!=(0);
-  if (!($12)) {
-   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- $13 = $3;
- $14 = HEAP32[$2>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_yield_with_class($6,$13,$$byval_copy,1,$2,$$byval_copy2,$14);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_cvar_defined($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $vararg_buffer = sp;
- $4 = sp + 4|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68770,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP32[$4>>2]|0;
- _check_cv_name_sym($6,$7);
- $8 = $3;
- $9 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $10 = (_mrb_cv_defined($8,$$byval_copy,$9)|0);
- _mrb_bool_value_793($0,$10);
- STACKTOP = sp;return;
-}
-function _mrb_mod_cvar_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $vararg_buffer = sp;
- $4 = sp + 4|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68770,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP32[$4>>2]|0;
- _check_cv_name_sym($6,$7);
- $8 = $3;
- $9 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_cv_get($0,$8,$$byval_copy,$9);
- STACKTOP = sp;return;
-}
-function _mrb_mod_cvar_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $4;
- (_mrb_get_args($6,68807,$vararg_buffer)|0);
- $7 = $3;
- $8 = HEAP32[$5>>2]|0;
- _check_cv_name_sym($7,$8);
- $9 = $3;
- $10 = HEAP32[$5>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_cv_set($9,$$byval_copy,$10,$$byval_copy2);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_extend_object($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_check_type($6,$$byval_copy,10);
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($7,69199,$vararg_buffer)|0);
- $8 = $3;
- $9 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_singleton_class($5,$9,$$byval_copy1);
- $10 = HEAP32[$5>>2]|0;
- $11 = HEAP32[$2>>2]|0;
- _mrb_include_module($8,$10,$11);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_prepend($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy9 = sp + 72|0;
- $$byval_copy8 = sp + 64|0;
- $$byval_copy = sp + 56|0;
- $vararg_buffer5 = sp + 16|0;
- $vararg_buffer2 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 48|0;
- $5 = sp + 44|0;
- $7 = sp + 32|0;
- $8 = sp + 24|0;
- $3 = $1;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($9,68856,$vararg_buffer)|0);
- $6 = 0;
- while(1) {
-  $10 = $6;
-  $11 = HEAP32[$5>>2]|0;
-  $12 = ($10|0)<($11|0);
-  if (!($12)) {
-   break;
-  }
-  $13 = $3;
-  $14 = HEAP32[$4>>2]|0;
-  $15 = $6;
-  $16 = (($14) + ($15<<3)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$16+4>>2]|0;
-  _mrb_check_type($13,$$byval_copy,10);
-  $17 = $6;
-  $18 = (($17) + 1)|0;
-  $6 = $18;
- }
- while(1) {
-  $19 = HEAP32[$5>>2]|0;
-  $20 = (($19) + -1)|0;
-  HEAP32[$5>>2] = $20;
-  $21 = ($19|0)!=(0);
-  if (!($21)) {
-   break;
-  }
-  $22 = $3;
-  $23 = HEAP32[$4>>2]|0;
-  $24 = HEAP32[$5>>2]|0;
-  $25 = (($23) + ($24<<3)|0);
-  ;HEAP8[$vararg_buffer2>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$2+7>>0]|0;
-  ;HEAP32[$$byval_copy8>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$25+4>>2]|0;
-  _mrb_funcall($7,$22,$$byval_copy8,65727,1,$vararg_buffer2);
-  $26 = $3;
-  $27 = HEAP32[$4>>2]|0;
-  $28 = HEAP32[$5>>2]|0;
-  $29 = (($27) + ($28<<3)|0);
-  ;HEAP8[$vararg_buffer5>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer5+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer5+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer5+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer5+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer5+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer5+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer5+7>>0]=HEAP8[$2+7>>0]|0;
-  ;HEAP32[$$byval_copy9>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$29+4>>2]|0;
-  _mrb_funcall($8,$26,$$byval_copy9,65717,1,$vararg_buffer5);
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_prepend_features($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_check_type($5,$$byval_copy,10);
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,68805,$vararg_buffer)|0);
- $7 = $3;
- $8 = HEAP32[$4>>2]|0;
- $9 = HEAP32[$2>>2]|0;
- _mrb_prepend_module($7,$8,$9);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_include($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy9 = sp + 72|0;
- $$byval_copy8 = sp + 64|0;
- $$byval_copy = sp + 56|0;
- $vararg_buffer5 = sp + 16|0;
- $vararg_buffer2 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 48|0;
- $5 = sp + 44|0;
- $7 = sp + 32|0;
- $8 = sp + 24|0;
- $3 = $1;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($9,68856,$vararg_buffer)|0);
- $6 = 0;
- while(1) {
-  $10 = $6;
-  $11 = HEAP32[$5>>2]|0;
-  $12 = ($10|0)<($11|0);
-  if (!($12)) {
-   break;
-  }
-  $13 = $3;
-  $14 = HEAP32[$4>>2]|0;
-  $15 = $6;
-  $16 = (($14) + ($15<<3)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$16+4>>2]|0;
-  _mrb_check_type($13,$$byval_copy,10);
-  $17 = $6;
-  $18 = (($17) + 1)|0;
-  $6 = $18;
- }
- while(1) {
-  $19 = HEAP32[$5>>2]|0;
-  $20 = (($19) + -1)|0;
-  HEAP32[$5>>2] = $20;
-  $21 = ($19|0)!=(0);
-  if (!($21)) {
-   break;
-  }
-  $22 = $3;
-  $23 = HEAP32[$4>>2]|0;
-  $24 = HEAP32[$5>>2]|0;
-  $25 = (($23) + ($24<<3)|0);
-  ;HEAP8[$vararg_buffer2>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$2+7>>0]|0;
-  ;HEAP32[$$byval_copy8>>2]=HEAP32[$25>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$25+4>>2]|0;
-  _mrb_funcall($7,$22,$$byval_copy8,65752,1,$vararg_buffer2);
-  $26 = $3;
-  $27 = HEAP32[$4>>2]|0;
-  $28 = HEAP32[$5>>2]|0;
-  $29 = (($27) + ($28<<3)|0);
-  ;HEAP8[$vararg_buffer5>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer5+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer5+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer5+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer5+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer5+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer5+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer5+7>>0]=HEAP8[$2+7>>0]|0;
-  ;HEAP32[$$byval_copy9>>2]=HEAP32[$29>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$29+4>>2]|0;
-  _mrb_funcall($8,$26,$$byval_copy9,65779,1,$vararg_buffer5);
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_include_p($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $6 = HEAP32[$2>>2]|0;
- $5 = $6;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($7,68805,$vararg_buffer)|0);
- $8 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_check_type($8,$$byval_copy,10);
- while(1) {
-  $9 = $5;
-  $10 = ($9|0)!=(0|0);
-  if (!($10)) {
-   label = 7;
-   break;
-  }
-  $11 = $5;
-  $12 = HEAP32[$11>>2]|0;
-  $13 = $12 & 255;
-  $14 = ($13|0)==(11);
-  if ($14) {
-   $15 = $5;
-   $16 = ((($15)) + 4|0);
-   $17 = HEAP32[$16>>2]|0;
-   $18 = HEAP32[$4>>2]|0;
-   $19 = ($17|0)==($18|0);
-   if ($19) {
-    label = 5;
-    break;
-   }
-  }
-  $20 = $5;
-  $21 = ((($20)) + 20|0);
-  $22 = HEAP32[$21>>2]|0;
-  $5 = $22;
- }
- if ((label|0) == 5) {
-  _mrb_true_value_815($0);
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 7) {
-  _mrb_false_value_816($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_mod_append_features($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_check_type($5,$$byval_copy,10);
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,68805,$vararg_buffer)|0);
- $7 = $3;
- $8 = HEAP32[$4>>2]|0;
- $9 = HEAP32[$2>>2]|0;
- _mrb_include_module($7,$8,$9);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_included_modules($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $4 = sp + 24|0;
- $7 = sp + 8|0;
- $8 = sp;
- $3 = $1;
- $9 = HEAP32[$2>>2]|0;
- $5 = $9;
- $10 = $5;
- $6 = $10;
- $11 = $6;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 524288;
- $15 = ($14|0)!=(0);
- L1: do {
-  if ($15) {
-   $16 = $6;
-   $17 = ((($16)) + 20|0);
-   $18 = HEAP32[$17>>2]|0;
-   $6 = $18;
-   while(1) {
-    $19 = $6;
-    $20 = HEAP32[$19>>2]|0;
-    $21 = $20 >>> 11;
-    $22 = $21 & 1048576;
-    $23 = ($22|0)!=(0);
-    $24 = $23 ^ 1;
-    if (!($24)) {
-     break L1;
-    }
-    $25 = $6;
-    $26 = ((($25)) + 20|0);
-    $27 = HEAP32[$26>>2]|0;
-    $6 = $27;
-   }
-  }
- } while(0);
- $28 = $3;
- _mrb_ary_new($7,$28);
- ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
- while(1) {
-  $29 = $5;
-  $30 = ($29|0)!=(0|0);
-  if (!($30)) {
-   break;
-  }
-  $31 = $5;
-  $32 = $6;
-  $33 = ($31|0)!=($32|0);
-  if ($33) {
-   $34 = $5;
-   $35 = HEAP32[$34>>2]|0;
-   $36 = $35 & 255;
-   $37 = ($36|0)==(11);
-   if ($37) {
-    $38 = $5;
-    $39 = ((($38)) + 4|0);
-    $40 = HEAP32[$39>>2]|0;
-    $41 = HEAP32[$40>>2]|0;
-    $42 = $41 & 255;
-    $43 = ($42|0)==(10);
-    if ($43) {
-     $44 = $3;
-     $45 = $5;
-     $46 = ((($45)) + 4|0);
-     $47 = HEAP32[$46>>2]|0;
-     _mrb_obj_value_661($8,$47);
-     ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-     ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
-     _mrb_ary_push($44,$$byval_copy,$$byval_copy1);
-    }
-   }
-  }
-  $48 = $5;
-  $49 = ((($48)) + 20|0);
-  $50 = HEAP32[$49>>2]|0;
-  $5 = $50;
- }
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_initialize($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $vararg_buffer = sp;
- $4 = sp + 24|0;
- $6 = sp + 8|0;
- $3 = $1;
- $7 = HEAP32[$2>>2]|0;
- $5 = $7;
- $8 = $3;
- $9 = $5;
- _boot_initmod($8,$9);
- $10 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($10,66381,$vararg_buffer)|0);
- $11 = ((($4)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ($12|0)==(0);
- if ($13) {
-  $14 = HEAP32[$4>>2]|0;
-  $15 = ($14|0)!=(0);
-  if (!($15)) {
-   ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- $16 = $3;
- $17 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_yield_with_class($6,$16,$$byval_copy,1,$2,$$byval_copy1,$17);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_instance_methods($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $5 = sp + 12|0;
- $3 = $1;
- $6 = HEAP32[$2>>2]|0;
- $4 = $6;
- HEAP8[$5>>0] = 1;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- (_mrb_get_args($7,68724,$vararg_buffer)|0);
- $8 = $3;
- $9 = HEAP8[$5>>0]|0;
- $10 = $4;
- _mrb_class_instance_method_list($0,$8,$9,$10,0);
- STACKTOP = sp;return;
-}
-function _mrb_mod_method_defined($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $4 = sp + 4|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68770,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP32[$2>>2]|0;
- $8 = HEAP32[$4>>2]|0;
- $9 = (_mrb_obj_respond_to($6,$7,$8)|0);
- _mrb_bool_value_793($0,$9);
- STACKTOP = sp;return;
-}
-function _mrb_mod_dummy_visibility($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_remove_cvar($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, $vararg_ptr8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy9 = sp + 96|0;
- $$byval_copy = sp + 88|0;
- $vararg_buffer5 = sp + 24|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 72|0;
- $5 = sp + 64|0;
- $6 = sp + 56|0;
- $7 = sp + 48|0;
- $8 = sp + 40|0;
- $3 = $1;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- (_mrb_get_args($9,68770,$vararg_buffer)|0);
- $10 = $3;
- $11 = HEAP32[$5>>2]|0;
- _check_cv_name_sym($10,$11);
- $12 = $3;
- $13 = HEAP32[$5>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_iv_remove($6,$12,$$byval_copy,$13);
- ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0;
- $14 = ((($4)) + 4|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = ($15|0)==(5);
- if (!($16)) {
-  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $17 = $3;
- $18 = HEAP32[$5>>2]|0;
- ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;
- $19 = (_mrb_cv_defined($17,$$byval_copy9,$18)|0);
- $20 = ($19<<24>>24)!=(0);
- $21 = $3;
- $22 = HEAP32[$5>>2]|0;
- $23 = $3;
- $24 = HEAP32[$5>>2]|0;
- if ($20) {
-  _mrb_sym2str($7,$23,$24);
-  ;HEAP8[$vararg_buffer1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$7+7>>0]|0;
-  $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
-  ;HEAP8[$vararg_ptr4>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_ptr4+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_ptr4+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_ptr4+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_ptr4+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_ptr4+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_ptr4+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_ptr4+7>>0]=HEAP8[$2+7>>0]|0;
-  _mrb_name_error($21,$22,66275,$vararg_buffer1);
-  // unreachable;
- } else {
-  _mrb_sym2str($8,$23,$24);
-  ;HEAP8[$vararg_buffer5>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_buffer5+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_buffer5+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_buffer5+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_buffer5+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_buffer5+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_buffer5+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_buffer5+7>>0]=HEAP8[$8+7>>0]|0;
-  $vararg_ptr8 = ((($vararg_buffer5)) + 8|0);
-  ;HEAP8[$vararg_ptr8>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_ptr8+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_ptr8+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_ptr8+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_ptr8+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_ptr8+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_ptr8+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_ptr8+7>>0]=HEAP8[$2+7>>0]|0;
-  _mrb_name_error($21,$22,66299,$vararg_buffer5);
-  // unreachable;
- }
-}
-function _mrb_mod_remove_method($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 12|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $4;
- (_mrb_get_args($6,68856,$vararg_buffer)|0);
- while(1) {
-  $7 = HEAP32[$4>>2]|0;
-  $8 = (($7) + -1)|0;
-  HEAP32[$4>>2] = $8;
-  $9 = ($7|0)!=(0);
-  if (!($9)) {
-   break;
-  }
-  $10 = $3;
-  $11 = HEAP32[$5>>2]|0;
-  $12 = HEAP32[$11>>2]|0;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  _remove_method($10,$$byval_copy,$12);
-  $13 = HEAP32[$5>>2]|0;
-  $14 = ((($13)) + 8|0);
-  HEAP32[$5>>2] = $14;
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_attr_reader($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
- var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0;
- var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
- var $61 = 0, $62 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
- $$byval_copy5 = sp + 128|0;
- $$byval_copy4 = sp + 120|0;
- $$byval_copy3 = sp + 112|0;
- $$byval_copy2 = sp + 104|0;
- $$byval_copy = sp + 96|0;
- $vararg_buffer = sp;
- $5 = sp + 84|0;
- $6 = sp + 80|0;
- $9 = sp + 64|0;
- $10 = sp + 56|0;
- $13 = sp + 40|0;
- $14 = sp + 32|0;
- $15 = sp + 24|0;
- $16 = sp + 16|0;
- $17 = sp + 8|0;
- $3 = $1;
- $18 = HEAP32[$2>>2]|0;
- $4 = $18;
- $19 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $6;
- (_mrb_get_args($19,68856,$vararg_buffer)|0);
- $20 = $3;
- $21 = (_mrb_gc_arena_save($20)|0);
- $8 = $21;
- $7 = 0;
- while(1) {
-  $22 = $7;
-  $23 = HEAP32[$6>>2]|0;
-  $24 = ($22|0)<($23|0);
-  if (!($24)) {
-   break;
-  }
-  $25 = $3;
-  $26 = HEAP32[$5>>2]|0;
-  $27 = $7;
-  $28 = (($26) + ($27<<3)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$28+4>>2]|0;
-  $29 = (_to_sym($25,$$byval_copy)|0);
-  $11 = $29;
-  $30 = $3;
-  $31 = $11;
-  _mrb_sym2str($13,$30,$31);
-  ;HEAP32[$9>>2]=HEAP32[$13>>2]|0;HEAP32[$9+4>>2]=HEAP32[$13+4>>2]|0;
-  $32 = $3;
-  $33 = HEAP32[$9>>2]|0;
-  $34 = HEAP32[$33>>2]|0;
-  $35 = $34 >>> 11;
-  $36 = $35 & 8;
-  $37 = ($36|0)!=(0);
-  $38 = HEAP32[$9>>2]|0;
-  if ($37) {
-   $39 = HEAP32[$38>>2]|0;
-   $40 = $39 >>> 11;
-   $41 = $40 & 496;
-   $42 = $41 >> 4;
-   $46 = $42;
-  } else {
-   $43 = ((($38)) + 12|0);
-   $44 = HEAP32[$43>>2]|0;
-   $46 = $44;
-  }
-  $45 = (($46) + 1)|0;
-  _mrb_str_buf_new($14,$32,$45);
-  ;HEAP32[$10>>2]=HEAP32[$14>>2]|0;HEAP32[$10+4>>2]=HEAP32[$14+4>>2]|0;
-  $47 = $3;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$10+4>>2]|0;
-  _mrb_str_cat($15,$47,$$byval_copy2,66241,1);
-  $48 = $3;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$10+4>>2]|0;
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$9+4>>2]|0;
-  _mrb_str_cat_str($16,$48,$$byval_copy3,$$byval_copy4);
-  $49 = $3;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$10+4>>2]|0;
-  $50 = (_mrb_intern_str($49,$$byval_copy5)|0);
-  $12 = $50;
-  $51 = $3;
-  $52 = $12;
-  _mrb_iv_check($51,$52);
-  $53 = $12;
-  _mrb_symbol_value_663($17,$53);
-  ;HEAP32[$9>>2]=HEAP32[$17>>2]|0;HEAP32[$9+4>>2]=HEAP32[$17+4>>2]|0;
-  $54 = $3;
-  $55 = $4;
-  $56 = $11;
-  $57 = $3;
-  $58 = (_mrb_proc_new_cfunc_with_env($57,274,1,$9)|0);
-  _mrb_define_method_raw($54,$55,$56,$58);
-  $59 = $3;
-  $60 = $8;
-  _mrb_gc_arena_restore($59,$60);
-  $61 = $7;
-  $62 = (($61) + 1)|0;
-  $7 = $62;
- }
- _mrb_nil_value_689($0);
- STACKTOP = sp;return;
-}
-function _mrb_mod_attr_writer($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0;
- var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
- var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
- var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0;
- var $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 208|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(208|0);
- $$byval_copy9 = sp + 192|0;
- $$byval_copy8 = sp + 184|0;
- $$byval_copy7 = sp + 176|0;
- $$byval_copy6 = sp + 168|0;
- $$byval_copy5 = sp + 160|0;
- $$byval_copy4 = sp + 152|0;
- $$byval_copy3 = sp + 144|0;
- $$byval_copy2 = sp + 136|0;
- $$byval_copy = sp + 128|0;
- $vararg_buffer = sp;
- $5 = sp + 116|0;
- $6 = sp + 112|0;
- $9 = sp + 96|0;
- $10 = sp + 88|0;
- $11 = sp + 80|0;
- $14 = sp + 64|0;
- $15 = sp + 56|0;
- $16 = sp + 48|0;
- $17 = sp + 40|0;
- $18 = sp + 32|0;
- $19 = sp + 24|0;
- $20 = sp + 16|0;
- $21 = sp + 8|0;
- $3 = $1;
- $22 = HEAP32[$2>>2]|0;
- $4 = $22;
- $23 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $6;
- (_mrb_get_args($23,68856,$vararg_buffer)|0);
- $24 = $3;
- $25 = (_mrb_gc_arena_save($24)|0);
- $8 = $25;
- $7 = 0;
- while(1) {
-  $26 = $7;
-  $27 = HEAP32[$6>>2]|0;
-  $28 = ($26|0)<($27|0);
-  if (!($28)) {
-   break;
-  }
-  $29 = $3;
-  $30 = HEAP32[$5>>2]|0;
-  $31 = $7;
-  $32 = (($30) + ($31<<3)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$32>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$32+4>>2]|0;
-  $33 = (_to_sym($29,$$byval_copy)|0);
-  $12 = $33;
-  $34 = $3;
-  $35 = $12;
-  _mrb_sym2str($14,$34,$35);
-  ;HEAP32[$9>>2]=HEAP32[$14>>2]|0;HEAP32[$9+4>>2]=HEAP32[$14+4>>2]|0;
-  $36 = $3;
-  $37 = HEAP32[$9>>2]|0;
-  $38 = HEAP32[$37>>2]|0;
-  $39 = $38 >>> 11;
-  $40 = $39 & 8;
-  $41 = ($40|0)!=(0);
-  $42 = HEAP32[$9>>2]|0;
-  if ($41) {
-   $43 = HEAP32[$42>>2]|0;
-   $44 = $43 >>> 11;
-   $45 = $44 & 496;
-   $46 = $45 >> 4;
-   $50 = $46;
-  } else {
-   $47 = ((($42)) + 12|0);
-   $48 = HEAP32[$47>>2]|0;
-   $50 = $48;
-  }
-  $49 = (($50) + 1)|0;
-  _mrb_str_buf_new($15,$36,$49);
-  ;HEAP32[$10>>2]=HEAP32[$15>>2]|0;HEAP32[$10+4>>2]=HEAP32[$15+4>>2]|0;
-  $51 = $3;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$10+4>>2]|0;
-  _mrb_str_cat($16,$51,$$byval_copy2,66241,1);
-  $52 = $3;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$10+4>>2]|0;
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$9+4>>2]|0;
-  _mrb_str_cat_str($17,$52,$$byval_copy3,$$byval_copy4);
-  $53 = $3;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$10+4>>2]|0;
-  $54 = (_mrb_intern_str($53,$$byval_copy5)|0);
-  $13 = $54;
-  $55 = $3;
-  $56 = $13;
-  _mrb_iv_check($55,$56);
-  $57 = $13;
-  _mrb_symbol_value_663($18,$57);
-  ;HEAP32[$11>>2]=HEAP32[$18>>2]|0;HEAP32[$11+4>>2]=HEAP32[$18+4>>2]|0;
-  $58 = $3;
-  $59 = HEAP32[$10>>2]|0;
-  $60 = HEAP32[$59>>2]|0;
-  $61 = $60 >>> 11;
-  $62 = $61 & 8;
-  $63 = ($62|0)!=(0);
-  $64 = HEAP32[$10>>2]|0;
-  if ($63) {
-   $65 = HEAP32[$64>>2]|0;
-   $66 = $65 >>> 11;
-   $67 = $66 & 496;
-   $68 = $67 >> 4;
-   $71 = $68;
-  } else {
-   $69 = ((($64)) + 12|0);
-   $70 = HEAP32[$69>>2]|0;
-   $71 = $70;
-  }
-  _mrb_str_buf_new($19,$58,$71);
-  ;HEAP32[$10>>2]=HEAP32[$19>>2]|0;HEAP32[$10+4>>2]=HEAP32[$19+4>>2]|0;
-  $72 = $3;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$10+4>>2]|0;
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$9+4>>2]|0;
-  _mrb_str_cat_str($20,$72,$$byval_copy6,$$byval_copy7);
-  $73 = $3;
-  ;HEAP32[$$byval_copy8>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$10+4>>2]|0;
-  _mrb_str_cat($21,$73,$$byval_copy8,66243,1);
-  $74 = $3;
-  ;HEAP32[$$byval_copy9>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$10+4>>2]|0;
-  $75 = (_mrb_intern_str($74,$$byval_copy9)|0);
-  $12 = $75;
-  $76 = $3;
-  $77 = $4;
-  $78 = $12;
-  $79 = $3;
-  $80 = (_mrb_proc_new_cfunc_with_env($79,275,1,$11)|0);
-  _mrb_define_method_raw($76,$77,$78,$80);
-  $81 = $3;
-  $82 = $8;
-  _mrb_gc_arena_restore($81,$82);
-  $83 = $7;
-  $84 = (($83) + 1)|0;
-  $7 = $84;
- }
- _mrb_nil_value_689($0);
- STACKTOP = sp;return;
-}
-function _mrb_mod_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
- var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
- var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0);
- $$byval_copy13 = sp + 232|0;
- $$byval_copy12 = sp + 224|0;
- $$byval_copy11 = sp + 216|0;
- $$byval_copy10 = sp + 208|0;
- $$byval_copy9 = sp + 200|0;
- $$byval_copy8 = sp + 192|0;
- $$byval_copy7 = sp + 184|0;
- $$byval_copy6 = sp + 176|0;
- $$byval_copy5 = sp + 168|0;
- $$byval_copy4 = sp + 160|0;
- $$byval_copy3 = sp + 152|0;
- $$byval_copy2 = sp + 144|0;
- $$byval_copy1 = sp + 136|0;
- $$byval_copy = sp + 128|0;
- $4 = sp + 112|0;
- $5 = sp + 104|0;
- $6 = sp + 96|0;
- $7 = sp + 88|0;
- $8 = sp + 80|0;
- $9 = sp + 72|0;
- $10 = sp + 64|0;
- $12 = sp + 48|0;
- $13 = sp + 40|0;
- $14 = sp + 32|0;
- $15 = sp + 24|0;
- $16 = sp + 16|0;
- $17 = sp + 8|0;
- $18 = sp;
- $3 = $1;
- $19 = ((($2)) + 4|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = ($20|0)==(12);
- $22 = $3;
- if ($21) {
-  $23 = $3;
-  $24 = (_mrb_intern_static($23,68237,12)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_iv_get($5,$22,$$byval_copy,$24);
-  $25 = $3;
-  _mrb_str_new_static($6,$25,65531,8);
-  ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0;
-  $26 = ((($5)) + 4|0);
-  $27 = HEAP32[$26>>2]|0;
-  switch ($27|0) {
-  case 12: case 10: case 9:  {
-   $28 = $3;
-   $29 = $3;
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;
-   _mrb_inspect($7,$29,$$byval_copy1);
-   ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
-   ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
-   _mrb_str_cat_str($8,$28,$$byval_copy2,$$byval_copy3);
-   break;
-  }
-  default: {
-   $30 = $3;
-   $31 = $3;
-   ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
-   _mrb_any_to_s($9,$31,$$byval_copy4);
-   ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;
-   ;HEAP32[$$byval_copy6>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$9+4>>2]|0;
-   _mrb_str_cat_str($10,$30,$$byval_copy5,$$byval_copy6);
-  }
-  }
-  $32 = $3;
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$4+4>>2]|0;
-  _mrb_str_cat($0,$32,$$byval_copy7,65540,1);
-  STACKTOP = sp;return;
- }
- _mrb_str_buf_new($13,$22,32);
- ;HEAP32[$4>>2]=HEAP32[$13>>2]|0;HEAP32[$4+4>>2]=HEAP32[$13+4>>2]|0;
- $33 = HEAP32[$2>>2]|0;
- $11 = $33;
- $34 = $3;
- $35 = $11;
- _mrb_class_path($14,$34,$35);
- ;HEAP32[$12>>2]=HEAP32[$14>>2]|0;HEAP32[$12+4>>2]=HEAP32[$14+4>>2]|0;
- $36 = ((($12)) + 4|0);
- $37 = HEAP32[$36>>2]|0;
- $38 = ($37|0)==(0);
- if ($38) {
-  $39 = HEAP32[$12>>2]|0;
-  $40 = ($39|0)!=(0);
-  if (!($40)) {
-   $41 = ((($2)) + 4|0);
-   $42 = HEAP32[$41>>2]|0;
-   switch ($42|0) {
-   case 9:  {
-    $43 = $3;
-    ;HEAP32[$$byval_copy8>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$4+4>>2]|0;
-    _mrb_str_cat($15,$43,$$byval_copy8,65531,8);
-    break;
-   }
-   case 10:  {
-    $44 = $3;
-    ;HEAP32[$$byval_copy9>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$4+4>>2]|0;
-    _mrb_str_cat($16,$44,$$byval_copy9,66221,9);
-    break;
-   }
-   default: {
-    $45 = $3;
-    ;HEAP32[$$byval_copy10>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$4+4>>2]|0;
-    _mrb_str_cat($17,$45,$$byval_copy10,66231,9);
-   }
-   }
-   $46 = $3;
-   $47 = $3;
-   $48 = $11;
-   _mrb_ptr_to_str($18,$47,$48);
-   ;HEAP32[$$byval_copy11>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$4+4>>2]|0;
-   ;HEAP32[$$byval_copy12>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$18+4>>2]|0;
-   _mrb_str_concat($46,$$byval_copy11,$$byval_copy12);
-   $49 = $3;
-   ;HEAP32[$$byval_copy13>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$4+4>>2]|0;
-   _mrb_str_cat($0,$49,$$byval_copy13,65540,1);
-   STACKTOP = sp;return;
-  }
- }
- ;HEAP32[$0>>2]=HEAP32[$12>>2]|0;HEAP32[$0+4>>2]=HEAP32[$12+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_alias($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $5 = sp + 12|0;
- $6 = sp + 8|0;
- $3 = $1;
- $7 = HEAP32[$2>>2]|0;
- $4 = $7;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $6;
- (_mrb_get_args($8,66218,$vararg_buffer)|0);
- $9 = $3;
- $10 = $4;
- $11 = HEAP32[$5>>2]|0;
- $12 = HEAP32[$6>>2]|0;
- _mrb_alias_method($9,$10,$11,$12);
- _mrb_nil_value_689($0);
- STACKTOP = sp;return;
-}
-function _mrb_mod_ancestors($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy3 = sp + 72|0;
- $$byval_copy2 = sp + 64|0;
- $$byval_copy1 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $4 = sp + 32|0;
- $6 = sp + 16|0;
- $7 = sp + 8|0;
- $8 = sp;
- $3 = $1;
- $9 = HEAP32[$2>>2]|0;
- $5 = $9;
- $10 = $3;
- _mrb_ary_new($6,$10);
- ;HEAP32[$4>>2]=HEAP32[$6>>2]|0;HEAP32[$4+4>>2]=HEAP32[$6+4>>2]|0;
- while(1) {
-  $11 = $5;
-  $12 = ($11|0)!=(0|0);
-  if (!($12)) {
-   break;
-  }
-  $13 = $5;
-  $14 = HEAP32[$13>>2]|0;
-  $15 = $14 & 255;
-  $16 = ($15|0)==(11);
-  if ($16) {
-   $17 = $3;
-   $18 = $5;
-   $19 = ((($18)) + 4|0);
-   $20 = HEAP32[$19>>2]|0;
-   _mrb_obj_value_661($7,$20);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
-   _mrb_ary_push($17,$$byval_copy,$$byval_copy1);
-  } else {
-   $21 = $5;
-   $22 = HEAP32[$21>>2]|0;
-   $23 = $22 >>> 11;
-   $24 = $23 & 524288;
-   $25 = ($24|0)!=(0);
-   if (!($25)) {
-    $26 = $3;
-    $27 = $5;
-    _mrb_obj_value_661($8,$27);
-    ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
-    ;HEAP32[$$byval_copy3>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$8+4>>2]|0;
-    _mrb_ary_push($26,$$byval_copy2,$$byval_copy3);
-   }
-  }
-  $28 = $5;
-  $29 = ((($28)) + 20|0);
-  $30 = HEAP32[$29>>2]|0;
-  $5 = $30;
- }
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_undef($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $5 = sp + 12|0;
- $6 = sp + 8|0;
- $3 = $1;
- $7 = HEAP32[$2>>2]|0;
- $4 = $7;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $6;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($8,68856,$vararg_buffer)|0);
- while(1) {
-  $9 = HEAP32[$5>>2]|0;
-  $10 = (($9) + -1)|0;
-  HEAP32[$5>>2] = $10;
-  $11 = ($9|0)!=(0);
-  if (!($11)) {
-   break;
-  }
-  $12 = $3;
-  $13 = $4;
-  $14 = HEAP32[$6>>2]|0;
-  $15 = HEAP32[$14>>2]|0;
-  _undef_method($12,$13,$15);
-  $16 = HEAP32[$6>>2]|0;
-  $17 = ((($16)) + 8|0);
-  HEAP32[$6>>2] = $17;
- }
- _mrb_nil_value_689($0);
- STACKTOP = sp;return;
-}
-function _mrb_mod_const_defined($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $5 = sp + 24|0;
- $3 = $1;
- HEAP8[$5>>0] = 1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($6,66214,$vararg_buffer)|0);
- $7 = $3;
- $8 = HEAP32[$4>>2]|0;
- _check_const_name_sym($7,$8);
- $9 = $3;
- $10 = HEAP32[$4>>2]|0;
- $11 = HEAP8[$5>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _const_defined($0,$9,$$byval_copy,$10,$11);
- STACKTOP = sp;return;
-}
-function _mrb_mod_const_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $vararg_buffer = sp;
- $4 = sp + 4|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68770,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP32[$4>>2]|0;
- _check_const_name_sym($6,$7);
- $8 = $3;
- $9 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_const_get($0,$8,$$byval_copy,$9);
- STACKTOP = sp;return;
-}
-function _mrb_mod_const_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($6,68807,$vararg_buffer)|0);
- $7 = $3;
- $8 = HEAP32[$4>>2]|0;
- _check_const_name_sym($7,$8);
- $9 = $3;
- $10 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_const_set($9,$$byval_copy,$10,$$byval_copy2);
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_mod_remove_const($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy = sp + 48|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 40|0;
- $5 = sp + 32|0;
- $6 = sp + 24|0;
- $7 = sp + 16|0;
- $3 = $1;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($8,68770,$vararg_buffer)|0);
- $9 = $3;
- $10 = HEAP32[$4>>2]|0;
- _check_const_name_sym($9,$10);
- $11 = $3;
- $12 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_iv_remove($6,$11,$$byval_copy,$12);
- ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
- $13 = ((($5)) + 4|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ($14|0)==(5);
- if ($15) {
-  $16 = $3;
-  $17 = HEAP32[$4>>2]|0;
-  $18 = $3;
-  $19 = HEAP32[$4>>2]|0;
-  _mrb_sym2str($7,$18,$19);
-  ;HEAP8[$vararg_buffer1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$7+7>>0]|0;
-  _mrb_name_error($16,$17,66167,$vararg_buffer1);
-  // unreachable;
- } else {
-  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_mod_const_missing($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer5 = 0, $vararg_ptr4 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $vararg_buffer5 = sp + 24|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 48|0;
- $5 = sp + 40|0;
- $6 = sp + 32|0;
- $3 = $1;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($7,68770,$vararg_buffer)|0);
- $8 = HEAP32[$2>>2]|0;
- $9 = (_mrb_class_real($8)|0);
- $10 = $3;
- $11 = ((($10)) + 32|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ($9|0)!=($12|0);
- $14 = $3;
- $15 = HEAP32[$4>>2]|0;
- $16 = $3;
- $17 = HEAP32[$4>>2]|0;
- if ($13) {
-  _mrb_sym2str($5,$16,$17);
-  ;HEAP8[$vararg_buffer1>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$2+7>>0]|0;
-  $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
-  ;HEAP8[$vararg_ptr4>>0]=HEAP8[$5>>0]|0;HEAP8[$vararg_ptr4+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$vararg_ptr4+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$vararg_ptr4+3>>0]=HEAP8[$5+3>>0]|0;HEAP8[$vararg_ptr4+4>>0]=HEAP8[$5+4>>0]|0;HEAP8[$vararg_ptr4+5>>0]=HEAP8[$5+5>>0]|0;HEAP8[$vararg_ptr4+6>>0]=HEAP8[$5+6>>0]|0;HEAP8[$vararg_ptr4+7>>0]=HEAP8[$5+7>>0]|0;
-  _mrb_name_error($14,$15,66111,$vararg_buffer1);
-  // unreachable;
- } else {
-  _mrb_sym2str($6,$16,$17);
-  ;HEAP8[$vararg_buffer5>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer5+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer5+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer5+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer5+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer5+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer5+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer5+7>>0]=HEAP8[$6+7>>0]|0;
-  _mrb_name_error($14,$15,66141,$vararg_buffer5);
-  // unreachable;
- }
-}
-function _mod_define_method($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $6 = sp + 16|0;
- $7 = sp + 8|0;
- $3 = $1;
- $8 = HEAP32[$2>>2]|0;
- $4 = $8;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $6;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $7;
- (_mrb_get_args($9,68706,$vararg_buffer)|0);
- $10 = ((($7)) + 4|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)==(0);
- if ($12) {
-  $13 = HEAP32[$7>>2]|0;
-  $14 = ($13|0)!=(0);
-  if (!($14)) {
-   $15 = $3;
-   $16 = $3;
-   $17 = (_mrb_class_get($16,69160)|0);
-   _mrb_raise($15,$17,68709);
-   // unreachable;
-  }
- }
- $18 = $3;
- $19 = $3;
- $20 = ((($19)) + 44|0);
- $21 = HEAP32[$20>>2]|0;
- $22 = (_mrb_obj_alloc($18,13,$21)|0);
- $5 = $22;
- $23 = $5;
- $24 = HEAP32[$7>>2]|0;
- _mrb_proc_copy($23,$24);
- $25 = $5;
- $26 = HEAP32[$25>>2]|0;
- $27 = $26 >>> 11;
- $28 = $27 | 256;
- $29 = HEAP32[$25>>2]|0;
- $30 = $28 & 2097151;
- $31 = $30 << 11;
- $32 = $29 & 2047;
- $33 = $32 | $31;
- HEAP32[$25>>2] = $33;
- $34 = $3;
- $35 = $4;
- $36 = HEAP32[$6>>2]|0;
- $37 = $5;
- _mrb_define_method_raw($34,$35,$36,$37);
- $38 = HEAP32[$6>>2]|0;
- _mrb_symbol_value_663($0,$38);
- STACKTOP = sp;return;
-}
-function _mrb_mod_eqq($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,69199,$vararg_buffer)|0);
- $7 = $3;
- $8 = HEAP32[$2>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- $9 = (_mrb_obj_is_kind_of($7,$$byval_copy,$8)|0);
- $5 = $9;
- $10 = $5;
- _mrb_bool_value_793($0,$10);
- STACKTOP = sp;return;
-}
-function _mrb_mod_s_constants($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $4 = $3;
- $5 = $3;
- $6 = (_mrb_class_get($5,65108)|0);
- _mrb_raise($4,$6,66078);
- // unreachable;
-}
-function _mrb_bool_value_793($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- $7 = $6 ? 2 : 0;
- $8 = ((($3)) + 4|0);
- HEAP32[$8>>2] = $7;
- HEAP32[$3>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _check_const_name_sym($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $4 = sp;
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = $2;
- $7 = $3;
- _mrb_sym2str($4,$6,$7);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- _check_const_name_str($5,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _check_const_name_str($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $vararg_buffer = sp;
- $2 = $0;
- $3 = HEAP32[$1>>2]|0;
- $4 = HEAP32[$3>>2]|0;
- $5 = $4 >>> 11;
- $6 = $5 & 8;
- $7 = ($6|0)!=(0);
- $8 = HEAP32[$1>>2]|0;
- if ($7) {
-  $9 = HEAP32[$8>>2]|0;
-  $10 = $9 >>> 11;
-  $11 = $10 & 496;
-  $12 = $11 >> 4;
-  $16 = $12;
- } else {
-  $13 = ((($8)) + 12|0);
-  $14 = HEAP32[$13>>2]|0;
-  $16 = $14;
- }
- $15 = ($16|0)<(1);
- if (!($15)) {
-  $17 = HEAP32[$1>>2]|0;
-  $18 = HEAP32[$17>>2]|0;
-  $19 = $18 >>> 11;
-  $20 = $19 & 8;
-  $21 = ($20|0)!=(0);
-  $22 = HEAP32[$1>>2]|0;
-  $23 = ((($22)) + 12|0);
-  if ($21) {
-   $27 = $23;
-  } else {
-   $24 = ((($23)) + 8|0);
-   $25 = HEAP32[$24>>2]|0;
-   $27 = $25;
-  }
-  $26 = HEAP8[$27>>0]|0;
-  $28 = $26 << 24 >> 24;
-  $29 = (($28) - 65)|0;
-  $30 = ($29>>>0)<(26);
-  if ($30) {
-   STACKTOP = sp;return;
-  }
- }
- $31 = $2;
- $32 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $33 = (_mrb_intern_str($32,$$byval_copy)|0);
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$1>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$1+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$1+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$1+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$1+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$1+7>>0]|0;
- _mrb_name_error($31,$33,66191,$vararg_buffer);
- // unreachable;
-}
-function _const_defined($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $5 = $1;
- $6 = $3;
- $7 = $4;
- $8 = $7;
- $9 = ($8<<24>>24)!=(0);
- $10 = $5;
- $11 = $6;
- if ($9) {
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  $12 = (_mrb_const_defined($10,$$byval_copy,$11)|0);
-  _mrb_bool_value_793($0,$12);
-  STACKTOP = sp;return;
- } else {
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-  $13 = (_mrb_const_defined_at($10,$$byval_copy1,$11)|0);
-  _mrb_bool_value_793($0,$13);
-  STACKTOP = sp;return;
- }
-}
-function _attr_writer($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy2 = sp + 48|0;
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- _mrb_proc_cfunc_env_get($4,$6,0);
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- (_mrb_get_args($7,69199,$vararg_buffer)|0);
- $8 = $3;
- $9 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- $10 = (_to_sym($9,$$byval_copy)|0);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_iv_set($8,$$byval_copy1,$10,$$byval_copy2);
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _attr_reader($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 24|0;
- $$byval_copy = sp + 16|0;
- $4 = sp;
- $3 = $1;
- $5 = $3;
- _mrb_proc_cfunc_env_get($4,$5,0);
- $6 = $3;
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- $8 = (_to_sym($7,$$byval_copy)|0);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_iv_get($0,$6,$$byval_copy1,$8);
- STACKTOP = sp;return;
-}
-function _remove_method($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy = sp + 72|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $8 = sp + 40|0;
- $9 = sp + 32|0;
- $10 = sp + 24|0;
- $3 = $0;
- $4 = $2;
- $11 = HEAP32[$1>>2]|0;
- $5 = $11;
- $12 = $5;
- $13 = (_find_origin($12)|0);
- $14 = ((($13)) + 16|0);
- $15 = HEAP32[$14>>2]|0;
- $6 = $15;
- $16 = $6;
- $17 = ($16|0)!=(0|0);
- if ($17) {
-  $18 = $3;
-  $19 = $6;
-  $20 = $4;
-  $21 = (_kh_get_mt($18,$19,$20)|0);
-  $7 = $21;
-  $22 = $7;
-  $23 = $6;
-  $24 = HEAP32[$23>>2]|0;
-  $25 = ($22|0)!=($24|0);
-  if ($25) {
-   $26 = $3;
-   $27 = $6;
-   $28 = $7;
-   _kh_del_mt($26,$27,$28);
-   $29 = $3;
-   $30 = $4;
-   _mrb_symbol_value_663($8,$30);
-   ;HEAP8[$vararg_buffer>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$8+7>>0]|0;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
-   _mrb_funcall($9,$29,$$byval_copy,65927,1,$vararg_buffer);
-   STACKTOP = sp;return;
-  }
- }
- $31 = $3;
- $32 = $4;
- $33 = $3;
- $34 = $4;
- _mrb_sym2str($10,$33,$34);
- ;HEAP8[$vararg_buffer1>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$10+7>>0]|0;
- $vararg_ptr4 = ((($vararg_buffer1)) + 8|0);
- ;HEAP8[$vararg_ptr4>>0]=HEAP8[$1>>0]|0;HEAP8[$vararg_ptr4+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$vararg_ptr4+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$vararg_ptr4+3>>0]=HEAP8[$1+3>>0]|0;HEAP8[$vararg_ptr4+4>>0]=HEAP8[$1+4>>0]|0;HEAP8[$vararg_ptr4+5>>0]=HEAP8[$1+5>>0]|0;HEAP8[$vararg_ptr4+6>>0]=HEAP8[$1+6>>0]|0;HEAP8[$vararg_ptr4+7>>0]=HEAP8[$1+7>>0]|0;
- _mrb_name_error($31,$32,66245,$vararg_buffer1);
- // unreachable;
-}
-function _check_cv_name_sym($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $4 = sp;
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = $2;
- $7 = $3;
- _mrb_sym2str($4,$6,$7);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
- _check_cv_name_str($5,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _check_cv_name_str($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $2 = $0;
- $5 = HEAP32[$1>>2]|0;
- $6 = HEAP32[$5>>2]|0;
- $7 = $6 >>> 11;
- $8 = $7 & 8;
- $9 = ($8|0)!=(0);
- $10 = HEAP32[$1>>2]|0;
- $11 = ((($10)) + 12|0);
- if ($9) {
-  $14 = $11;
- } else {
-  $12 = ((($11)) + 8|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = $13;
- }
- $3 = $14;
- $15 = HEAP32[$1>>2]|0;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 >>> 11;
- $18 = $17 & 8;
- $19 = ($18|0)!=(0);
- $20 = HEAP32[$1>>2]|0;
- if ($19) {
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $21 >>> 11;
-  $23 = $22 & 496;
-  $24 = $23 >> 4;
-  $27 = $24;
- } else {
-  $25 = ((($20)) + 12|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $26;
- }
- $4 = $27;
- $28 = $4;
- $29 = ($28|0)<(3);
- if (!($29)) {
-  $30 = $3;
-  $31 = HEAP8[$30>>0]|0;
-  $32 = $31 << 24 >> 24;
-  $33 = ($32|0)==(64);
-  if ($33) {
-   $34 = $3;
-   $35 = ((($34)) + 1|0);
-   $36 = HEAP8[$35>>0]|0;
-   $37 = $36 << 24 >> 24;
-   $38 = ($37|0)==(64);
-   if ($38) {
-    STACKTOP = sp;return;
-   }
-  }
- }
- $39 = $2;
- $40 = $2;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $41 = (_mrb_intern_str($40,$$byval_copy)|0);
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$1>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$1+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$1+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$1+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$1+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$1+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$1+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$1+7>>0]|0;
- _mrb_name_error($39,$41,66336,$vararg_buffer);
- // unreachable;
-}
-function _mrb_true_value_815($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 2;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_false_value_816($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_codedump_all($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = $3;
- $6 = ((($5)) + 12|0);
- $7 = HEAP32[$6>>2]|0;
- _codedump_recur($4,$7);
- STACKTOP = sp;return;
-}
-function _codedump_recur($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = $3;
- _codedump($5,$6);
- $4 = 0;
- while(1) {
-  $7 = $4;
-  $8 = $3;
-  $9 = ((($8)) + 52|0);
-  $10 = HEAP32[$9>>2]|0;
-  $11 = ($7>>>0)<($10>>>0);
-  if (!($11)) {
-   break;
-  }
-  $12 = $2;
-  $13 = $3;
-  $14 = ((($13)) + 20|0);
-  $15 = HEAP32[$14>>2]|0;
-  $16 = $4;
-  $17 = (($15) + ($16<<2)|0);
-  $18 = HEAP32[$17>>2]|0;
-  _codedump_recur($12,$18);
-  $19 = $4;
-  $20 = (($19) + 1)|0;
-  $4 = $20;
- }
- STACKTOP = sp;return;
-}
-function _codedump($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $$byval_copy321 = 0, $$byval_copy322 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $102 = 0;
- var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0;
- var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0;
- var $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0;
- var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0;
- var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0;
- var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0;
- var $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0;
- var $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0;
- var $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0;
- var $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0;
- var $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0;
- var $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0;
- var $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0;
- var $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0;
- var $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0;
- var $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0;
- var $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0;
- var $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0;
- var $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0;
- var $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0;
- var $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0;
- var $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0;
- var $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0;
- var $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0;
- var $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0;
- var $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0;
- var $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0;
- var $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0;
- var $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0;
- var $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0;
- var $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0;
- var $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0;
- var $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0;
- var $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0;
- var $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0;
- var $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0;
- var $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0;
- var $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0;
- var $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0;
- var $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0;
- var $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0;
- var $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0;
- var $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0;
- var $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0;
- var $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0;
- var $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0;
- var $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0;
- var $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0;
- var $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0;
- var $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $vararg_buffer = 0, $vararg_buffer100 = 0, $vararg_buffer103 = 0, $vararg_buffer107 = 0, $vararg_buffer11 = 0, $vararg_buffer111 = 0;
- var $vararg_buffer116 = 0, $vararg_buffer121 = 0, $vararg_buffer126 = 0, $vararg_buffer130 = 0, $vararg_buffer137 = 0, $vararg_buffer14 = 0, $vararg_buffer146 = 0, $vararg_buffer149 = 0, $vararg_buffer151 = 0, $vararg_buffer153 = 0, $vararg_buffer155 = 0, $vararg_buffer162 = 0, $vararg_buffer167 = 0, $vararg_buffer17 = 0, $vararg_buffer172 = 0, $vararg_buffer176 = 0, $vararg_buffer181 = 0, $vararg_buffer186 = 0, $vararg_buffer19 = 0, $vararg_buffer191 = 0;
- var $vararg_buffer196 = 0, $vararg_buffer201 = 0, $vararg_buffer206 = 0, $vararg_buffer211 = 0, $vararg_buffer216 = 0, $vararg_buffer221 = 0, $vararg_buffer226 = 0, $vararg_buffer23 = 0, $vararg_buffer231 = 0, $vararg_buffer233 = 0, $vararg_buffer238 = 0, $vararg_buffer242 = 0, $vararg_buffer246 = 0, $vararg_buffer251 = 0, $vararg_buffer256 = 0, $vararg_buffer261 = 0, $vararg_buffer265 = 0, $vararg_buffer270 = 0, $vararg_buffer273 = 0, $vararg_buffer277 = 0;
- var $vararg_buffer28 = 0, $vararg_buffer281 = 0, $vararg_buffer285 = 0, $vararg_buffer289 = 0, $vararg_buffer292 = 0, $vararg_buffer295 = 0, $vararg_buffer298 = 0, $vararg_buffer301 = 0, $vararg_buffer304 = 0, $vararg_buffer307 = 0, $vararg_buffer310 = 0, $vararg_buffer313 = 0, $vararg_buffer319 = 0, $vararg_buffer32 = 0, $vararg_buffer36 = 0, $vararg_buffer39 = 0, $vararg_buffer42 = 0, $vararg_buffer45 = 0, $vararg_buffer48 = 0, $vararg_buffer52 = 0;
- var $vararg_buffer56 = 0, $vararg_buffer6 = 0, $vararg_buffer60 = 0, $vararg_buffer64 = 0, $vararg_buffer69 = 0, $vararg_buffer74 = 0, $vararg_buffer78 = 0, $vararg_buffer82 = 0, $vararg_buffer87 = 0, $vararg_buffer9 = 0, $vararg_buffer92 = 0, $vararg_buffer96 = 0, $vararg_ptr1 = 0, $vararg_ptr106 = 0, $vararg_ptr110 = 0, $vararg_ptr114 = 0, $vararg_ptr115 = 0, $vararg_ptr119 = 0, $vararg_ptr120 = 0, $vararg_ptr124 = 0;
- var $vararg_ptr125 = 0, $vararg_ptr129 = 0, $vararg_ptr133 = 0, $vararg_ptr134 = 0, $vararg_ptr135 = 0, $vararg_ptr136 = 0, $vararg_ptr140 = 0, $vararg_ptr141 = 0, $vararg_ptr142 = 0, $vararg_ptr143 = 0, $vararg_ptr144 = 0, $vararg_ptr145 = 0, $vararg_ptr158 = 0, $vararg_ptr159 = 0, $vararg_ptr160 = 0, $vararg_ptr161 = 0, $vararg_ptr165 = 0, $vararg_ptr166 = 0, $vararg_ptr170 = 0, $vararg_ptr171 = 0;
- var $vararg_ptr175 = 0, $vararg_ptr179 = 0, $vararg_ptr180 = 0, $vararg_ptr184 = 0, $vararg_ptr185 = 0, $vararg_ptr189 = 0, $vararg_ptr190 = 0, $vararg_ptr194 = 0, $vararg_ptr195 = 0, $vararg_ptr199 = 0, $vararg_ptr2 = 0, $vararg_ptr200 = 0, $vararg_ptr204 = 0, $vararg_ptr205 = 0, $vararg_ptr209 = 0, $vararg_ptr210 = 0, $vararg_ptr214 = 0, $vararg_ptr215 = 0, $vararg_ptr219 = 0, $vararg_ptr22 = 0;
- var $vararg_ptr220 = 0, $vararg_ptr224 = 0, $vararg_ptr225 = 0, $vararg_ptr229 = 0, $vararg_ptr230 = 0, $vararg_ptr236 = 0, $vararg_ptr237 = 0, $vararg_ptr241 = 0, $vararg_ptr245 = 0, $vararg_ptr249 = 0, $vararg_ptr250 = 0, $vararg_ptr254 = 0, $vararg_ptr255 = 0, $vararg_ptr259 = 0, $vararg_ptr26 = 0, $vararg_ptr260 = 0, $vararg_ptr264 = 0, $vararg_ptr268 = 0, $vararg_ptr269 = 0, $vararg_ptr27 = 0;
- var $vararg_ptr276 = 0, $vararg_ptr280 = 0, $vararg_ptr284 = 0, $vararg_ptr288 = 0, $vararg_ptr3 = 0, $vararg_ptr31 = 0, $vararg_ptr316 = 0, $vararg_ptr317 = 0, $vararg_ptr318 = 0, $vararg_ptr35 = 0, $vararg_ptr4 = 0, $vararg_ptr5 = 0, $vararg_ptr51 = 0, $vararg_ptr55 = 0, $vararg_ptr59 = 0, $vararg_ptr63 = 0, $vararg_ptr67 = 0, $vararg_ptr68 = 0, $vararg_ptr72 = 0, $vararg_ptr73 = 0;
- var $vararg_ptr77 = 0, $vararg_ptr81 = 0, $vararg_ptr85 = 0, $vararg_ptr86 = 0, $vararg_ptr90 = 0, $vararg_ptr91 = 0, $vararg_ptr95 = 0, $vararg_ptr99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 1040|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1040|0);
- $$byval_copy322 = sp + 1024|0;
- $$byval_copy321 = sp + 1016|0;
- $$byval_copy = sp + 1008|0;
- $vararg_buffer319 = sp + 904|0;
- $vararg_buffer313 = sp + 888|0;
- $vararg_buffer310 = sp + 880|0;
- $vararg_buffer307 = sp + 872|0;
- $vararg_buffer304 = sp + 864|0;
- $vararg_buffer301 = sp + 856|0;
- $vararg_buffer298 = sp + 848|0;
- $vararg_buffer295 = sp + 840|0;
- $vararg_buffer292 = sp + 832|0;
- $vararg_buffer289 = sp + 824|0;
- $vararg_buffer285 = sp + 816|0;
- $vararg_buffer281 = sp + 808|0;
- $vararg_buffer277 = sp + 800|0;
- $vararg_buffer273 = sp + 792|0;
- $vararg_buffer270 = sp + 784|0;
- $vararg_buffer265 = sp + 768|0;
- $vararg_buffer261 = sp + 760|0;
- $vararg_buffer256 = sp + 744|0;
- $vararg_buffer251 = sp + 728|0;
- $vararg_buffer246 = sp + 712|0;
- $vararg_buffer242 = sp + 704|0;
- $vararg_buffer238 = sp + 696|0;
- $vararg_buffer233 = sp + 680|0;
- $vararg_buffer231 = sp + 672|0;
- $vararg_buffer226 = sp + 656|0;
- $vararg_buffer221 = sp + 640|0;
- $vararg_buffer216 = sp + 624|0;
- $vararg_buffer211 = sp + 608|0;
- $vararg_buffer206 = sp + 592|0;
- $vararg_buffer201 = sp + 576|0;
- $vararg_buffer196 = sp + 560|0;
- $vararg_buffer191 = sp + 544|0;
- $vararg_buffer186 = sp + 528|0;
- $vararg_buffer181 = sp + 512|0;
- $vararg_buffer176 = sp + 496|0;
- $vararg_buffer172 = sp + 488|0;
- $vararg_buffer167 = sp + 472|0;
- $vararg_buffer162 = sp + 456|0;
- $vararg_buffer155 = sp + 432|0;
- $vararg_buffer153 = sp + 424|0;
- $vararg_buffer151 = sp + 416|0;
- $vararg_buffer149 = sp + 408|0;
- $vararg_buffer146 = sp + 400|0;
- $vararg_buffer137 = sp + 368|0;
- $vararg_buffer130 = sp + 344|0;
- $vararg_buffer126 = sp + 336|0;
- $vararg_buffer121 = sp + 320|0;
- $vararg_buffer116 = sp + 304|0;
- $vararg_buffer111 = sp + 288|0;
- $vararg_buffer107 = sp + 280|0;
- $vararg_buffer103 = sp + 272|0;
- $vararg_buffer100 = sp + 264|0;
- $vararg_buffer96 = sp + 256|0;
- $vararg_buffer92 = sp + 248|0;
- $vararg_buffer87 = sp + 232|0;
- $vararg_buffer82 = sp + 216|0;
- $vararg_buffer78 = sp + 208|0;
- $vararg_buffer74 = sp + 200|0;
- $vararg_buffer69 = sp + 184|0;
- $vararg_buffer64 = sp + 168|0;
- $vararg_buffer60 = sp + 160|0;
- $vararg_buffer56 = sp + 152|0;
- $vararg_buffer52 = sp + 144|0;
- $vararg_buffer48 = sp + 136|0;
- $vararg_buffer45 = sp + 128|0;
- $vararg_buffer42 = sp + 120|0;
- $vararg_buffer39 = sp + 112|0;
- $vararg_buffer36 = sp + 104|0;
- $vararg_buffer32 = sp + 96|0;
- $vararg_buffer28 = sp + 88|0;
- $vararg_buffer23 = sp + 72|0;
- $vararg_buffer19 = sp + 64|0;
- $vararg_buffer17 = sp + 56|0;
- $vararg_buffer14 = sp + 48|0;
- $vararg_buffer11 = sp + 40|0;
- $vararg_buffer9 = sp + 32|0;
- $vararg_buffer6 = sp + 24|0;
- $vararg_buffer = sp;
- $10 = sp + 968|0;
- $11 = sp + 960|0;
- $12 = sp + 952|0;
- $13 = sp + 944|0;
- $14 = sp + 936|0;
- $15 = sp + 928|0;
- $16 = sp + 920|0;
- $17 = sp + 912|0;
- $2 = $0;
- $3 = $1;
- $7 = 0;
- $18 = $3;
- $19 = ($18|0)!=(0|0);
- if (!($19)) {
-  STACKTOP = sp;return;
- }
- $20 = $3;
- $21 = $3;
- $22 = ((($21)) + 2|0);
- $23 = HEAP16[$22>>1]|0;
- $24 = $23&65535;
- $25 = $3;
- $26 = HEAP16[$25>>1]|0;
- $27 = $26&65535;
- $28 = $3;
- $29 = ((($28)) + 44|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = $3;
- $32 = ((($31)) + 48|0);
- $33 = HEAP32[$32>>2]|0;
- $34 = $3;
- $35 = ((($34)) + 52|0);
- $36 = HEAP32[$35>>2]|0;
- HEAP32[$vararg_buffer>>2] = $20;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $24;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- HEAP32[$vararg_ptr2>>2] = $27;
- $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
- HEAP32[$vararg_ptr3>>2] = $30;
- $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
- HEAP32[$vararg_ptr4>>2] = $33;
- $vararg_ptr5 = ((($vararg_buffer)) + 20|0);
- HEAP32[$vararg_ptr5>>2] = $36;
- (_printf(66391,$vararg_buffer)|0);
- $4 = 0;
- while(1) {
-  $37 = $4;
-  $38 = $3;
-  $39 = ((($38)) + 40|0);
-  $40 = HEAP32[$39>>2]|0;
-  $41 = ($37|0)<($40|0);
-  if (!($41)) {
-   break;
-  }
-  $42 = $2;
-  $43 = (_mrb_gc_arena_save($42)|0);
-  $5 = $43;
-  $44 = $3;
-  $45 = $4;
-  $46 = (_mrb_debug_get_filename($44,$45)|0);
-  $8 = $46;
-  $47 = $8;
-  $48 = ($47|0)!=(0|0);
-  if ($48) {
-   $49 = $7;
-   $50 = $8;
-   $51 = ($49|0)!=($50|0);
-   if ($51) {
-    $52 = $8;
-    HEAP32[$vararg_buffer6>>2] = $52;
-    (_printf(66445,$vararg_buffer6)|0);
-    $53 = $8;
-    $7 = $53;
-   }
-  }
-  $54 = $3;
-  $55 = $4;
-  $56 = (_mrb_debug_get_line($54,$55)|0);
-  $9 = $56;
-  $57 = $9;
-  $58 = ($57|0)<(0);
-  if ($58) {
-   (_printf(66455,$vararg_buffer9)|0);
-  } else {
-   $59 = $9;
-   HEAP32[$vararg_buffer11>>2] = $59;
-   (_printf(66462,$vararg_buffer11)|0);
-  }
-  $60 = $4;
-  HEAP32[$vararg_buffer14>>2] = $60;
-  (_printf(66467,$vararg_buffer14)|0);
-  $61 = $3;
-  $62 = ((($61)) + 8|0);
-  $63 = HEAP32[$62>>2]|0;
-  $64 = $4;
-  $65 = (($63) + ($64<<2)|0);
-  $66 = HEAP32[$65>>2]|0;
-  $6 = $66;
-  $67 = $6;
-  $68 = $67 & 127;
-  do {
-   switch ($68|0) {
-   case 0:  {
-    (_printf(66473,$vararg_buffer17)|0);
-    break;
-   }
-   case 1:  {
-    $69 = $6;
-    $70 = $69 >>> 23;
-    $71 = $70 & 511;
-    $72 = $6;
-    $73 = $72 >>> 14;
-    $74 = $73 & 511;
-    HEAP32[$vararg_buffer19>>2] = $71;
-    $vararg_ptr22 = ((($vararg_buffer19)) + 4|0);
-    HEAP32[$vararg_ptr22>>2] = $74;
-    (_printf(66481,$vararg_buffer19)|0);
-    $75 = $2;
-    $76 = $3;
-    $77 = $6;
-    _print_lv($75,$76,$77,3);
-    break;
-   }
-   case 2:  {
-    $78 = $3;
-    $79 = ((($78)) + 12|0);
-    $80 = HEAP32[$79>>2]|0;
-    $81 = $6;
-    $82 = $81 >>> 7;
-    $83 = $82 & 65535;
-    $84 = (($80) + ($83<<3)|0);
-    ;HEAP32[$10>>2]=HEAP32[$84>>2]|0;HEAP32[$10+4>>2]=HEAP32[$84+4>>2]|0;
-    $85 = $2;
-    ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
-    _mrb_inspect($11,$85,$$byval_copy);
-    $86 = $6;
-    $87 = $86 >>> 23;
-    $88 = $87 & 511;
-    $89 = $6;
-    $90 = $89 >>> 7;
-    $91 = $90 & 65535;
-    $92 = HEAP32[$11>>2]|0;
-    $93 = HEAP32[$92>>2]|0;
-    $94 = $93 >>> 11;
-    $95 = $94 & 8;
-    $96 = ($95|0)!=(0);
-    $97 = HEAP32[$11>>2]|0;
-    $98 = ((($97)) + 12|0);
-    if ($96) {
-     $101 = $98;
-    } else {
-     $99 = ((($98)) + 8|0);
-     $100 = HEAP32[$99>>2]|0;
-     $101 = $100;
-    }
-    HEAP32[$vararg_buffer23>>2] = $88;
-    $vararg_ptr26 = ((($vararg_buffer23)) + 4|0);
-    HEAP32[$vararg_ptr26>>2] = $91;
-    $vararg_ptr27 = ((($vararg_buffer23)) + 8|0);
-    HEAP32[$vararg_ptr27>>2] = $101;
-    (_printf(66498,$vararg_buffer23)|0);
-    $102 = $2;
-    $103 = $3;
-    $104 = $6;
-    _print_lv($102,$103,$104,1);
-    break;
-   }
-   case 3:  {
-    $105 = $6;
-    $106 = $105 >>> 23;
-    $107 = $106 & 511;
-    $108 = $6;
-    $109 = $108 >>> 7;
-    $110 = $109 & 65535;
-    $111 = (($110) - 32767)|0;
-    HEAP32[$vararg_buffer28>>2] = $107;
-    $vararg_ptr31 = ((($vararg_buffer28)) + 4|0);
-    HEAP32[$vararg_ptr31>>2] = $111;
-    (_printf(66522,$vararg_buffer28)|0);
-    $112 = $2;
-    $113 = $3;
-    $114 = $6;
-    _print_lv($112,$113,$114,1);
-    break;
-   }
-   case 4:  {
-    $115 = $6;
-    $116 = $115 >>> 23;
-    $117 = $116 & 511;
-    $118 = $2;
-    $119 = $3;
-    $120 = ((($119)) + 16|0);
-    $121 = HEAP32[$120>>2]|0;
-    $122 = $6;
-    $123 = $122 >>> 7;
-    $124 = $123 & 65535;
-    $125 = (($121) + ($124<<2)|0);
-    $126 = HEAP32[$125>>2]|0;
-    $127 = (_mrb_sym2name($118,$126)|0);
-    HEAP32[$vararg_buffer32>>2] = $117;
-    $vararg_ptr35 = ((($vararg_buffer32)) + 4|0);
-    HEAP32[$vararg_ptr35>>2] = $127;
-    (_printf(66539,$vararg_buffer32)|0);
-    $128 = $2;
-    $129 = $3;
-    $130 = $6;
-    _print_lv($128,$129,$130,1);
-    break;
-   }
-   case 5:  {
-    $131 = $6;
-    $132 = $131 >>> 23;
-    $133 = $132 & 511;
-    HEAP32[$vararg_buffer36>>2] = $133;
-    (_printf(66558,$vararg_buffer36)|0);
-    $134 = $2;
-    $135 = $3;
-    $136 = $6;
-    _print_lv($134,$135,$136,1);
-    break;
-   }
-   case 6:  {
-    $137 = $6;
-    $138 = $137 >>> 23;
-    $139 = $138 & 511;
-    HEAP32[$vararg_buffer39>>2] = $139;
-    (_printf(66575,$vararg_buffer39)|0);
-    $140 = $2;
-    $141 = $3;
-    $142 = $6;
-    _print_lv($140,$141,$142,1);
-    break;
-   }
-   case 7:  {
-    $143 = $6;
-    $144 = $143 >>> 23;
-    $145 = $144 & 511;
-    HEAP32[$vararg_buffer42>>2] = $145;
-    (_printf(66593,$vararg_buffer42)|0);
-    $146 = $2;
-    $147 = $3;
-    $148 = $6;
-    _print_lv($146,$147,$148,1);
-    break;
-   }
-   case 8:  {
-    $149 = $6;
-    $150 = $149 >>> 23;
-    $151 = $150 & 511;
-    HEAP32[$vararg_buffer45>>2] = $151;
-    (_printf(66608,$vararg_buffer45)|0);
-    $152 = $2;
-    $153 = $3;
-    $154 = $6;
-    _print_lv($152,$153,$154,1);
-    break;
-   }
-   case 9:  {
-    $155 = $6;
-    $156 = $155 >>> 23;
-    $157 = $156 & 511;
-    $158 = $2;
-    $159 = $3;
-    $160 = ((($159)) + 16|0);
-    $161 = HEAP32[$160>>2]|0;
-    $162 = $6;
-    $163 = $162 >>> 7;
-    $164 = $163 & 65535;
-    $165 = (($161) + ($164<<2)|0);
-    $166 = HEAP32[$165>>2]|0;
-    $167 = (_mrb_sym2name($158,$166)|0);
-    HEAP32[$vararg_buffer48>>2] = $157;
-    $vararg_ptr51 = ((($vararg_buffer48)) + 4|0);
-    HEAP32[$vararg_ptr51>>2] = $167;
-    (_printf(66623,$vararg_buffer48)|0);
-    $168 = $2;
-    $169 = $3;
-    $170 = $6;
-    _print_lv($168,$169,$170,1);
-    break;
-   }
-   case 10:  {
-    $171 = $2;
-    $172 = $3;
-    $173 = ((($172)) + 16|0);
-    $174 = HEAP32[$173>>2]|0;
-    $175 = $6;
-    $176 = $175 >>> 7;
-    $177 = $176 & 65535;
-    $178 = (($174) + ($177<<2)|0);
-    $179 = HEAP32[$178>>2]|0;
-    $180 = (_mrb_sym2name($171,$179)|0);
-    $181 = $6;
-    $182 = $181 >>> 23;
-    $183 = $182 & 511;
-    HEAP32[$vararg_buffer52>>2] = $180;
-    $vararg_ptr55 = ((($vararg_buffer52)) + 4|0);
-    HEAP32[$vararg_ptr55>>2] = $183;
-    (_printf(66644,$vararg_buffer52)|0);
-    $184 = $2;
-    $185 = $3;
-    $186 = $6;
-    _print_lv($184,$185,$186,1);
-    break;
-   }
-   case 17:  {
-    $187 = $6;
-    $188 = $187 >>> 23;
-    $189 = $188 & 511;
-    $190 = $2;
-    $191 = $3;
-    $192 = ((($191)) + 16|0);
-    $193 = HEAP32[$192>>2]|0;
-    $194 = $6;
-    $195 = $194 >>> 7;
-    $196 = $195 & 65535;
-    $197 = (($193) + ($196<<2)|0);
-    $198 = HEAP32[$197>>2]|0;
-    $199 = (_mrb_sym2name($190,$198)|0);
-    HEAP32[$vararg_buffer56>>2] = $189;
-    $vararg_ptr59 = ((($vararg_buffer56)) + 4|0);
-    HEAP32[$vararg_ptr59>>2] = $199;
-    (_printf(66666,$vararg_buffer56)|0);
-    $200 = $2;
-    $201 = $3;
-    $202 = $6;
-    _print_lv($200,$201,$202,1);
-    break;
-   }
-   case 18:  {
-    $203 = $2;
-    $204 = $3;
-    $205 = ((($204)) + 16|0);
-    $206 = HEAP32[$205>>2]|0;
-    $207 = $6;
-    $208 = $207 >>> 7;
-    $209 = $208 & 65535;
-    $210 = (($206) + ($209<<2)|0);
-    $211 = HEAP32[$210>>2]|0;
-    $212 = (_mrb_sym2name($203,$211)|0);
-    $213 = $6;
-    $214 = $213 >>> 23;
-    $215 = $214 & 511;
-    HEAP32[$vararg_buffer60>>2] = $212;
-    $vararg_ptr63 = ((($vararg_buffer60)) + 4|0);
-    HEAP32[$vararg_ptr63>>2] = $215;
-    (_printf(66686,$vararg_buffer60)|0);
-    $216 = $2;
-    $217 = $3;
-    $218 = $6;
-    _print_lv($216,$217,$218,1);
-    break;
-   }
-   case 19:  {
-    $219 = $6;
-    $220 = $219 >>> 23;
-    $221 = $220 & 511;
-    $222 = $6;
-    $223 = $222 >>> 23;
-    $224 = $223 & 511;
-    $225 = $2;
-    $226 = $3;
-    $227 = ((($226)) + 16|0);
-    $228 = HEAP32[$227>>2]|0;
-    $229 = $6;
-    $230 = $229 >>> 7;
-    $231 = $230 & 65535;
-    $232 = (($228) + ($231<<2)|0);
-    $233 = HEAP32[$232>>2]|0;
-    $234 = (_mrb_sym2name($225,$233)|0);
-    HEAP32[$vararg_buffer64>>2] = $221;
-    $vararg_ptr67 = ((($vararg_buffer64)) + 4|0);
-    HEAP32[$vararg_ptr67>>2] = $224;
-    $vararg_ptr68 = ((($vararg_buffer64)) + 8|0);
-    HEAP32[$vararg_ptr68>>2] = $234;
-    (_printf(66707,$vararg_buffer64)|0);
-    $235 = $2;
-    $236 = $3;
-    $237 = $6;
-    _print_lv($235,$236,$237,3);
-    break;
-   }
-   case 20:  {
-    $238 = $6;
-    $239 = $238 >>> 23;
-    $240 = $239 & 511;
-    $241 = (($240) + 1)|0;
-    $242 = $2;
-    $243 = $3;
-    $244 = ((($243)) + 16|0);
-    $245 = HEAP32[$244>>2]|0;
-    $246 = $6;
-    $247 = $246 >>> 7;
-    $248 = $247 & 65535;
-    $249 = (($245) + ($248<<2)|0);
-    $250 = HEAP32[$249>>2]|0;
-    $251 = (_mrb_sym2name($242,$250)|0);
-    $252 = $6;
-    $253 = $252 >>> 23;
-    $254 = $253 & 511;
-    HEAP32[$vararg_buffer69>>2] = $241;
-    $vararg_ptr72 = ((($vararg_buffer69)) + 4|0);
-    HEAP32[$vararg_ptr72>>2] = $251;
-    $vararg_ptr73 = ((($vararg_buffer69)) + 8|0);
-    HEAP32[$vararg_ptr73>>2] = $254;
-    (_printf(66731,$vararg_buffer69)|0);
-    $255 = $2;
-    $256 = $3;
-    $257 = $6;
-    _print_lv($255,$256,$257,1);
-    break;
-   }
-   case 13:  {
-    $258 = $6;
-    $259 = $258 >>> 23;
-    $260 = $259 & 511;
-    $261 = $2;
-    $262 = $3;
-    $263 = ((($262)) + 16|0);
-    $264 = HEAP32[$263>>2]|0;
-    $265 = $6;
-    $266 = $265 >>> 7;
-    $267 = $266 & 65535;
-    $268 = (($264) + ($267<<2)|0);
-    $269 = HEAP32[$268>>2]|0;
-    $270 = (_mrb_sym2name($261,$269)|0);
-    HEAP32[$vararg_buffer74>>2] = $260;
-    $vararg_ptr77 = ((($vararg_buffer74)) + 4|0);
-    HEAP32[$vararg_ptr77>>2] = $270;
-    (_printf(66755,$vararg_buffer74)|0);
-    $271 = $2;
-    $272 = $3;
-    $273 = $6;
-    _print_lv($271,$272,$273,1);
-    break;
-   }
-   case 14:  {
-    $274 = $2;
-    $275 = $3;
-    $276 = ((($275)) + 16|0);
-    $277 = HEAP32[$276>>2]|0;
-    $278 = $6;
-    $279 = $278 >>> 7;
-    $280 = $279 & 65535;
-    $281 = (($277) + ($280<<2)|0);
-    $282 = HEAP32[$281>>2]|0;
-    $283 = (_mrb_sym2name($274,$282)|0);
-    $284 = $6;
-    $285 = $284 >>> 23;
-    $286 = $285 & 511;
-    HEAP32[$vararg_buffer78>>2] = $283;
-    $vararg_ptr81 = ((($vararg_buffer78)) + 4|0);
-    HEAP32[$vararg_ptr81>>2] = $286;
-    (_printf(66771,$vararg_buffer78)|0);
-    $287 = $2;
-    $288 = $3;
-    $289 = $6;
-    _print_lv($287,$288,$289,1);
-    break;
-   }
-   case 21:  {
-    $290 = $6;
-    $291 = $290 >>> 23;
-    $292 = $291 & 511;
-    $293 = $6;
-    $294 = $293 >>> 14;
-    $295 = $294 & 511;
-    $296 = $6;
-    $297 = $296 >>> 7;
-    $298 = $297 & 127;
-    HEAP32[$vararg_buffer82>>2] = $292;
-    $vararg_ptr85 = ((($vararg_buffer82)) + 4|0);
-    HEAP32[$vararg_ptr85>>2] = $295;
-    $vararg_ptr86 = ((($vararg_buffer82)) + 8|0);
-    HEAP32[$vararg_ptr86>>2] = $298;
-    (_printf(66787,$vararg_buffer82)|0);
-    $299 = $2;
-    $300 = $3;
-    $301 = $6;
-    _print_lv($299,$300,$301,1);
-    break;
-   }
-   case 22:  {
-    $302 = $6;
-    $303 = $302 >>> 23;
-    $304 = $303 & 511;
-    $305 = $6;
-    $306 = $305 >>> 14;
-    $307 = $306 & 511;
-    $308 = $6;
-    $309 = $308 >>> 7;
-    $310 = $309 & 127;
-    HEAP32[$vararg_buffer87>>2] = $304;
-    $vararg_ptr90 = ((($vararg_buffer87)) + 4|0);
-    HEAP32[$vararg_ptr90>>2] = $307;
-    $vararg_ptr91 = ((($vararg_buffer87)) + 8|0);
-    HEAP32[$vararg_ptr91>>2] = $310;
-    (_printf(66809,$vararg_buffer87)|0);
-    $311 = $2;
-    $312 = $3;
-    $313 = $6;
-    _print_lv($311,$312,$313,1);
-    break;
-   }
-   case 15:  {
-    $314 = $6;
-    $315 = $314 >>> 23;
-    $316 = $315 & 511;
-    $317 = $2;
-    $318 = $3;
-    $319 = ((($318)) + 16|0);
-    $320 = HEAP32[$319>>2]|0;
-    $321 = $6;
-    $322 = $321 >>> 7;
-    $323 = $322 & 65535;
-    $324 = (($320) + ($323<<2)|0);
-    $325 = HEAP32[$324>>2]|0;
-    $326 = (_mrb_sym2name($317,$325)|0);
-    HEAP32[$vararg_buffer92>>2] = $316;
-    $vararg_ptr95 = ((($vararg_buffer92)) + 4|0);
-    HEAP32[$vararg_ptr95>>2] = $326;
-    (_printf(66831,$vararg_buffer92)|0);
-    $327 = $2;
-    $328 = $3;
-    $329 = $6;
-    _print_lv($327,$328,$329,1);
-    break;
-   }
-   case 16:  {
-    $330 = $2;
-    $331 = $3;
-    $332 = ((($331)) + 16|0);
-    $333 = HEAP32[$332>>2]|0;
-    $334 = $6;
-    $335 = $334 >>> 7;
-    $336 = $335 & 65535;
-    $337 = (($333) + ($336<<2)|0);
-    $338 = HEAP32[$337>>2]|0;
-    $339 = (_mrb_sym2name($330,$338)|0);
-    $340 = $6;
-    $341 = $340 >>> 23;
-    $342 = $341 & 511;
-    HEAP32[$vararg_buffer96>>2] = $339;
-    $vararg_ptr99 = ((($vararg_buffer96)) + 4|0);
-    HEAP32[$vararg_ptr99>>2] = $342;
-    (_printf(66847,$vararg_buffer96)|0);
-    $343 = $2;
-    $344 = $3;
-    $345 = $6;
-    _print_lv($343,$344,$345,1);
-    break;
-   }
-   case 23:  {
-    $346 = $4;
-    $347 = $6;
-    $348 = $347 >>> 7;
-    $349 = $348 & 65535;
-    $350 = (($349) - 32767)|0;
-    $351 = (($346) + ($350))|0;
-    HEAP32[$vararg_buffer100>>2] = $351;
-    (_printf(66863,$vararg_buffer100)|0);
-    break;
-   }
-   case 24:  {
-    $352 = $6;
-    $353 = $352 >>> 23;
-    $354 = $353 & 511;
-    $355 = $4;
-    $356 = $6;
-    $357 = $356 >>> 7;
-    $358 = $357 & 65535;
-    $359 = (($358) - 32767)|0;
-    $360 = (($355) + ($359))|0;
-    HEAP32[$vararg_buffer103>>2] = $354;
-    $vararg_ptr106 = ((($vararg_buffer103)) + 4|0);
-    HEAP32[$vararg_ptr106>>2] = $360;
-    (_printf(66876,$vararg_buffer103)|0);
-    break;
-   }
-   case 25:  {
-    $361 = $6;
-    $362 = $361 >>> 23;
-    $363 = $362 & 511;
-    $364 = $4;
-    $365 = $6;
-    $366 = $365 >>> 7;
-    $367 = $366 & 65535;
-    $368 = (($367) - 32767)|0;
-    $369 = (($364) + ($368))|0;
-    HEAP32[$vararg_buffer107>>2] = $363;
-    $vararg_ptr110 = ((($vararg_buffer107)) + 4|0);
-    HEAP32[$vararg_ptr110>>2] = $369;
-    (_printf(66895,$vararg_buffer107)|0);
-    break;
-   }
-   case 32:  {
-    $370 = $6;
-    $371 = $370 >>> 23;
-    $372 = $371 & 511;
-    $373 = $2;
-    $374 = $3;
-    $375 = ((($374)) + 16|0);
-    $376 = HEAP32[$375>>2]|0;
-    $377 = $6;
-    $378 = $377 >>> 14;
-    $379 = $378 & 511;
-    $380 = (($376) + ($379<<2)|0);
-    $381 = HEAP32[$380>>2]|0;
-    $382 = (_mrb_sym2name($373,$381)|0);
-    $383 = $6;
-    $384 = $383 >>> 7;
-    $385 = $384 & 127;
-    HEAP32[$vararg_buffer111>>2] = $372;
-    $vararg_ptr114 = ((($vararg_buffer111)) + 4|0);
-    HEAP32[$vararg_ptr114>>2] = $382;
-    $vararg_ptr115 = ((($vararg_buffer111)) + 8|0);
-    HEAP32[$vararg_ptr115>>2] = $385;
-    (_printf(66915,$vararg_buffer111)|0);
-    break;
-   }
-   case 33:  {
-    $386 = $6;
-    $387 = $386 >>> 23;
-    $388 = $387 & 511;
-    $389 = $2;
-    $390 = $3;
-    $391 = ((($390)) + 16|0);
-    $392 = HEAP32[$391>>2]|0;
-    $393 = $6;
-    $394 = $393 >>> 14;
-    $395 = $394 & 511;
-    $396 = (($392) + ($395<<2)|0);
-    $397 = HEAP32[$396>>2]|0;
-    $398 = (_mrb_sym2name($389,$397)|0);
-    $399 = $6;
-    $400 = $399 >>> 7;
-    $401 = $400 & 127;
-    HEAP32[$vararg_buffer116>>2] = $388;
-    $vararg_ptr119 = ((($vararg_buffer116)) + 4|0);
-    HEAP32[$vararg_ptr119>>2] = $398;
-    $vararg_ptr120 = ((($vararg_buffer116)) + 8|0);
-    HEAP32[$vararg_ptr120>>2] = $401;
-    (_printf(66935,$vararg_buffer116)|0);
-    break;
-   }
-   case 42:  {
-    $402 = $6;
-    $403 = $402 >>> 23;
-    $404 = $403 & 511;
-    $405 = $2;
-    $406 = $3;
-    $407 = ((($406)) + 16|0);
-    $408 = HEAP32[$407>>2]|0;
-    $409 = $6;
-    $410 = $409 >>> 14;
-    $411 = $410 & 511;
-    $412 = (($408) + ($411<<2)|0);
-    $413 = HEAP32[$412>>2]|0;
-    $414 = (_mrb_sym2name($405,$413)|0);
-    $415 = $6;
-    $416 = $415 >>> 7;
-    $417 = $416 & 127;
-    HEAP32[$vararg_buffer121>>2] = $404;
-    $vararg_ptr124 = ((($vararg_buffer121)) + 4|0);
-    HEAP32[$vararg_ptr124>>2] = $414;
-    $vararg_ptr125 = ((($vararg_buffer121)) + 8|0);
-    HEAP32[$vararg_ptr125>>2] = $417;
-    (_printf(66956,$vararg_buffer121)|0);
-    break;
-   }
-   case 36:  {
-    $418 = $6;
-    $419 = $418 >>> 23;
-    $420 = $419 & 511;
-    $421 = $6;
-    $422 = $421 >>> 7;
-    $423 = $422 & 127;
-    HEAP32[$vararg_buffer126>>2] = $420;
-    $vararg_ptr129 = ((($vararg_buffer126)) + 4|0);
-    HEAP32[$vararg_ptr129>>2] = $423;
-    (_printf(66980,$vararg_buffer126)|0);
-    break;
-   }
-   case 37:  {
-    $424 = $6;
-    $425 = $424 >>> 23;
-    $426 = $425 & 511;
-    $427 = $6;
-    $428 = $427 >>> 7;
-    $429 = $428 & 65535;
-    $430 = $429 >> 10;
-    $431 = $430 & 63;
-    $432 = $6;
-    $433 = $432 >>> 7;
-    $434 = $433 & 65535;
-    $435 = $434 >> 9;
-    $436 = $435 & 1;
-    $437 = $6;
-    $438 = $437 >>> 7;
-    $439 = $438 & 65535;
-    $440 = $439 >> 4;
-    $441 = $440 & 31;
-    $442 = $6;
-    $443 = $442 >>> 7;
-    $444 = $443 & 65535;
-    $445 = $444 >> 0;
-    $446 = $445 & 15;
-    HEAP32[$vararg_buffer130>>2] = $426;
-    $vararg_ptr133 = ((($vararg_buffer130)) + 4|0);
-    HEAP32[$vararg_ptr133>>2] = $431;
-    $vararg_ptr134 = ((($vararg_buffer130)) + 8|0);
-    HEAP32[$vararg_ptr134>>2] = $436;
-    $vararg_ptr135 = ((($vararg_buffer130)) + 12|0);
-    HEAP32[$vararg_ptr135>>2] = $441;
-    $vararg_ptr136 = ((($vararg_buffer130)) + 16|0);
-    HEAP32[$vararg_ptr136>>2] = $446;
-    (_printf(66997,$vararg_buffer130)|0);
-    $447 = $2;
-    $448 = $3;
-    $449 = $6;
-    _print_lv($447,$448,$449,1);
-    break;
-   }
-   case 38:  {
-    $450 = $6;
-    $451 = $450 >>> 7;
-    $452 = $451 & 33554431;
-    $453 = $452 >> 18;
-    $454 = $453 & 31;
-    $455 = $6;
-    $456 = $455 >>> 7;
-    $457 = $456 & 33554431;
-    $458 = $457 >> 13;
-    $459 = $458 & 31;
-    $460 = $6;
-    $461 = $460 >>> 7;
-    $462 = $461 & 33554431;
-    $463 = $462 >> 12;
-    $464 = $463 & 1;
-    $465 = $6;
-    $466 = $465 >>> 7;
-    $467 = $466 & 33554431;
-    $468 = $467 >> 7;
-    $469 = $468 & 31;
-    $470 = $6;
-    $471 = $470 >>> 7;
-    $472 = $471 & 33554431;
-    $473 = $472 >> 2;
-    $474 = $473 & 31;
-    $475 = $6;
-    $476 = $475 >>> 7;
-    $477 = $476 & 33554431;
-    $478 = $477 >> 1;
-    $479 = $478 & 1;
-    $480 = $6;
-    $481 = $480 >>> 7;
-    $482 = $481 & 33554431;
-    $483 = $482 & 1;
-    HEAP32[$vararg_buffer137>>2] = $454;
-    $vararg_ptr140 = ((($vararg_buffer137)) + 4|0);
-    HEAP32[$vararg_ptr140>>2] = $459;
-    $vararg_ptr141 = ((($vararg_buffer137)) + 8|0);
-    HEAP32[$vararg_ptr141>>2] = $464;
-    $vararg_ptr142 = ((($vararg_buffer137)) + 12|0);
-    HEAP32[$vararg_ptr142>>2] = $469;
-    $vararg_ptr143 = ((($vararg_buffer137)) + 16|0);
-    HEAP32[$vararg_ptr143>>2] = $474;
-    $vararg_ptr144 = ((($vararg_buffer137)) + 20|0);
-    HEAP32[$vararg_ptr144>>2] = $479;
-    $vararg_ptr145 = ((($vararg_buffer137)) + 24|0);
-    HEAP32[$vararg_ptr145>>2] = $483;
-    (_printf(67023,$vararg_buffer137)|0);
-    break;
-   }
-   case 41:  {
-    $484 = $6;
-    $485 = $484 >>> 23;
-    $486 = $485 & 511;
-    HEAP32[$vararg_buffer146>>2] = $486;
-    (_printf(67054,$vararg_buffer146)|0);
-    $487 = $6;
-    $488 = $487 >>> 14;
-    $489 = $488 & 511;
-    switch ($489|0) {
-    case 2: case 0:  {
-     (_printf(67068,$vararg_buffer149)|0);
-     break;
-    }
-    case 1:  {
-     (_printf(67077,$vararg_buffer151)|0);
-     break;
-    }
-    default: {
-     (_printf(67085,$vararg_buffer153)|0);
-    }
-    }
-    $490 = $2;
-    $491 = $3;
-    $492 = $6;
-    _print_lv($490,$491,$492,1);
-    break;
-   }
-   case 43:  {
-    $493 = $6;
-    $494 = $493 >>> 23;
-    $495 = $494 & 511;
-    $496 = $6;
-    $497 = $496 >>> 7;
-    $498 = $497 & 65535;
-    $499 = $498 >> 10;
-    $500 = $499 & 63;
-    $501 = $6;
-    $502 = $501 >>> 7;
-    $503 = $502 & 65535;
-    $504 = $503 >> 9;
-    $505 = $504 & 1;
-    $506 = $6;
-    $507 = $506 >>> 7;
-    $508 = $507 & 65535;
-    $509 = $508 >> 4;
-    $510 = $509 & 31;
-    $511 = $6;
-    $512 = $511 >>> 7;
-    $513 = $512 & 65535;
-    $514 = $513 >> 0;
-    $515 = $514 & 15;
-    HEAP32[$vararg_buffer155>>2] = $495;
-    $vararg_ptr158 = ((($vararg_buffer155)) + 4|0);
-    HEAP32[$vararg_ptr158>>2] = $500;
-    $vararg_ptr159 = ((($vararg_buffer155)) + 8|0);
-    HEAP32[$vararg_ptr159>>2] = $505;
-    $vararg_ptr160 = ((($vararg_buffer155)) + 12|0);
-    HEAP32[$vararg_ptr160>>2] = $510;
-    $vararg_ptr161 = ((($vararg_buffer155)) + 16|0);
-    HEAP32[$vararg_ptr161>>2] = $515;
-    (_printf(67094,$vararg_buffer155)|0);
-    $516 = $2;
-    $517 = $3;
-    $518 = $6;
-    _print_lv($516,$517,$518,1);
-    break;
-   }
-   case 64:  {
-    $519 = $6;
-    $520 = $519 >>> 23;
-    $521 = $520 & 511;
-    $522 = $6;
-    $523 = $522 >>> 9;
-    $524 = $523 & 16383;
-    $525 = (($524) + 1)|0;
-    $526 = $6;
-    $527 = $526 >>> 7;
-    $528 = $527 & 3;
-    HEAP32[$vararg_buffer162>>2] = $521;
-    $vararg_ptr165 = ((($vararg_buffer162)) + 4|0);
-    HEAP32[$vararg_ptr165>>2] = $525;
-    $vararg_ptr166 = ((($vararg_buffer162)) + 8|0);
-    HEAP32[$vararg_ptr166>>2] = $528;
-    (_printf(67121,$vararg_buffer162)|0);
-    $529 = $2;
-    $530 = $3;
-    $531 = $6;
-    _print_lv($529,$530,$531,1);
-    break;
-   }
-   case 65:  {
-    $532 = $6;
-    $533 = $532 >>> 23;
-    $534 = $533 & 511;
-    $535 = $6;
-    $536 = $535 >>> 14;
-    $537 = $536 & 511;
-    $538 = $6;
-    $539 = $538 >>> 7;
-    $540 = $539 & 127;
-    HEAP32[$vararg_buffer167>>2] = $534;
-    $vararg_ptr170 = ((($vararg_buffer167)) + 4|0);
-    HEAP32[$vararg_ptr170>>2] = $537;
-    $vararg_ptr171 = ((($vararg_buffer167)) + 8|0);
-    HEAP32[$vararg_ptr171>>2] = $540;
-    (_printf(67145,$vararg_buffer167)|0);
-    $541 = $2;
-    $542 = $3;
-    $543 = $6;
-    _print_lv($541,$542,$543,3);
-    break;
-   }
-   case 70:  {
-    $544 = $6;
-    $545 = $544 >>> 23;
-    $546 = $545 & 511;
-    $547 = $2;
-    $548 = $3;
-    $549 = ((($548)) + 16|0);
-    $550 = HEAP32[$549>>2]|0;
-    $551 = $6;
-    $552 = $551 >>> 14;
-    $553 = $552 & 511;
-    $554 = (($550) + ($553<<2)|0);
-    $555 = HEAP32[$554>>2]|0;
-    $556 = (_mrb_sym2name($547,$555)|0);
-    HEAP32[$vararg_buffer172>>2] = $546;
-    $vararg_ptr175 = ((($vararg_buffer172)) + 4|0);
-    HEAP32[$vararg_ptr175>>2] = $556;
-    (_printf(67165,$vararg_buffer172)|0);
-    $557 = $2;
-    $558 = $3;
-    $559 = $6;
-    _print_lv($557,$558,$559,1);
-    break;
-   }
-   case 44:  {
-    $560 = $6;
-    $561 = $560 >>> 23;
-    $562 = $561 & 511;
-    $563 = $2;
-    $564 = $3;
-    $565 = ((($564)) + 16|0);
-    $566 = HEAP32[$565>>2]|0;
-    $567 = $6;
-    $568 = $567 >>> 14;
-    $569 = $568 & 511;
-    $570 = (($566) + ($569<<2)|0);
-    $571 = HEAP32[$570>>2]|0;
-    $572 = (_mrb_sym2name($563,$571)|0);
-    $573 = $6;
-    $574 = $573 >>> 7;
-    $575 = $574 & 127;
-    HEAP32[$vararg_buffer176>>2] = $562;
-    $vararg_ptr179 = ((($vararg_buffer176)) + 4|0);
-    HEAP32[$vararg_ptr179>>2] = $572;
-    $vararg_ptr180 = ((($vararg_buffer176)) + 8|0);
-    HEAP32[$vararg_ptr180>>2] = $575;
-    (_printf(67183,$vararg_buffer176)|0);
-    break;
-   }
-   case 45:  {
-    $576 = $6;
-    $577 = $576 >>> 23;
-    $578 = $577 & 511;
-    $579 = $2;
-    $580 = $3;
-    $581 = ((($580)) + 16|0);
-    $582 = HEAP32[$581>>2]|0;
-    $583 = $6;
-    $584 = $583 >>> 14;
-    $585 = $584 & 511;
-    $586 = (($582) + ($585<<2)|0);
-    $587 = HEAP32[$586>>2]|0;
-    $588 = (_mrb_sym2name($579,$587)|0);
-    $589 = $6;
-    $590 = $589 >>> 7;
-    $591 = $590 & 127;
-    HEAP32[$vararg_buffer181>>2] = $578;
-    $vararg_ptr184 = ((($vararg_buffer181)) + 4|0);
-    HEAP32[$vararg_ptr184>>2] = $588;
-    $vararg_ptr185 = ((($vararg_buffer181)) + 8|0);
-    HEAP32[$vararg_ptr185>>2] = $591;
-    (_printf(67202,$vararg_buffer181)|0);
-    break;
-   }
-   case 46:  {
-    $592 = $6;
-    $593 = $592 >>> 23;
-    $594 = $593 & 511;
-    $595 = $2;
-    $596 = $3;
-    $597 = ((($596)) + 16|0);
-    $598 = HEAP32[$597>>2]|0;
-    $599 = $6;
-    $600 = $599 >>> 14;
-    $601 = $600 & 511;
-    $602 = (($598) + ($601<<2)|0);
-    $603 = HEAP32[$602>>2]|0;
-    $604 = (_mrb_sym2name($595,$603)|0);
-    $605 = $6;
-    $606 = $605 >>> 7;
-    $607 = $606 & 127;
-    HEAP32[$vararg_buffer186>>2] = $594;
-    $vararg_ptr189 = ((($vararg_buffer186)) + 4|0);
-    HEAP32[$vararg_ptr189>>2] = $604;
-    $vararg_ptr190 = ((($vararg_buffer186)) + 8|0);
-    HEAP32[$vararg_ptr190>>2] = $607;
-    (_printf(67222,$vararg_buffer186)|0);
-    break;
-   }
-   case 47:  {
-    $608 = $6;
-    $609 = $608 >>> 23;
-    $610 = $609 & 511;
-    $611 = $2;
-    $612 = $3;
-    $613 = ((($612)) + 16|0);
-    $614 = HEAP32[$613>>2]|0;
-    $615 = $6;
-    $616 = $615 >>> 14;
-    $617 = $616 & 511;
-    $618 = (($614) + ($617<<2)|0);
-    $619 = HEAP32[$618>>2]|0;
-    $620 = (_mrb_sym2name($611,$619)|0);
-    $621 = $6;
-    $622 = $621 >>> 7;
-    $623 = $622 & 127;
-    HEAP32[$vararg_buffer191>>2] = $610;
-    $vararg_ptr194 = ((($vararg_buffer191)) + 4|0);
-    HEAP32[$vararg_ptr194>>2] = $620;
-    $vararg_ptr195 = ((($vararg_buffer191)) + 8|0);
-    HEAP32[$vararg_ptr195>>2] = $623;
-    (_printf(67241,$vararg_buffer191)|0);
-    break;
-   }
-   case 48:  {
-    $624 = $6;
-    $625 = $624 >>> 23;
-    $626 = $625 & 511;
-    $627 = $2;
-    $628 = $3;
-    $629 = ((($628)) + 16|0);
-    $630 = HEAP32[$629>>2]|0;
-    $631 = $6;
-    $632 = $631 >>> 14;
-    $633 = $632 & 511;
-    $634 = (($630) + ($633<<2)|0);
-    $635 = HEAP32[$634>>2]|0;
-    $636 = (_mrb_sym2name($627,$635)|0);
-    $637 = $6;
-    $638 = $637 >>> 7;
-    $639 = $638 & 127;
-    HEAP32[$vararg_buffer196>>2] = $626;
-    $vararg_ptr199 = ((($vararg_buffer196)) + 4|0);
-    HEAP32[$vararg_ptr199>>2] = $636;
-    $vararg_ptr200 = ((($vararg_buffer196)) + 8|0);
-    HEAP32[$vararg_ptr200>>2] = $639;
-    (_printf(67261,$vararg_buffer196)|0);
-    break;
-   }
-   case 49:  {
-    $640 = $6;
-    $641 = $640 >>> 23;
-    $642 = $641 & 511;
-    $643 = $2;
-    $644 = $3;
-    $645 = ((($644)) + 16|0);
-    $646 = HEAP32[$645>>2]|0;
-    $647 = $6;
-    $648 = $647 >>> 14;
-    $649 = $648 & 511;
-    $650 = (($646) + ($649<<2)|0);
-    $651 = HEAP32[$650>>2]|0;
-    $652 = (_mrb_sym2name($643,$651)|0);
-    $653 = $6;
-    $654 = $653 >>> 7;
-    $655 = $654 & 127;
-    HEAP32[$vararg_buffer201>>2] = $642;
-    $vararg_ptr204 = ((($vararg_buffer201)) + 4|0);
-    HEAP32[$vararg_ptr204>>2] = $652;
-    $vararg_ptr205 = ((($vararg_buffer201)) + 8|0);
-    HEAP32[$vararg_ptr205>>2] = $655;
-    (_printf(67280,$vararg_buffer201)|0);
-    break;
-   }
-   case 51:  {
-    $656 = $6;
-    $657 = $656 >>> 23;
-    $658 = $657 & 511;
-    $659 = $2;
-    $660 = $3;
-    $661 = ((($660)) + 16|0);
-    $662 = HEAP32[$661>>2]|0;
-    $663 = $6;
-    $664 = $663 >>> 14;
-    $665 = $664 & 511;
-    $666 = (($662) + ($665<<2)|0);
-    $667 = HEAP32[$666>>2]|0;
-    $668 = (_mrb_sym2name($659,$667)|0);
-    $669 = $6;
-    $670 = $669 >>> 7;
-    $671 = $670 & 127;
-    HEAP32[$vararg_buffer206>>2] = $658;
-    $vararg_ptr209 = ((($vararg_buffer206)) + 4|0);
-    HEAP32[$vararg_ptr209>>2] = $668;
-    $vararg_ptr210 = ((($vararg_buffer206)) + 8|0);
-    HEAP32[$vararg_ptr210>>2] = $671;
-    (_printf(67299,$vararg_buffer206)|0);
-    break;
-   }
-   case 52:  {
-    $672 = $6;
-    $673 = $672 >>> 23;
-    $674 = $673 & 511;
-    $675 = $2;
-    $676 = $3;
-    $677 = ((($676)) + 16|0);
-    $678 = HEAP32[$677>>2]|0;
-    $679 = $6;
-    $680 = $679 >>> 14;
-    $681 = $680 & 511;
-    $682 = (($678) + ($681<<2)|0);
-    $683 = HEAP32[$682>>2]|0;
-    $684 = (_mrb_sym2name($675,$683)|0);
-    $685 = $6;
-    $686 = $685 >>> 7;
-    $687 = $686 & 127;
-    HEAP32[$vararg_buffer211>>2] = $674;
-    $vararg_ptr214 = ((($vararg_buffer211)) + 4|0);
-    HEAP32[$vararg_ptr214>>2] = $684;
-    $vararg_ptr215 = ((($vararg_buffer211)) + 8|0);
-    HEAP32[$vararg_ptr215>>2] = $687;
-    (_printf(67317,$vararg_buffer211)|0);
-    break;
-   }
-   case 53:  {
-    $688 = $6;
-    $689 = $688 >>> 23;
-    $690 = $689 & 511;
-    $691 = $2;
-    $692 = $3;
-    $693 = ((($692)) + 16|0);
-    $694 = HEAP32[$693>>2]|0;
-    $695 = $6;
-    $696 = $695 >>> 14;
-    $697 = $696 & 511;
-    $698 = (($694) + ($697<<2)|0);
-    $699 = HEAP32[$698>>2]|0;
-    $700 = (_mrb_sym2name($691,$699)|0);
-    $701 = $6;
-    $702 = $701 >>> 7;
-    $703 = $702 & 127;
-    HEAP32[$vararg_buffer216>>2] = $690;
-    $vararg_ptr219 = ((($vararg_buffer216)) + 4|0);
-    HEAP32[$vararg_ptr219>>2] = $700;
-    $vararg_ptr220 = ((($vararg_buffer216)) + 8|0);
-    HEAP32[$vararg_ptr220>>2] = $703;
-    (_printf(67335,$vararg_buffer216)|0);
-    break;
-   }
-   case 54:  {
-    $704 = $6;
-    $705 = $704 >>> 23;
-    $706 = $705 & 511;
-    $707 = $2;
-    $708 = $3;
-    $709 = ((($708)) + 16|0);
-    $710 = HEAP32[$709>>2]|0;
-    $711 = $6;
-    $712 = $711 >>> 14;
-    $713 = $712 & 511;
-    $714 = (($710) + ($713<<2)|0);
-    $715 = HEAP32[$714>>2]|0;
-    $716 = (_mrb_sym2name($707,$715)|0);
-    $717 = $6;
-    $718 = $717 >>> 7;
-    $719 = $718 & 127;
-    HEAP32[$vararg_buffer221>>2] = $706;
-    $vararg_ptr224 = ((($vararg_buffer221)) + 4|0);
-    HEAP32[$vararg_ptr224>>2] = $716;
-    $vararg_ptr225 = ((($vararg_buffer221)) + 8|0);
-    HEAP32[$vararg_ptr225>>2] = $719;
-    (_printf(67353,$vararg_buffer221)|0);
-    break;
-   }
-   case 50:  {
-    $720 = $6;
-    $721 = $720 >>> 23;
-    $722 = $721 & 511;
-    $723 = $2;
-    $724 = $3;
-    $725 = ((($724)) + 16|0);
-    $726 = HEAP32[$725>>2]|0;
-    $727 = $6;
-    $728 = $727 >>> 14;
-    $729 = $728 & 511;
-    $730 = (($726) + ($729<<2)|0);
-    $731 = HEAP32[$730>>2]|0;
-    $732 = (_mrb_sym2name($723,$731)|0);
-    $733 = $6;
-    $734 = $733 >>> 7;
-    $735 = $734 & 127;
-    HEAP32[$vararg_buffer226>>2] = $722;
-    $vararg_ptr229 = ((($vararg_buffer226)) + 4|0);
-    HEAP32[$vararg_ptr229>>2] = $732;
-    $vararg_ptr230 = ((($vararg_buffer226)) + 8|0);
-    HEAP32[$vararg_ptr230>>2] = $735;
-    (_printf(67371,$vararg_buffer226)|0);
-    break;
-   }
-   case 74:  {
-    (_printf(67389,$vararg_buffer231)|0);
-    break;
-   }
-   case 55:  {
-    $736 = $6;
-    $737 = $736 >>> 23;
-    $738 = $737 & 511;
-    $739 = $6;
-    $740 = $739 >>> 14;
-    $741 = $740 & 511;
-    $742 = $6;
-    $743 = $742 >>> 7;
-    $744 = $743 & 127;
-    HEAP32[$vararg_buffer233>>2] = $738;
-    $vararg_ptr236 = ((($vararg_buffer233)) + 4|0);
-    HEAP32[$vararg_ptr236>>2] = $741;
-    $vararg_ptr237 = ((($vararg_buffer233)) + 8|0);
-    HEAP32[$vararg_ptr237>>2] = $744;
-    (_printf(67398,$vararg_buffer233)|0);
-    $745 = $2;
-    $746 = $3;
-    $747 = $6;
-    _print_lv($745,$746,$747,3);
-    break;
-   }
-   case 56:  {
-    $748 = $6;
-    $749 = $748 >>> 23;
-    $750 = $749 & 511;
-    $751 = $6;
-    $752 = $751 >>> 14;
-    $753 = $752 & 511;
-    HEAP32[$vararg_buffer238>>2] = $750;
-    $vararg_ptr241 = ((($vararg_buffer238)) + 4|0);
-    HEAP32[$vararg_ptr241>>2] = $753;
-    (_printf(67418,$vararg_buffer238)|0);
-    $754 = $2;
-    $755 = $3;
-    $756 = $6;
-    _print_lv($754,$755,$756,3);
-    break;
-   }
-   case 57:  {
-    $757 = $6;
-    $758 = $757 >>> 23;
-    $759 = $758 & 511;
-    $760 = $6;
-    $761 = $760 >>> 14;
-    $762 = $761 & 511;
-    HEAP32[$vararg_buffer242>>2] = $759;
-    $vararg_ptr245 = ((($vararg_buffer242)) + 4|0);
-    HEAP32[$vararg_ptr245>>2] = $762;
-    (_printf(67437,$vararg_buffer242)|0);
-    $763 = $2;
-    $764 = $3;
-    $765 = $6;
-    _print_lv($763,$764,$765,3);
-    break;
-   }
-   case 58:  {
-    $766 = $6;
-    $767 = $766 >>> 23;
-    $768 = $767 & 511;
-    $769 = $6;
-    $770 = $769 >>> 14;
-    $771 = $770 & 511;
-    $772 = $6;
-    $773 = $772 >>> 7;
-    $774 = $773 & 127;
-    HEAP32[$vararg_buffer246>>2] = $768;
-    $vararg_ptr249 = ((($vararg_buffer246)) + 4|0);
-    HEAP32[$vararg_ptr249>>2] = $771;
-    $vararg_ptr250 = ((($vararg_buffer246)) + 8|0);
-    HEAP32[$vararg_ptr250>>2] = $774;
-    (_printf(67457,$vararg_buffer246)|0);
-    $775 = $2;
-    $776 = $3;
-    $777 = $6;
-    _print_lv($775,$776,$777,3);
-    break;
-   }
-   case 60:  {
-    $778 = $6;
-    $779 = $778 >>> 23;
-    $780 = $779 & 511;
-    $781 = $6;
-    $782 = $781 >>> 14;
-    $783 = $782 & 511;
-    $784 = $6;
-    $785 = $784 >>> 7;
-    $786 = $785 & 127;
-    HEAP32[$vararg_buffer251>>2] = $780;
-    $vararg_ptr254 = ((($vararg_buffer251)) + 4|0);
-    HEAP32[$vararg_ptr254>>2] = $783;
-    $vararg_ptr255 = ((($vararg_buffer251)) + 8|0);
-    HEAP32[$vararg_ptr255>>2] = $786;
-    (_printf(67476,$vararg_buffer251)|0);
-    $787 = $2;
-    $788 = $3;
-    $789 = $6;
-    _print_lv($787,$788,$789,1);
-    break;
-   }
-   case 61:  {
-    $790 = $3;
-    $791 = ((($790)) + 12|0);
-    $792 = HEAP32[$791>>2]|0;
-    $793 = $6;
-    $794 = $793 >>> 7;
-    $795 = $794 & 65535;
-    $796 = (($792) + ($795<<3)|0);
-    ;HEAP32[$12>>2]=HEAP32[$796>>2]|0;HEAP32[$12+4>>2]=HEAP32[$796+4>>2]|0;
-    $797 = $2;
-    $798 = $2;
-    $799 = HEAP32[$12>>2]|0;
-    $800 = HEAP32[$799>>2]|0;
-    $801 = $800 >>> 11;
-    $802 = $801 & 8;
-    $803 = ($802|0)!=(0);
-    $804 = HEAP32[$12>>2]|0;
-    $805 = ((($804)) + 12|0);
-    if ($803) {
-     $820 = $805;
-    } else {
-     $806 = ((($805)) + 8|0);
-     $807 = HEAP32[$806>>2]|0;
-     $820 = $807;
-    }
-    $808 = HEAP32[$12>>2]|0;
-    $809 = HEAP32[$808>>2]|0;
-    $810 = $809 >>> 11;
-    $811 = $810 & 8;
-    $812 = ($811|0)!=(0);
-    $813 = HEAP32[$12>>2]|0;
-    if ($812) {
-     $814 = HEAP32[$813>>2]|0;
-     $815 = $814 >>> 11;
-     $816 = $815 & 496;
-     $817 = $816 >> 4;
-     $821 = $817;
-    } else {
-     $818 = ((($813)) + 12|0);
-     $819 = HEAP32[$818>>2]|0;
-     $821 = $819;
-    }
-    _mrb_str_new($14,$798,$820,$821);
-    ;HEAP32[$$byval_copy321>>2]=HEAP32[$14>>2]|0;HEAP32[$$byval_copy321+4>>2]=HEAP32[$14+4>>2]|0;
-    _mrb_str_dump($13,$797,$$byval_copy321);
-    $822 = $6;
-    $823 = $822 >>> 23;
-    $824 = $823 & 511;
-    $825 = $6;
-    $826 = $825 >>> 7;
-    $827 = $826 & 65535;
-    $828 = HEAP32[$13>>2]|0;
-    $829 = HEAP32[$828>>2]|0;
-    $830 = $829 >>> 11;
-    $831 = $830 & 8;
-    $832 = ($831|0)!=(0);
-    $833 = HEAP32[$13>>2]|0;
-    $834 = ((($833)) + 12|0);
-    if ($832) {
-     $837 = $834;
-    } else {
-     $835 = ((($834)) + 8|0);
-     $836 = HEAP32[$835>>2]|0;
-     $837 = $836;
-    }
-    HEAP32[$vararg_buffer256>>2] = $824;
-    $vararg_ptr259 = ((($vararg_buffer256)) + 4|0);
-    HEAP32[$vararg_ptr259>>2] = $827;
-    $vararg_ptr260 = ((($vararg_buffer256)) + 8|0);
-    HEAP32[$vararg_ptr260>>2] = $837;
-    (_printf(67495,$vararg_buffer256)|0);
-    $838 = $2;
-    $839 = $3;
-    $840 = $6;
-    _print_lv($838,$839,$840,1);
-    break;
-   }
-   case 62:  {
-    $841 = $6;
-    $842 = $841 >>> 23;
-    $843 = $842 & 511;
-    $844 = $6;
-    $845 = $844 >>> 14;
-    $846 = $845 & 511;
-    HEAP32[$vararg_buffer261>>2] = $843;
-    $vararg_ptr264 = ((($vararg_buffer261)) + 4|0);
-    HEAP32[$vararg_ptr264>>2] = $846;
-    (_printf(67520,$vararg_buffer261)|0);
-    $847 = $2;
-    $848 = $3;
-    $849 = $6;
-    _print_lv($847,$848,$849,3);
-    break;
-   }
-   case 63:  {
-    $850 = $6;
-    $851 = $850 >>> 23;
-    $852 = $851 & 511;
-    $853 = $6;
-    $854 = $853 >>> 14;
-    $855 = $854 & 511;
-    $856 = $6;
-    $857 = $856 >>> 7;
-    $858 = $857 & 127;
-    HEAP32[$vararg_buffer265>>2] = $852;
-    $vararg_ptr268 = ((($vararg_buffer265)) + 4|0);
-    HEAP32[$vararg_ptr268>>2] = $855;
-    $vararg_ptr269 = ((($vararg_buffer265)) + 8|0);
-    HEAP32[$vararg_ptr269>>2] = $858;
-    (_printf(67539,$vararg_buffer265)|0);
-    $859 = $2;
-    $860 = $3;
-    $861 = $6;
-    _print_lv($859,$860,$861,3);
-    break;
-   }
-   case 66:  {
-    $862 = $6;
-    $863 = $862 >>> 23;
-    $864 = $863 & 511;
-    HEAP32[$vararg_buffer270>>2] = $864;
-    (_printf(67558,$vararg_buffer270)|0);
-    $865 = $2;
-    $866 = $3;
-    $867 = $6;
-    _print_lv($865,$866,$867,1);
-    break;
-   }
-   case 67:  {
-    $868 = $6;
-    $869 = $868 >>> 23;
-    $870 = $869 & 511;
-    $871 = $2;
-    $872 = $3;
-    $873 = ((($872)) + 16|0);
-    $874 = HEAP32[$873>>2]|0;
-    $875 = $6;
-    $876 = $875 >>> 14;
-    $877 = $876 & 511;
-    $878 = (($874) + ($877<<2)|0);
-    $879 = HEAP32[$878>>2]|0;
-    $880 = (_mrb_sym2name($871,$879)|0);
-    HEAP32[$vararg_buffer273>>2] = $870;
-    $vararg_ptr276 = ((($vararg_buffer273)) + 4|0);
-    HEAP32[$vararg_ptr276>>2] = $880;
-    (_printf(67574,$vararg_buffer273)|0);
-    $881 = $2;
-    $882 = $3;
-    $883 = $6;
-    _print_lv($881,$882,$883,1);
-    break;
-   }
-   case 68:  {
-    $884 = $6;
-    $885 = $884 >>> 23;
-    $886 = $885 & 511;
-    $887 = $2;
-    $888 = $3;
-    $889 = ((($888)) + 16|0);
-    $890 = HEAP32[$889>>2]|0;
-    $891 = $6;
-    $892 = $891 >>> 14;
-    $893 = $892 & 511;
-    $894 = (($890) + ($893<<2)|0);
-    $895 = HEAP32[$894>>2]|0;
-    $896 = (_mrb_sym2name($887,$895)|0);
-    HEAP32[$vararg_buffer277>>2] = $886;
-    $vararg_ptr280 = ((($vararg_buffer277)) + 4|0);
-    HEAP32[$vararg_ptr280>>2] = $896;
-    (_printf(67591,$vararg_buffer277)|0);
-    $897 = $2;
-    $898 = $3;
-    $899 = $6;
-    _print_lv($897,$898,$899,1);
-    break;
-   }
-   case 69:  {
-    $900 = $6;
-    $901 = $900 >>> 23;
-    $902 = $901 & 511;
-    $903 = $6;
-    $904 = $903 >>> 7;
-    $905 = $904 & 65535;
-    $906 = (($905) + 1)|0;
-    HEAP32[$vararg_buffer281>>2] = $902;
-    $vararg_ptr284 = ((($vararg_buffer281)) + 4|0);
-    HEAP32[$vararg_ptr284>>2] = $906;
-    (_printf(67609,$vararg_buffer281)|0);
-    $907 = $2;
-    $908 = $3;
-    $909 = $6;
-    _print_lv($907,$908,$909,1);
-    break;
-   }
-   case 71:  {
-    $910 = $6;
-    $911 = $910 >>> 23;
-    $912 = $911 & 511;
-    $913 = $6;
-    $914 = $913 >>> 14;
-    $915 = $914 & 511;
-    HEAP32[$vararg_buffer285>>2] = $912;
-    $vararg_ptr288 = ((($vararg_buffer285)) + 4|0);
-    HEAP32[$vararg_ptr288>>2] = $915;
-    (_printf(67628,$vararg_buffer285)|0);
-    $916 = $2;
-    $917 = $3;
-    $918 = $6;
-    _print_lv($916,$917,$918,3);
-    break;
-   }
-   case 72:  {
-    $919 = $6;
-    $920 = $919 >>> 23;
-    $921 = $920 & 511;
-    HEAP32[$vararg_buffer289>>2] = $921;
-    (_printf(67647,$vararg_buffer289)|0);
-    $922 = $2;
-    $923 = $3;
-    $924 = $6;
-    _print_lv($922,$923,$924,1);
-    break;
-   }
-   case 75:  {
-    $925 = $3;
-    $926 = ((($925)) + 12|0);
-    $927 = HEAP32[$926>>2]|0;
-    $928 = $6;
-    $929 = $928 >>> 7;
-    $930 = $929 & 65535;
-    $931 = (($927) + ($930<<3)|0);
-    ;HEAP32[$15>>2]=HEAP32[$931>>2]|0;HEAP32[$15+4>>2]=HEAP32[$931+4>>2]|0;
-    $932 = $2;
-    $933 = $2;
-    $934 = HEAP32[$15>>2]|0;
-    $935 = HEAP32[$934>>2]|0;
-    $936 = $935 >>> 11;
-    $937 = $936 & 8;
-    $938 = ($937|0)!=(0);
-    $939 = HEAP32[$15>>2]|0;
-    $940 = ((($939)) + 12|0);
-    if ($938) {
-     $955 = $940;
-    } else {
-     $941 = ((($940)) + 8|0);
-     $942 = HEAP32[$941>>2]|0;
-     $955 = $942;
-    }
-    $943 = HEAP32[$15>>2]|0;
-    $944 = HEAP32[$943>>2]|0;
-    $945 = $944 >>> 11;
-    $946 = $945 & 8;
-    $947 = ($946|0)!=(0);
-    $948 = HEAP32[$15>>2]|0;
-    if ($947) {
-     $949 = HEAP32[$948>>2]|0;
-     $950 = $949 >>> 11;
-     $951 = $950 & 496;
-     $952 = $951 >> 4;
-     $956 = $952;
-    } else {
-     $953 = ((($948)) + 12|0);
-     $954 = HEAP32[$953>>2]|0;
-     $956 = $954;
-    }
-    _mrb_str_new($17,$933,$955,$956);
-    ;HEAP32[$$byval_copy322>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy322+4>>2]=HEAP32[$17+4>>2]|0;
-    _mrb_str_dump($16,$932,$$byval_copy322);
-    $957 = HEAP32[$16>>2]|0;
-    $958 = HEAP32[$957>>2]|0;
-    $959 = $958 >>> 11;
-    $960 = $959 & 8;
-    $961 = ($960|0)!=(0);
-    $962 = HEAP32[$16>>2]|0;
-    $963 = ((($962)) + 12|0);
-    if ($961) {
-     $966 = $963;
-    } else {
-     $964 = ((($963)) + 8|0);
-     $965 = HEAP32[$964>>2]|0;
-     $966 = $965;
-    }
-    HEAP32[$vararg_buffer292>>2] = $966;
-    (_printf(67663,$vararg_buffer292)|0);
-    break;
-   }
-   case 30:  {
-    $967 = $6;
-    $968 = $967 >>> 7;
-    $969 = $968 & 65535;
-    $970 = (($969) + 1)|0;
-    HEAP32[$vararg_buffer295>>2] = $970;
-    (_printf(67674,$vararg_buffer295)|0);
-    break;
-   }
-   case 26:  {
-    $971 = $4;
-    $972 = $6;
-    $973 = $972 >>> 7;
-    $974 = $973 & 65535;
-    $975 = (($974) - 32767)|0;
-    $976 = (($971) + ($975))|0;
-    HEAP32[$vararg_buffer298>>2] = $976;
-    (_printf(67692,$vararg_buffer298)|0);
-    break;
-   }
-   case 27:  {
-    $977 = $6;
-    $978 = $977 >>> 23;
-    $979 = $978 & 511;
-    HEAP32[$vararg_buffer301>>2] = $979;
-    (_printf(67707,$vararg_buffer301)|0);
-    $980 = $2;
-    $981 = $3;
-    $982 = $6;
-    _print_lv($980,$981,$982,1);
-    break;
-   }
-   case 29:  {
-    $983 = $6;
-    $984 = $983 >>> 23;
-    $985 = $984 & 511;
-    HEAP32[$vararg_buffer304>>2] = $985;
-    (_printf(67723,$vararg_buffer304)|0);
-    $986 = $2;
-    $987 = $3;
-    $988 = $6;
-    _print_lv($986,$987,$988,1);
-    break;
-   }
-   case 28:  {
-    $989 = $6;
-    $990 = $989 >>> 23;
-    $991 = $990 & 511;
-    HEAP32[$vararg_buffer307>>2] = $991;
-    (_printf(67738,$vararg_buffer307)|0);
-    $992 = $2;
-    $993 = $3;
-    $994 = $6;
-    _print_lv($992,$993,$994,1);
-    break;
-   }
-   case 31:  {
-    $995 = $6;
-    $996 = $995 >>> 23;
-    $997 = $996 & 511;
-    HEAP32[$vararg_buffer310>>2] = $997;
-    (_printf(67753,$vararg_buffer310)|0);
-    break;
-   }
-   default: {
-    $998 = $6;
-    $999 = $998 & 127;
-    $1000 = $6;
-    $1001 = $1000 >>> 23;
-    $1002 = $1001 & 511;
-    $1003 = $6;
-    $1004 = $1003 >>> 14;
-    $1005 = $1004 & 511;
-    $1006 = $6;
-    $1007 = $1006 >>> 7;
-    $1008 = $1007 & 127;
-    HEAP32[$vararg_buffer313>>2] = $999;
-    $vararg_ptr316 = ((($vararg_buffer313)) + 4|0);
-    HEAP32[$vararg_ptr316>>2] = $1002;
-    $vararg_ptr317 = ((($vararg_buffer313)) + 8|0);
-    HEAP32[$vararg_ptr317>>2] = $1005;
-    $vararg_ptr318 = ((($vararg_buffer313)) + 12|0);
-    HEAP32[$vararg_ptr318>>2] = $1008;
-    (_printf(67765,$vararg_buffer313)|0);
-   }
-   }
-  } while(0);
-  $1009 = $2;
-  $1010 = $5;
-  _mrb_gc_arena_restore($1009,$1010);
-  $1011 = $4;
-  $1012 = (($1011) + 1)|0;
-  $4 = $1012;
- }
- (_printf(67789,$vararg_buffer319)|0);
- STACKTOP = sp;return;
-}
-function _print_lv($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer3 = sp + 16|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = 0;
- $9 = $5;
- $10 = ((($9)) + 24|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ($11|0)!=(0|0);
- do {
-  if ($12) {
-   $13 = $7;
-   $14 = $13 & 1;
-   $15 = ($14|0)!=(0);
-   if ($15) {
-    $16 = $6;
-    $17 = $16 >>> 23;
-    $18 = $17 & 511;
-    $19 = $5;
-    $20 = HEAP16[$19>>1]|0;
-    $21 = $20&65535;
-    $22 = ($18|0)>=($21|0);
-    if ($22) {
-     label = 4;
-    }
-   } else {
-    label = 4;
-   }
-   if ((label|0) == 4) {
-    $23 = $7;
-    $24 = $23 & 2;
-    $25 = ($24|0)!=(0);
-    if (!($25)) {
-     break;
-    }
-    $26 = $6;
-    $27 = $26 >>> 14;
-    $28 = $27 & 511;
-    $29 = $5;
-    $30 = HEAP16[$29>>1]|0;
-    $31 = $30&65535;
-    $32 = ($28|0)>=($31|0);
-    if ($32) {
-     break;
-    }
-   }
-   (_printf(67791,$vararg_buffer1)|0);
-   $33 = $7;
-   $34 = $33 & 1;
-   $35 = ($34|0)!=(0);
-   if ($35) {
-    $36 = $4;
-    $37 = $5;
-    $38 = $6;
-    $39 = $38 >>> 23;
-    $40 = $39 & 511;
-    $41 = (_print_r($36,$37,$40,0)|0);
-    $8 = $41;
-   }
-   $42 = $7;
-   $43 = $42 & 2;
-   $44 = ($43|0)!=(0);
-   if ($44) {
-    $45 = $4;
-    $46 = $5;
-    $47 = $6;
-    $48 = $47 >>> 14;
-    $49 = $48 & 511;
-    $50 = $8;
-    (_print_r($45,$46,$49,$50)|0);
-   }
-   (_printf(67789,$vararg_buffer3)|0);
-   STACKTOP = sp;return;
-  }
- } while(0);
- (_printf(67789,$vararg_buffer)|0);
- STACKTOP = sp;return;
-}
-function _print_r($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_ptr3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $11 = $7;
- $12 = ($11|0)==(0);
- if ($12) {
-  $4 = 0;
-  $43 = $4;
-  STACKTOP = sp;return ($43|0);
- }
- $9 = 0;
- while(1) {
-  $13 = $9;
-  $14 = (($13) + 1)|0;
-  $15 = $6;
-  $16 = HEAP16[$15>>1]|0;
-  $17 = $16&65535;
-  $18 = ($14>>>0)<($17>>>0);
-  if (!($18)) {
-   label = 10;
-   break;
-  }
-  $19 = $6;
-  $20 = ((($19)) + 24|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $9;
-  $23 = (($21) + ($22<<3)|0);
-  $24 = ((($23)) + 4|0);
-  $25 = HEAP16[$24>>1]|0;
-  $26 = $25&65535;
-  $27 = $7;
-  $28 = ($26|0)==($27|0);
-  if ($28) {
-   break;
-  }
-  $41 = $9;
-  $42 = (($41) + 1)|0;
-  $9 = $42;
- }
- if ((label|0) == 10) {
-  $4 = 0;
-  $43 = $4;
-  STACKTOP = sp;return ($43|0);
- }
- $29 = $6;
- $30 = ((($29)) + 24|0);
- $31 = HEAP32[$30>>2]|0;
- $32 = $9;
- $33 = (($31) + ($32<<3)|0);
- $34 = HEAP32[$33>>2]|0;
- $10 = $34;
- $35 = $8;
- $36 = ($35|0)!=(0);
- if ($36) {
-  (_printf(67795,$vararg_buffer)|0);
- }
- $37 = $7;
- $38 = $5;
- $39 = $10;
- $40 = (_mrb_sym2name($38,$39)|0);
- HEAP32[$vararg_buffer1>>2] = $37;
- $vararg_ptr3 = ((($vararg_buffer1)) + 4|0);
- HEAP32[$vararg_ptr3>>2] = $40;
- (_printf(67797,$vararg_buffer1)|0);
- $4 = 1;
- $43 = $4;
- STACKTOP = sp;return ($43|0);
-}
-function _calc_crc_16_ccitt($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $9 = $5;
- $10 = $9&65535;
- $11 = $10 << 8;
- $8 = $11;
- $6 = 0;
- while(1) {
-  $12 = $6;
-  $13 = $4;
-  $14 = ($12>>>0)<($13>>>0);
-  if (!($14)) {
-   break;
-  }
-  $15 = $3;
-  $16 = ((($15)) + 1|0);
-  $3 = $16;
-  $17 = HEAP8[$15>>0]|0;
-  $18 = $17&255;
-  $19 = $8;
-  $20 = $19 | $18;
-  $8 = $20;
-  $7 = 0;
-  while(1) {
-   $21 = $7;
-   $22 = ($21>>>0)<(8);
-   if (!($22)) {
-    break;
-   }
-   $23 = $8;
-   $24 = $23 << 1;
-   $8 = $24;
-   $25 = $8;
-   $26 = $25 & 16777216;
-   $27 = ($26|0)!=(0);
-   if ($27) {
-    $28 = $8;
-    $29 = $28 ^ 17834240;
-    $8 = $29;
-   }
-   $30 = $7;
-   $31 = (($30) + 1)|0;
-   $7 = $31;
-  }
-  $32 = $6;
-  $33 = (($32) + 1)|0;
-  $6 = $33;
- }
- $34 = $8;
- $35 = $34 >>> 8;
- $36 = $35&65535;
- STACKTOP = sp;return ($36|0);
-}
-function _mrb_debug_get_filename($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $6 = $3;
- $7 = ($6|0)!=(0|0);
- if ($7) {
-  $8 = $4;
-  $9 = $3;
-  $10 = ((($9)) + 40|0);
-  $11 = HEAP32[$10>>2]|0;
-  $12 = ($8>>>0)<($11>>>0);
-  if ($12) {
-   $5 = 0;
-   $13 = $3;
-   $14 = ((($13)) + 36|0);
-   $15 = HEAP32[$14>>2]|0;
-   $16 = ($15|0)!=(0|0);
-   $17 = $3;
-   if (!($16)) {
-    $18 = ((($17)) + 28|0);
-    $19 = HEAP32[$18>>2]|0;
-    $2 = $19;
-    $28 = $2;
-    STACKTOP = sp;return ($28|0);
-   }
-   $20 = ((($17)) + 36|0);
-   $21 = HEAP32[$20>>2]|0;
-   $22 = $4;
-   $23 = (_get_file($21,$22)|0);
-   $5 = $23;
-   $24 = ($23|0)!=(0|0);
-   if ($24) {
-    $25 = $5;
-    $26 = ((($25)) + 4|0);
-    $27 = HEAP32[$26>>2]|0;
-    $2 = $27;
-    $28 = $2;
-    STACKTOP = sp;return ($28|0);
-   }
-  }
- }
- $2 = 0;
- $28 = $2;
- STACKTOP = sp;return ($28|0);
-}
-function _get_file($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $9 = $4;
- $10 = $3;
- $11 = HEAP32[$10>>2]|0;
- $12 = ($9>>>0)>=($11>>>0);
- if ($12) {
-  $2 = 0;
-  $43 = $2;
-  STACKTOP = sp;return ($43|0);
- }
- $13 = $3;
- $14 = ((($13)) + 8|0);
- $15 = HEAP32[$14>>2]|0;
- $5 = $15;
- $16 = $3;
- $17 = ((($16)) + 4|0);
- $18 = HEAP16[$17>>1]|0;
- $19 = $18&65535;
- $6 = $19;
- while(1) {
-  $20 = $6;
-  $21 = ($20|0)>(0);
-  if (!($21)) {
-   break;
-  }
-  $22 = $6;
-  $23 = (($22|0) / 2)&-1;
-  $7 = $23;
-  $24 = $5;
-  $25 = $7;
-  $26 = (($24) + ($25<<2)|0);
-  $8 = $26;
-  $27 = $4;
-  $28 = $8;
-  $29 = HEAP32[$28>>2]|0;
-  $30 = HEAP32[$29>>2]|0;
-  $31 = ($27>>>0)<($30>>>0);
-  if ($31) {
-   $38 = $7;
-   $6 = $38;
-   continue;
-  } else {
-   $32 = $8;
-   $33 = ((($32)) + 4|0);
-   $5 = $33;
-   $34 = $7;
-   $35 = (($34) + 1)|0;
-   $36 = $6;
-   $37 = (($36) - ($35))|0;
-   $6 = $37;
-   continue;
-  }
- }
- $39 = $5;
- $40 = ((($39)) + -4|0);
- $5 = $40;
- $41 = $5;
- $42 = HEAP32[$41>>2]|0;
- $2 = $42;
- $43 = $2;
- STACKTOP = sp;return ($43|0);
-}
-function _mrb_debug_get_line($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $10 = $3;
- $11 = ($10|0)!=(0|0);
- L1: do {
-  if ($11) {
-   $12 = $4;
-   $13 = $3;
-   $14 = ((($13)) + 40|0);
-   $15 = HEAP32[$14>>2]|0;
-   $16 = ($12>>>0)<($15>>>0);
-   if ($16) {
-    $5 = 0;
-    $17 = $3;
-    $18 = ((($17)) + 36|0);
-    $19 = HEAP32[$18>>2]|0;
-    $20 = ($19|0)!=(0|0);
-    $21 = $3;
-    if (!($20)) {
-     $22 = ((($21)) + 32|0);
-     $23 = HEAP32[$22>>2]|0;
-     $24 = ($23|0)!=(0|0);
-     if ($24) {
-      $25 = $3;
-      $26 = ((($25)) + 32|0);
-      $27 = HEAP32[$26>>2]|0;
-      $28 = $4;
-      $29 = (($27) + ($28<<1)|0);
-      $30 = HEAP16[$29>>1]|0;
-      $31 = $30&65535;
-      $32 = $31;
-     } else {
-      $32 = -1;
-     }
-     $2 = $32;
-     $81 = $2;
-     STACKTOP = sp;return ($81|0);
-    }
-    $33 = ((($21)) + 36|0);
-    $34 = HEAP32[$33>>2]|0;
-    $35 = $4;
-    $36 = (_get_file($34,$35)|0);
-    $5 = $36;
-    $37 = ($36|0)!=(0|0);
-    if ($37) {
-     $38 = $5;
-     $39 = ((($38)) + 16|0);
-     $40 = HEAP32[$39>>2]|0;
-     switch ($40|0) {
-     case 0:  {
-      $41 = $5;
-      $42 = ((($41)) + 20|0);
-      $43 = HEAP32[$42>>2]|0;
-      $44 = $4;
-      $45 = $5;
-      $46 = HEAP32[$45>>2]|0;
-      $47 = (($44) - ($46))|0;
-      $48 = (($43) + ($47<<1)|0);
-      $49 = HEAP16[$48>>1]|0;
-      $50 = $49&65535;
-      $2 = $50;
-      $81 = $2;
-      STACKTOP = sp;return ($81|0);
-      break;
-     }
-     case 1:  {
-      break;
-     }
-     default: {
-      break L1;
-     }
-     }
-     $51 = $5;
-     $52 = ((($51)) + 20|0);
-     $53 = HEAP32[$52>>2]|0;
-     $6 = $53;
-     $54 = $5;
-     $55 = ((($54)) + 12|0);
-     $56 = HEAP32[$55>>2]|0;
-     $7 = $56;
-     while(1) {
-      $57 = $7;
-      $58 = ($57>>>0)>(0);
-      if (!($58)) {
-       break;
-      }
-      $59 = $7;
-      $60 = (($59>>>0) / 2)&-1;
-      $8 = $60;
-      $61 = $6;
-      $62 = $8;
-      $63 = (($61) + ($62<<3)|0);
-      $9 = $63;
-      $64 = $4;
-      $65 = $9;
-      $66 = HEAP32[$65>>2]|0;
-      $67 = ($64>>>0)<($66>>>0);
-      if ($67) {
-       $74 = $8;
-       $7 = $74;
-       continue;
-      } else {
-       $68 = $9;
-       $69 = ((($68)) + 8|0);
-       $6 = $69;
-       $70 = $8;
-       $71 = (($70) + 1)|0;
-       $72 = $7;
-       $73 = (($72) - ($71))|0;
-       $7 = $73;
-       continue;
-      }
-     }
-     $75 = $6;
-     $76 = ((($75)) + -8|0);
-     $6 = $76;
-     $77 = $6;
-     $78 = ((($77)) + 4|0);
-     $79 = HEAP16[$78>>1]|0;
-     $80 = $79&65535;
-     $2 = $80;
-     $81 = $2;
-     STACKTOP = sp;return ($81|0);
-    }
-   }
-  }
- } while(0);
- $2 = -1;
- $81 = $2;
- STACKTOP = sp;return ($81|0);
-}
-function _mrb_debug_info_alloc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = (_mrb_malloc($5,12)|0);
- $4 = $6;
- $7 = $4;
- ;HEAP32[$7>>2]=HEAP32[74868>>2]|0;HEAP32[$7+4>>2]=HEAP32[74868+4>>2]|0;HEAP32[$7+8>>2]=HEAP32[74868+8>>2]|0;
- $8 = $4;
- $9 = $3;
- $10 = ((($9)) + 36|0);
- HEAP32[$10>>2] = $8;
- $11 = $4;
- STACKTOP = sp;return ($11|0);
-}
-function _mrb_debug_info_append_file($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
- var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
- var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
- var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
- var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
- var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
- var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
- var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $13 = sp + 12|0;
- $16 = sp;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $17 = $6;
- $18 = ((($17)) + 36|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = ($19|0)!=(0|0);
- if (!($20)) {
-  $4 = 0;
-  $213 = $4;
-  STACKTOP = sp;return ($213|0);
- }
- $21 = $6;
- $22 = ((($21)) + 36|0);
- $23 = HEAP32[$22>>2]|0;
- $9 = $23;
- $24 = $9;
- $25 = ((($24)) + 4|0);
- $26 = HEAP16[$25>>1]|0;
- $27 = $26&65535;
- $28 = ($27|0)>(0);
- if ($28) {
-  $29 = $6;
-  $30 = ((($29)) + 28|0);
-  $31 = HEAP32[$30>>2]|0;
-  $32 = $9;
-  $33 = ((($32)) + 8|0);
-  $34 = HEAP32[$33>>2]|0;
-  $35 = $9;
-  $36 = ((($35)) + 4|0);
-  $37 = HEAP16[$36>>1]|0;
-  $38 = $37&65535;
-  $39 = (($38) - 1)|0;
-  $40 = (($34) + ($39<<2)|0);
-  $41 = HEAP32[$40>>2]|0;
-  $42 = ((($41)) + 4|0);
-  $43 = HEAP32[$42>>2]|0;
-  $44 = (_strcmp($31,$43)|0);
-  $45 = ($44|0)==(0);
-  if ($45) {
-   $4 = 0;
-   $213 = $4;
-   STACKTOP = sp;return ($213|0);
-  }
- }
- $46 = $5;
- $47 = (_mrb_malloc($46,24)|0);
- $10 = $47;
- $48 = $9;
- $49 = ((($48)) + 8|0);
- $50 = HEAP32[$49>>2]|0;
- $51 = ($50|0)!=(0|0);
- $52 = $5;
- if ($51) {
-  $53 = $9;
-  $54 = ((($53)) + 8|0);
-  $55 = HEAP32[$54>>2]|0;
-  $56 = $9;
-  $57 = ((($56)) + 4|0);
-  $58 = HEAP16[$57>>1]|0;
-  $59 = $58&65535;
-  $60 = (($59) + 1)|0;
-  $61 = $60<<2;
-  $62 = (_mrb_realloc($52,$55,$61)|0);
-  $66 = $62;
- } else {
-  $63 = (_mrb_malloc($52,4)|0);
-  $66 = $63;
- }
- $64 = $9;
- $65 = ((($64)) + 8|0);
- HEAP32[$65>>2] = $66;
- $67 = $10;
- $68 = $9;
- $69 = ((($68)) + 8|0);
- $70 = HEAP32[$69>>2]|0;
- $71 = $9;
- $72 = ((($71)) + 4|0);
- $73 = HEAP16[$72>>1]|0;
- $74 = (($73) + 1)<<16>>16;
- HEAP16[$72>>1] = $74;
- $75 = $73&65535;
- $76 = (($70) + ($75<<2)|0);
- HEAP32[$76>>2] = $67;
- $77 = $8;
- $78 = $7;
- $79 = (($77) - ($78))|0;
- $11 = $79;
- $80 = $7;
- $81 = $10;
- HEAP32[$81>>2] = $80;
- $82 = $8;
- $83 = $9;
- HEAP32[$83>>2] = $82;
- $84 = $6;
- $85 = ((($84)) + 28|0);
- $86 = HEAP32[$85>>2]|0;
- $87 = (_strlen($86)|0);
- $12 = $87;
- $88 = $5;
- $89 = $6;
- $90 = ((($89)) + 28|0);
- $91 = HEAP32[$90>>2]|0;
- $92 = $12;
- $93 = (_mrb_intern($88,$91,$92)|0);
- $94 = $10;
- $95 = ((($94)) + 8|0);
- HEAP32[$95>>2] = $93;
- HEAP32[$13>>2] = 0;
- $96 = $5;
- $97 = $10;
- $98 = ((($97)) + 8|0);
- $99 = HEAP32[$98>>2]|0;
- $100 = (_mrb_sym2name_len($96,$99,$13)|0);
- $101 = $10;
- $102 = ((($101)) + 4|0);
- HEAP32[$102>>2] = $100;
- $103 = $6;
- $104 = ((($103)) + 32|0);
- $105 = HEAP32[$104>>2]|0;
- $106 = $7;
- $107 = (($105) + ($106<<1)|0);
- $108 = $8;
- $109 = $7;
- $110 = (($108) - ($109))|0;
- $111 = (_select_line_type($107,$110)|0);
- $112 = $10;
- $113 = ((($112)) + 16|0);
- HEAP32[$113>>2] = $111;
- $114 = $10;
- $115 = ((($114)) + 20|0);
- HEAP32[$115>>2] = 0;
- $116 = $10;
- $117 = ((($116)) + 16|0);
- $118 = HEAP32[$117>>2]|0;
- L14: do {
-  switch ($118|0) {
-  case 0:  {
-   $119 = $11;
-   $120 = $10;
-   $121 = ((($120)) + 12|0);
-   HEAP32[$121>>2] = $119;
-   $122 = $5;
-   $123 = $11;
-   $124 = $123<<1;
-   $125 = (_mrb_malloc($122,$124)|0);
-   $126 = $10;
-   $127 = ((($126)) + 20|0);
-   HEAP32[$127>>2] = $125;
-   $14 = 0;
-   while(1) {
-    $128 = $14;
-    $129 = $11;
-    $130 = ($128>>>0)<($129>>>0);
-    if (!($130)) {
-     break L14;
-    }
-    $131 = $6;
-    $132 = ((($131)) + 32|0);
-    $133 = HEAP32[$132>>2]|0;
-    $134 = $7;
-    $135 = $14;
-    $136 = (($134) + ($135))|0;
-    $137 = (($133) + ($136<<1)|0);
-    $138 = HEAP16[$137>>1]|0;
-    $139 = $10;
-    $140 = ((($139)) + 20|0);
-    $141 = HEAP32[$140>>2]|0;
-    $142 = $14;
-    $143 = (($141) + ($142<<1)|0);
-    HEAP16[$143>>1] = $138;
-    $144 = $14;
-    $145 = (($144) + 1)|0;
-    $14 = $145;
-   }
-   break;
-  }
-  case 1:  {
-   $15 = 0;
-   $146 = $5;
-   $147 = (_mrb_malloc($146,8)|0);
-   $148 = $10;
-   $149 = ((($148)) + 20|0);
-   HEAP32[$149>>2] = $147;
-   $150 = $10;
-   $151 = ((($150)) + 12|0);
-   HEAP32[$151>>2] = 0;
-   $14 = 0;
-   while(1) {
-    $152 = $14;
-    $153 = $11;
-    $154 = ($152>>>0)<($153>>>0);
-    if (!($154)) {
-     break L14;
-    }
-    $155 = $6;
-    $156 = ((($155)) + 32|0);
-    $157 = HEAP32[$156>>2]|0;
-    $158 = $7;
-    $159 = $14;
-    $160 = (($158) + ($159))|0;
-    $161 = (($157) + ($160<<1)|0);
-    $162 = HEAP16[$161>>1]|0;
-    $163 = $162&65535;
-    $164 = $15;
-    $165 = $164&65535;
-    $166 = ($163|0)==($165|0);
-    if (!($166)) {
-     $167 = $5;
-     $168 = $10;
-     $169 = ((($168)) + 20|0);
-     $170 = HEAP32[$169>>2]|0;
-     $171 = $10;
-     $172 = ((($171)) + 12|0);
-     $173 = HEAP32[$172>>2]|0;
-     $174 = (($173) + 1)|0;
-     $175 = $174<<3;
-     $176 = (_mrb_realloc($167,$170,$175)|0);
-     $177 = $10;
-     $178 = ((($177)) + 20|0);
-     HEAP32[$178>>2] = $176;
-     $179 = $7;
-     $180 = $14;
-     $181 = (($179) + ($180))|0;
-     HEAP32[$16>>2] = $181;
-     $182 = $6;
-     $183 = ((($182)) + 32|0);
-     $184 = HEAP32[$183>>2]|0;
-     $185 = $7;
-     $186 = $14;
-     $187 = (($185) + ($186))|0;
-     $188 = (($184) + ($187<<1)|0);
-     $189 = HEAP16[$188>>1]|0;
-     $190 = ((($16)) + 4|0);
-     HEAP16[$190>>1] = $189;
-     $191 = $10;
-     $192 = ((($191)) + 20|0);
-     $193 = HEAP32[$192>>2]|0;
-     $194 = $10;
-     $195 = ((($194)) + 12|0);
-     $196 = HEAP32[$195>>2]|0;
-     $197 = (($193) + ($196<<3)|0);
-     ;HEAP32[$197>>2]=HEAP32[$16>>2]|0;HEAP32[$197+4>>2]=HEAP32[$16+4>>2]|0;
-     $198 = $10;
-     $199 = ((($198)) + 12|0);
-     $200 = HEAP32[$199>>2]|0;
-     $201 = (($200) + 1)|0;
-     HEAP32[$199>>2] = $201;
-     $202 = $6;
-     $203 = ((($202)) + 32|0);
-     $204 = HEAP32[$203>>2]|0;
-     $205 = $7;
-     $206 = $14;
-     $207 = (($205) + ($206))|0;
-     $208 = (($204) + ($207<<1)|0);
-     $209 = HEAP16[$208>>1]|0;
-     $15 = $209;
-    }
-    $210 = $14;
-    $211 = (($210) + 1)|0;
-    $14 = $211;
-   }
-   break;
-  }
-  default: {
-  }
-  }
- } while(0);
- $212 = $10;
- $4 = $212;
- $213 = $4;
- STACKTOP = sp;return ($213|0);
-}
-function _select_line_type($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $4 = 0;
- $5 = -1;
- $6 = 0;
- while(1) {
-  $7 = $6;
-  $8 = $3;
-  $9 = ($7>>>0)<($8>>>0);
-  if (!($9)) {
-   break;
-  }
-  $10 = $2;
-  $11 = $6;
-  $12 = (($10) + ($11<<1)|0);
-  $13 = HEAP16[$12>>1]|0;
-  $14 = $13&65535;
-  $15 = $5;
-  $16 = ($14|0)!=($15|0);
-  if ($16) {
-   $17 = $4;
-   $18 = (($17) + 1)|0;
-   $4 = $18;
-  }
-  $19 = $6;
-  $20 = (($19) + 1)|0;
-  $6 = $20;
- }
- $21 = $3;
- $22 = $21<<1;
- $23 = $4;
- $24 = $23<<3;
- $25 = ($22>>>0)<=($24>>>0);
- $26 = $25 ? 0 : 1;
- STACKTOP = sp;return ($26|0);
-}
-function _mrb_debug_info_free($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $3;
- $6 = ($5|0)!=(0|0);
- if (!($6)) {
-  STACKTOP = sp;return;
- }
- $4 = 0;
- while(1) {
-  $7 = $4;
-  $8 = $3;
-  $9 = ((($8)) + 4|0);
-  $10 = HEAP16[$9>>1]|0;
-  $11 = $10&65535;
-  $12 = ($7>>>0)<($11>>>0);
-  $13 = $2;
-  $14 = $3;
-  $15 = ((($14)) + 8|0);
-  $16 = HEAP32[$15>>2]|0;
-  if (!($12)) {
-   break;
-  }
-  $17 = $4;
-  $18 = (($16) + ($17<<2)|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = ((($19)) + 20|0);
-  $21 = HEAP32[$20>>2]|0;
-  _mrb_free($13,$21);
-  $22 = $2;
-  $23 = $3;
-  $24 = ((($23)) + 8|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $4;
-  $27 = (($25) + ($26<<2)|0);
-  $28 = HEAP32[$27>>2]|0;
-  _mrb_free($22,$28);
-  $29 = $4;
-  $30 = (($29) + 1)|0;
-  $4 = $30;
- }
- _mrb_free($13,$16);
- $31 = $2;
- $32 = $3;
- _mrb_free($31,$32);
- STACKTOP = sp;return;
-}
-function _mrb_exc_new($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $9 = sp;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $10 = $5;
- $11 = $7;
- $12 = $8;
- _mrb_str_new($9,$10,$11,$12);
- $13 = $5;
- $14 = $6;
- _mrb_obj_new($0,$13,$14,1,$9);
- STACKTOP = sp;return;
-}
-function _mrb_exc_new_str($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $6 = sp;
- $4 = $1;
- $5 = $2;
- $7 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_str_to_str($6,$7,$$byval_copy);
- ;HEAP32[$3>>2]=HEAP32[$6>>2]|0;HEAP32[$3+4>>2]=HEAP32[$6+4>>2]|0;
- $8 = $4;
- $9 = $5;
- _mrb_obj_new($0,$8,$9,1,$3);
- STACKTOP = sp;return;
-}
-function _mrb_exc_raise($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $2 = $0;
- $3 = HEAP32[$1>>2]|0;
- $4 = $2;
- $5 = ((($4)) + 20|0);
- HEAP32[$5>>2] = $3;
- $6 = $2;
- $7 = ((($6)) + 92|0);
- $8 = ((($7)) + 452|0);
- $9 = HEAP8[$8>>0]|0;
- $10 = ($9&255) >>> 3;
- $11 = $10 & 1;
- $12 = ($11<<24>>24)!=(0);
- if (!($12)) {
-  $13 = $2;
-  $14 = $2;
-  $15 = ((($14)) + 20|0);
-  $16 = HEAP32[$15>>2]|0;
-  _exc_debug_info($13,$16);
- }
- $17 = $2;
- $18 = HEAP32[$17>>2]|0;
- $19 = ($18|0)!=(0|0);
- $20 = $2;
- if ($19) {
-  $21 = HEAP32[$20>>2]|0;
-  _longjmp(($21|0),1);
-  // unreachable;
- } else {
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
-  _mrb_p($20,$$byval_copy);
-  _abort();
-  // unreachable;
- }
-}
-function _exc_debug_info($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
- var $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0;
- var $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0;
- var $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0;
- var $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0;
- var $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy5 = sp + 72|0;
- $$byval_copy4 = sp + 64|0;
- $$byval_copy = sp + 56|0;
- $6 = sp + 32|0;
- $11 = sp + 8|0;
- $12 = sp;
- $2 = $0;
- $3 = $1;
- $13 = $2;
- $14 = ((($13)) + 12|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = ((($15)) + 16|0);
- $17 = HEAP32[$16>>2]|0;
- $4 = $17;
- $18 = $4;
- $19 = ((($18)) + 28|0);
- $20 = HEAP32[$19>>2]|0;
- $5 = $20;
- $21 = $2;
- $22 = $3;
- $23 = $2;
- $24 = (_mrb_intern_static($23,67804,5)|0);
- $25 = $4;
- $26 = $2;
- $27 = ((($26)) + 12|0);
- $28 = HEAP32[$27>>2]|0;
- $29 = ((($28)) + 20|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = $25;
- $32 = $30;
- $33 = (($31) - ($32))|0;
- $34 = (($33|0) / 48)&-1;
- _mrb_fixnum_value_917($6,$34);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_obj_iv_set($21,$22,$24,$$byval_copy);
- while(1) {
-  $35 = $4;
-  $36 = $2;
-  $37 = ((($36)) + 12|0);
-  $38 = HEAP32[$37>>2]|0;
-  $39 = ((($38)) + 20|0);
-  $40 = HEAP32[$39>>2]|0;
-  $41 = ($35>>>0)>=($40>>>0);
-  if (!($41)) {
-   label = 11;
-   break;
-  }
-  $42 = $4;
-  $43 = ((($42)) + 32|0);
-  $44 = HEAP32[$43>>2]|0;
-  $7 = $44;
-  $45 = $7;
-  $46 = ($45|0)==(0|0);
-  $47 = $5;
-  $48 = ($47|0)!=(0|0);
-  $or$cond = $46 & $48;
-  if ($or$cond) {
-   $49 = $5;
-   $50 = ((($49)) + -4|0);
-   $7 = $50;
-  }
-  $51 = $7;
-  $52 = ($51|0)!=(0|0);
-  if ($52) {
-   $53 = $4;
-   $54 = ((($53)) + 4|0);
-   $55 = HEAP32[$54>>2]|0;
-   $56 = ($55|0)!=(0|0);
-   if ($56) {
-    $57 = $4;
-    $58 = ((($57)) + 4|0);
-    $59 = HEAP32[$58>>2]|0;
-    $60 = HEAP32[$59>>2]|0;
-    $61 = $60 >>> 11;
-    $62 = $61 & 128;
-    $63 = ($62|0)!=(0);
-    if (!($63)) {
-     $64 = $4;
-     $65 = ((($64)) + 4|0);
-     $66 = HEAP32[$65>>2]|0;
-     $67 = ((($66)) + 12|0);
-     $68 = HEAP32[$67>>2]|0;
-     $8 = $68;
-     $69 = $8;
-     $70 = $7;
-     $71 = $8;
-     $72 = ((($71)) + 8|0);
-     $73 = HEAP32[$72>>2]|0;
-     $74 = $70;
-     $75 = $73;
-     $76 = (($74) - ($75))|0;
-     $77 = (($76|0) / 4)&-1;
-     $78 = (_mrb_debug_get_line($69,$77)|0);
-     $9 = $78;
-     $79 = $8;
-     $80 = $7;
-     $81 = $8;
-     $82 = ((($81)) + 8|0);
-     $83 = HEAP32[$82>>2]|0;
-     $84 = $80;
-     $85 = $83;
-     $86 = (($84) - ($85))|0;
-     $87 = (($86|0) / 4)&-1;
-     $88 = (_mrb_debug_get_filename($79,$87)|0);
-     $10 = $88;
-     $89 = $9;
-     $90 = ($89|0)!=(-1);
-     $91 = $10;
-     $92 = ($91|0)!=(0|0);
-     $or$cond3 = $90 & $92;
-     if ($or$cond3) {
-      break;
-     }
-    }
-   }
-  }
-  $104 = $4;
-  $105 = ((($104)) + 28|0);
-  $106 = HEAP32[$105>>2]|0;
-  $5 = $106;
-  $107 = $4;
-  $108 = ((($107)) + -48|0);
-  $4 = $108;
- }
- if ((label|0) == 11) {
-  STACKTOP = sp;return;
- }
- $93 = $2;
- $94 = $3;
- $95 = $2;
- $96 = (_mrb_intern_static($95,67810,4)|0);
- $97 = $2;
- $98 = $10;
- _mrb_str_new_cstr($11,$97,$98);
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$11+4>>2]|0;
- _mrb_obj_iv_set($93,$94,$96,$$byval_copy4);
- $99 = $2;
- $100 = $3;
- $101 = $2;
- $102 = (_mrb_intern_static($101,67815,4)|0);
- $103 = $9;
- _mrb_fixnum_value_917($12,$103);
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$12+4>>2]|0;
- _mrb_obj_iv_set($99,$100,$102,$$byval_copy5);
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_value_917($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_raise($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy1 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $6 = sp + 16|0;
- $7 = sp + 8|0;
- $8 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $9 = $3;
- $10 = $5;
- _mrb_str_new_cstr($7,$9,$10);
- ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;
- $11 = $3;
- $12 = $3;
- $13 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_exc_new_str($8,$12,$13,$$byval_copy);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
- _mrb_exc_raise($11,$$byval_copy1);
- // unreachable;
-}
-function _mrb_vformat($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $$byval_copy15 = 0, $$byval_copy16 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $$field$field = 0.0, $$field2 = 0, $$index1 = 0, $$index5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0;
- var $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
- var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
- var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
- var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
- var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $arglist_current = 0, $arglist_next = 0, $expanded = 0, $expanded17 = 0, $expanded19 = 0, $expanded20 = 0, $expanded21 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 192|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(192|0);
- $$byval_copy16 = sp + 176|0;
- $$byval_copy15 = sp + 168|0;
- $$byval_copy14 = sp + 160|0;
- $$byval_copy13 = sp + 152|0;
- $$byval_copy12 = sp + 144|0;
- $$byval_copy11 = sp + 136|0;
- $$byval_copy10 = sp + 128|0;
- $$byval_copy9 = sp + 120|0;
- $$byval_copy8 = sp + 112|0;
- $$byval_copy7 = sp + 104|0;
- $$byval_copy6 = sp + 96|0;
- $$byval_copy = sp + 88|0;
- $10 = sp + 56|0;
- $12 = sp + 48|0;
- $13 = sp + 40|0;
- $14 = sp + 32|0;
- $15 = sp + 24|0;
- $16 = sp + 16|0;
- $17 = sp + 8|0;
- $18 = sp;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $19 = $5;
- $7 = $19;
- $20 = $7;
- $8 = $20;
- $21 = $4;
- _mrb_ary_new_capa($10,$21,4);
- while(1) {
-  $22 = $7;
-  $23 = HEAP8[$22>>0]|0;
-  $24 = ($23<<24>>24)!=(0);
-  if (!($24)) {
-   break;
-  }
-  $25 = $7;
-  $26 = ((($25)) + 1|0);
-  $7 = $26;
-  $27 = HEAP8[$25>>0]|0;
-  $11 = $27;
-  $28 = $11;
-  $29 = $28 << 24 >> 24;
-  $30 = ($29|0)==(37);
-  if ($30) {
-   $31 = $7;
-   $32 = HEAP8[$31>>0]|0;
-   $33 = $32 << 24 >> 24;
-   $34 = ($33|0)==(83);
-   if (!($34)) {
-    continue;
-   }
-   $35 = $7;
-   $36 = $8;
-   $37 = $35;
-   $38 = $36;
-   $39 = (($37) - ($38))|0;
-   $40 = (($39) - 1)|0;
-   $9 = $40;
-   $41 = $4;
-   $42 = $4;
-   $43 = $8;
-   $44 = $9;
-   _mrb_str_new($12,$42,$43,$44);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
-   ;HEAP32[$$byval_copy6>>2]=HEAP32[$12>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$12+4>>2]|0;
-   _mrb_ary_push($41,$$byval_copy,$$byval_copy6);
-   $45 = $4;
-   $46 = $6;
-   $arglist_current = HEAP32[$46>>2]|0;
-   $47 = $arglist_current;
-   $48 = ((0) + 4|0);
-   $expanded17 = $48;
-   $expanded = (($expanded17) - 1)|0;
-   $49 = (($47) + ($expanded))|0;
-   $50 = ((0) + 4|0);
-   $expanded21 = $50;
-   $expanded20 = (($expanded21) - 1)|0;
-   $expanded19 = $expanded20 ^ -1;
-   $51 = $49 & $expanded19;
-   $52 = $51;
-   $$field$field = +HEAPF32[$52>>2];
-   $$index1 = ((($52)) + 4|0);
-   $$field2 = HEAP32[$$index1>>2]|0;
-   $arglist_next = ((($52)) + 8|0);
-   HEAP32[$46>>2] = $arglist_next;
-   HEAPF32[$14>>2] = $$field$field;
-   $$index5 = ((($14)) + 4|0);
-   HEAP32[$$index5>>2] = $$field2;
-   ;HEAP32[$13>>2]=HEAP32[$14>>2]|0;HEAP32[$13+4>>2]=HEAP32[$14+4>>2]|0;
-   ;HEAP32[$$byval_copy7>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$10+4>>2]|0;
-   ;HEAP32[$$byval_copy8>>2]=HEAP32[$13>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$13+4>>2]|0;
-   _mrb_ary_push($45,$$byval_copy7,$$byval_copy8);
-   $53 = $7;
-   $54 = ((($53)) + 1|0);
-   $8 = $54;
-   continue;
-  }
-  $55 = $11;
-  $56 = $55 << 24 >> 24;
-  $57 = ($56|0)==(92);
-  if (!($57)) {
-   continue;
-  }
-  $58 = $7;
-  $59 = HEAP8[$58>>0]|0;
-  $60 = ($59<<24>>24)!=(0);
-  if (!($60)) {
-   break;
-  }
-  $61 = $7;
-  $62 = $8;
-  $63 = $61;
-  $64 = $62;
-  $65 = (($63) - ($64))|0;
-  $66 = (($65) - 1)|0;
-  $9 = $66;
-  $67 = $4;
-  $68 = $4;
-  $69 = $8;
-  $70 = $9;
-  _mrb_str_new($15,$68,$69,$70);
-  ;HEAP32[$$byval_copy9>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$10+4>>2]|0;
-  ;HEAP32[$$byval_copy10>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$15+4>>2]|0;
-  _mrb_ary_push($67,$$byval_copy9,$$byval_copy10);
-  $71 = $4;
-  $72 = $4;
-  $73 = $7;
-  _mrb_str_new($16,$72,$73,1);
-  ;HEAP32[$$byval_copy11>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$10+4>>2]|0;
-  ;HEAP32[$$byval_copy12>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$16+4>>2]|0;
-  _mrb_ary_push($71,$$byval_copy11,$$byval_copy12);
-  $74 = $7;
-  $75 = ((($74)) + 1|0);
-  $7 = $75;
-  $8 = $75;
- }
- $76 = $8;
- $77 = $5;
- $78 = ($76|0)==($77|0);
- if ($78) {
-  $79 = $4;
-  $80 = $5;
-  _mrb_str_new_cstr($0,$79,$80);
-  STACKTOP = sp;return;
- } else {
-  $81 = $7;
-  $82 = $8;
-  $83 = $81;
-  $84 = $82;
-  $85 = (($83) - ($84))|0;
-  $9 = $85;
-  $86 = $4;
-  $87 = $4;
-  $88 = $8;
-  $89 = $9;
-  _mrb_str_new($17,$87,$88,$89);
-  ;HEAP32[$$byval_copy13>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$10+4>>2]|0;
-  ;HEAP32[$$byval_copy14>>2]=HEAP32[$17>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$17+4>>2]|0;
-  _mrb_ary_push($86,$$byval_copy13,$$byval_copy14);
-  $90 = $4;
-  $91 = $4;
-  _mrb_str_new($18,$91,0,0);
-  ;HEAP32[$$byval_copy15>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$10+4>>2]|0;
-  ;HEAP32[$$byval_copy16>>2]=HEAP32[$18>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$18+4>>2]|0;
-  _mrb_ary_join($0,$90,$$byval_copy15,$$byval_copy16);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_format($0,$1,$2,$varargs) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $varargs = $varargs|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $5 = sp + 16|0;
- $6 = sp + 8|0;
- $7 = sp;
- $3 = $1;
- $4 = $2;
- HEAP32[$5>>2] = $varargs;
- $8 = $3;
- $9 = $4;
- _mrb_vformat($7,$8,$9,$5);
- ;HEAP32[$6>>2]=HEAP32[$7>>2]|0;HEAP32[$6+4>>2]=HEAP32[$7+4>>2]|0;
- ;HEAP32[$0>>2]=HEAP32[$6>>2]|0;HEAP32[$0+4>>2]=HEAP32[$6+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_raisef($0,$1,$2,$varargs) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $varargs = $varargs|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy1 = sp + 64|0;
- $$byval_copy = sp + 56|0;
- $6 = sp + 24|0;
- $7 = sp + 16|0;
- $8 = sp + 8|0;
- $9 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- HEAP32[$6>>2] = $varargs;
- $10 = $3;
- $11 = $5;
- _mrb_vformat($8,$10,$11,$6);
- ;HEAP32[$7>>2]=HEAP32[$8>>2]|0;HEAP32[$7+4>>2]=HEAP32[$8+4>>2]|0;
- $12 = $3;
- $13 = $3;
- $14 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_exc_new_str($9,$13,$14,$$byval_copy);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
- _mrb_exc_raise($12,$$byval_copy1);
- // unreachable;
-}
-function _mrb_name_error($0,$1,$2,$varargs) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $varargs = $varargs|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy = sp + 80|0;
- $6 = sp + 56|0;
- $7 = sp + 40|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $10 = sp + 8|0;
- $11 = sp;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- HEAP32[$8>>2] = $varargs;
- $12 = $3;
- $13 = $5;
- _mrb_vformat($9,$12,$13,$8);
- ;HEAP32[$7>>2]=HEAP32[$9>>2]|0;HEAP32[$7+4>>2]=HEAP32[$9+4>>2]|0;
- $14 = ((($7)) + 8|0);
- $15 = $4;
- _mrb_symbol_value_928($10,$15);
- ;HEAP32[$14>>2]=HEAP32[$10>>2]|0;HEAP32[$14+4>>2]=HEAP32[$10+4>>2]|0;
- $16 = $3;
- $17 = $3;
- $18 = (_mrb_class_get($17,67820)|0);
- _mrb_obj_new($11,$16,$18,2,$7);
- ;HEAP32[$6>>2]=HEAP32[$11>>2]|0;HEAP32[$6+4>>2]=HEAP32[$11+4>>2]|0;
- $19 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_exc_raise($19,$$byval_copy);
- // unreachable;
-}
-function _mrb_symbol_value_928($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 4;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_warn($0,$1,$varargs) {
- $0 = $0|0;
- $1 = $1|0;
- $varargs = $varargs|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $6 = sp;
- $2 = $0;
- $3 = $1;
- HEAP32[$4>>2] = $varargs;
- $7 = $2;
- $8 = $3;
- _mrb_vformat($6,$7,$8,$4);
- ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
- $9 = HEAP32[637]|0;
- (_fputs(67830,$9)|0);
- $10 = HEAP32[$5>>2]|0;
- $11 = HEAP32[$10>>2]|0;
- $12 = $11 >>> 11;
- $13 = $12 & 8;
- $14 = ($13|0)!=(0);
- $15 = HEAP32[$5>>2]|0;
- $16 = ((($15)) + 12|0);
- if ($14) {
-  $32 = $16;
- } else {
-  $17 = ((($16)) + 8|0);
-  $18 = HEAP32[$17>>2]|0;
-  $32 = $18;
- }
- $19 = HEAP32[$5>>2]|0;
- $20 = HEAP32[$19>>2]|0;
- $21 = $20 >>> 11;
- $22 = $21 & 8;
- $23 = ($22|0)!=(0);
- $24 = HEAP32[$5>>2]|0;
- if ($23) {
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $25 >>> 11;
-  $27 = $26 & 496;
-  $28 = $27 >> 4;
-  $33 = $28;
-  $31 = HEAP32[637]|0;
-  (_fwrite($32,$33,1,$31)|0);
-  STACKTOP = sp;return;
- } else {
-  $29 = ((($24)) + 12|0);
-  $30 = HEAP32[$29>>2]|0;
-  $33 = $30;
-  $31 = HEAP32[637]|0;
-  (_fwrite($32,$33,1,$31)|0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_bug($0,$1,$varargs) {
- $0 = $0|0;
- $1 = $1|0;
- $varargs = $varargs|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $6 = sp;
- $2 = $0;
- $3 = $1;
- HEAP32[$4>>2] = $varargs;
- $7 = $2;
- $8 = $3;
- _mrb_vformat($6,$7,$8,$4);
- ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
- $9 = HEAP32[637]|0;
- (_fputs(67840,$9)|0);
- $10 = HEAP32[$5>>2]|0;
- $11 = HEAP32[$10>>2]|0;
- $12 = $11 >>> 11;
- $13 = $12 & 8;
- $14 = ($13|0)!=(0);
- $15 = HEAP32[$5>>2]|0;
- $16 = ((($15)) + 12|0);
- if ($14) {
-  $32 = $16;
- } else {
-  $17 = ((($16)) + 8|0);
-  $18 = HEAP32[$17>>2]|0;
-  $32 = $18;
- }
- $19 = HEAP32[$5>>2]|0;
- $20 = HEAP32[$19>>2]|0;
- $21 = $20 >>> 11;
- $22 = $21 & 8;
- $23 = ($22|0)!=(0);
- $24 = HEAP32[$5>>2]|0;
- if ($23) {
-  $25 = HEAP32[$24>>2]|0;
-  $26 = $25 >>> 11;
-  $27 = $26 & 496;
-  $28 = $27 >> 4;
-  $33 = $28;
-  $31 = HEAP32[637]|0;
-  (_fwrite($32,$33,1,$31)|0);
-  _exit(1);
-  // unreachable;
- } else {
-  $29 = ((($24)) + 12|0);
-  $30 = HEAP32[$29>>2]|0;
-  $33 = $30;
-  $31 = HEAP32[637]|0;
-  (_fwrite($32,$33,1,$31)|0);
-  _exit(1);
-  // unreachable;
- }
-}
-function _mrb_make_exception($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $5;
- $9 = $6;
- _make_exception($0,$7,$8,$9,1);
- STACKTOP = sp;return;
-}
-function _make_exception($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
- var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0;
- var $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
- var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
- $$byval_copy6 = sp + 136|0;
- $$byval_copy5 = sp + 128|0;
- $$byval_copy4 = sp + 120|0;
- $$byval_copy3 = sp + 112|0;
- $$byval_copy2 = sp + 104|0;
- $$byval_copy1 = sp + 96|0;
- $$byval_copy = sp + 88|0;
- $vararg_buffer = sp;
- $9 = sp + 64|0;
- $11 = sp + 48|0;
- $12 = sp + 40|0;
- $13 = sp + 32|0;
- $15 = sp + 16|0;
- $16 = sp + 8|0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- _mrb_nil_value_936($11);
- ;HEAP32[$9>>2]=HEAP32[$11>>2]|0;HEAP32[$9+4>>2]=HEAP32[$11+4>>2]|0;
- $17 = $6;
- L1: do {
-  switch ($17|0) {
-  case 0:  {
-   break;
-  }
-  case 1:  {
-   $18 = $7;
-   $19 = ((($18)) + 4|0);
-   $20 = HEAP32[$19>>2]|0;
-   $21 = ($20|0)==(0);
-   if ($21) {
-    $22 = $7;
-    $23 = HEAP32[$22>>2]|0;
-    $24 = ($23|0)!=(0);
-    if (!($24)) {
-     break L1;
-    }
-   }
-   $25 = $8;
-   $26 = ($25<<24>>24)!=(0);
-   do {
-    if ($26) {
-     $27 = $5;
-     $28 = $7;
-     ;HEAP32[$$byval_copy>>2]=HEAP32[$28>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$28+4>>2]|0;
-     _mrb_check_string_type($12,$27,$$byval_copy);
-     ;HEAP32[$9>>2]=HEAP32[$12>>2]|0;HEAP32[$9+4>>2]=HEAP32[$12+4>>2]|0;
-     $29 = ((($9)) + 4|0);
-     $30 = HEAP32[$29>>2]|0;
-     $31 = ($30|0)==(0);
-     if ($31) {
-      $32 = HEAP32[$9>>2]|0;
-      $33 = ($32|0)!=(0);
-      if (!($33)) {
-       break;
-      }
-     }
-     $34 = $5;
-     $35 = $5;
-     $36 = (_mrb_class_get($35,68266)|0);
-     ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
-     _mrb_exc_new_str($13,$34,$36,$$byval_copy1);
-     ;HEAP32[$9>>2]=HEAP32[$13>>2]|0;HEAP32[$9+4>>2]=HEAP32[$13+4>>2]|0;
-     break L1;
-    }
-   } while(0);
-   $10 = 0;
-   label = 10;
-   break;
-  }
-  case 3: case 2:  {
-   $10 = 1;
-   label = 10;
-   break;
-  }
-  default: {
-   $52 = $5;
-   $53 = $5;
-   $54 = (_mrb_class_get($53,69160)|0);
-   $55 = $6;
-   _mrb_fixnum_value_917($16,$55);
-   ;HEAP8[$vararg_buffer>>0]=HEAP8[$16>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$16+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$16+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$16+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$16+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$16+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$16+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$16+7>>0]|0;
-   _mrb_raisef($52,$54,67888,$vararg_buffer);
-   // unreachable;
-  }
-  }
- } while(0);
- do {
-  if ((label|0) == 10) {
-   $37 = $5;
-   $38 = (_mrb_intern_static($37,67846,9)|0);
-   $14 = $38;
-   $39 = $5;
-   $40 = $7;
-   $41 = $14;
-   ;HEAP32[$$byval_copy2>>2]=HEAP32[$40>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$40+4>>2]|0;
-   $42 = (_mrb_respond_to($39,$$byval_copy2,$41)|0);
-   $43 = ($42<<24>>24)!=(0);
-   $44 = $5;
-   if ($43) {
-    $45 = $7;
-    $46 = $14;
-    $47 = $10;
-    $48 = $7;
-    $49 = ((($48)) + 8|0);
-    ;HEAP32[$$byval_copy3>>2]=HEAP32[$45>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$45+4>>2]|0;
-    _mrb_funcall_argv($15,$44,$$byval_copy3,$46,$47,$49);
-    ;HEAP32[$9>>2]=HEAP32[$15>>2]|0;HEAP32[$9+4>>2]=HEAP32[$15+4>>2]|0;
-    break;
-   } else {
-    $50 = $5;
-    $51 = (_mrb_class_get($50,69204)|0);
-    _mrb_raise($44,$51,67856);
-    // unreachable;
-   }
-  }
- } while(0);
- $56 = $6;
- $57 = ($56|0)>(0);
- if (!($57)) {
-  ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $58 = $5;
- $59 = $5;
- $60 = ((($59)) + 568|0);
- $61 = HEAP32[$60>>2]|0;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$9+4>>2]|0;
- $62 = (_mrb_obj_is_kind_of($58,$$byval_copy4,$61)|0);
- $63 = ($62<<24>>24)!=(0);
- if (!($63)) {
-  $64 = $5;
-  $65 = $5;
-  $66 = (_mrb_class_get($65,69204)|0);
-  _mrb_raise($64,$66,67928);
-  // unreachable;
- }
- $67 = $6;
- $68 = ($67|0)>(2);
- if (!($68)) {
-  ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $69 = $5;
- $70 = $7;
- $71 = ((($70)) + 16|0);
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$9+4>>2]|0;
- ;HEAP32[$$byval_copy6>>2]=HEAP32[$71>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$71+4>>2]|0;
- _set_backtrace($69,$$byval_copy5,$$byval_copy6);
- ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_936($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _set_backtrace($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $0;
- $5 = $3;
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_funcall($4,$5,$$byval_copy,67954,1,$vararg_buffer);
- STACKTOP = sp;return;
-}
-function _mrb_obj_value_946($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_no_method_error($0,$1,$2,$3,$varargs) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $varargs = $varargs|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0;
- var $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy1 = sp + 104|0;
- $$byval_copy = sp + 96|0;
- $vararg_buffer = sp;
- $7 = sp + 72|0;
- $8 = sp + 56|0;
- $9 = sp + 48|0;
- $10 = sp + 40|0;
- $11 = sp + 32|0;
- $12 = sp + 24|0;
- $4 = $0;
- $5 = $1;
- $6 = $3;
- HEAP32[$8>>2] = $varargs;
- $13 = $4;
- $14 = $4;
- $15 = (_mrb_class_get($14,67968)|0);
- _mrb_obj_value_946($9,$15);
- $16 = $4;
- $17 = $6;
- _mrb_vformat($10,$16,$17,$8);
- $18 = $5;
- _mrb_symbol_value_928($11,$18);
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$10+7>>0]|0;
- $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
- ;HEAP8[$vararg_ptr1>>0]=HEAP8[$11>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$11+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$11+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$11+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$11+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$11+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$11+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$11+7>>0]|0;
- $vararg_ptr2 = ((($vararg_buffer)) + 16|0);
- ;HEAP8[$vararg_ptr2>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_ptr2+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_ptr2+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_ptr2+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_ptr2+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_ptr2+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_ptr2+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_ptr2+7>>0]=HEAP8[$2+7>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$9+4>>2]|0;
- _mrb_funcall($12,$13,$$byval_copy,67982,3,$vararg_buffer);
- ;HEAP32[$7>>2]=HEAP32[$12>>2]|0;HEAP32[$7+4>>2]=HEAP32[$12+4>>2]|0;
- $19 = $4;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_exc_raise($19,$$byval_copy1);
- // unreachable;
-}
-function _mrb_init_exception($0) {
- $0 = $0|0;
- var $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
- var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
- var $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $5 = sp + 8|0;
- $6 = sp;
- $1 = $0;
- $7 = $1;
- $8 = $1;
- $9 = ((($8)) + 32|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = (_mrb_define_class($7,67986,$10)|0);
- $2 = $11;
- $12 = $1;
- $13 = ((($12)) + 568|0);
- HEAP32[$13>>2] = $11;
- $14 = $2;
- $15 = HEAP32[$14>>2]|0;
- $16 = $15 >>> 11;
- $17 = $16 & -256;
- $18 = $17 | 18;
- $19 = $2;
- $20 = HEAP32[$19>>2]|0;
- $21 = $18 & 2097151;
- $22 = $21 << 11;
- $23 = $20 & 2047;
- $24 = $23 | $22;
- HEAP32[$19>>2] = $24;
- $25 = $1;
- $26 = $2;
- _mrb_define_class_method($25,$26,67846,238,4096);
- $27 = $1;
- $28 = $2;
- _mrb_define_method($27,$28,67846,276,4096);
- $29 = $1;
- $30 = $2;
- _mrb_define_method($29,$30,69252,277,4096);
- $31 = $1;
- $32 = $2;
- _mrb_define_method($31,$32,69276,278,0);
- $33 = $1;
- $34 = $2;
- _mrb_define_method($33,$34,67996,279,0);
- $35 = $1;
- $36 = $2;
- _mrb_define_method($35,$36,69281,280,0);
- $37 = $1;
- $38 = $2;
- _mrb_define_method($37,$38,68004,281,0);
- $39 = $1;
- $40 = $1;
- $41 = ((($40)) + 568|0);
- $42 = HEAP32[$41>>2]|0;
- $43 = (_mrb_define_class($39,69566,$42)|0);
- $44 = $1;
- $45 = ((($44)) + 572|0);
- HEAP32[$45>>2] = $43;
- $46 = $1;
- $47 = $1;
- $48 = ((($47)) + 572|0);
- $49 = HEAP32[$48>>2]|0;
- $50 = (_mrb_define_class($46,68266,$49)|0);
- $3 = $50;
- $51 = $1;
- $52 = $3;
- $53 = $1;
- _mrb_str_new_static($5,$53,68014,13);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_exc_new_str($6,$51,$52,$$byval_copy);
- $54 = HEAP32[$6>>2]|0;
- $55 = $1;
- $56 = ((($55)) + 576|0);
- HEAP32[$56>>2] = $54;
- $57 = $1;
- $58 = $1;
- $59 = ((($58)) + 568|0);
- $60 = HEAP32[$59>>2]|0;
- $61 = (_mrb_define_class($57,68028,$60)|0);
- $4 = $61;
- $62 = $1;
- $63 = $4;
- (_mrb_define_class($62,68040,$63)|0);
- $64 = $1;
- $65 = $2;
- (_mrb_define_class($64,68052,$65)|0);
- STACKTOP = sp;return;
-}
-function _exc_exception($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy4 = sp + 80|0;
- $$byval_copy3 = sp + 72|0;
- $$byval_copy2 = sp + 64|0;
- $$byval_copy1 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $vararg_buffer = sp;
- $4 = sp + 32|0;
- $5 = sp + 24|0;
- $7 = sp + 8|0;
- $3 = $1;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $9 = (_mrb_get_args($8,68084,$vararg_buffer)|0);
- $6 = $9;
- $10 = $6;
- $11 = ($10|0)==(0);
- if ($11) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $12 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;
- $13 = (_mrb_obj_equal($12,$$byval_copy,$$byval_copy1)|0);
- $14 = ($13<<24>>24)!=(0);
- if ($14) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  $15 = $3;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_obj_clone($7,$15,$$byval_copy2);
-  ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
-  $16 = $3;
-  $17 = $3;
-  $18 = (_mrb_intern_static($17,68069,4)|0);
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
-  _mrb_iv_set($16,$$byval_copy3,$18,$$byval_copy4);
-  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _exc_initialize($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $6 = (_mrb_get_args($5,68084,$vararg_buffer)|0);
- $7 = ($6|0)==(1);
- if (!($7)) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $8 = $3;
- $9 = $3;
- $10 = (_mrb_intern_static($9,68069,4)|0);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_iv_set($8,$$byval_copy,$10,$$byval_copy1);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _exc_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $4 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- $7 = $3;
- $8 = (_mrb_intern_static($7,68069,4)|0);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_attr_get($4,$6,$$byval_copy,$8);
- $9 = ((($4)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(16);
- if (!($11)) {
-  $12 = $3;
-  $13 = $3;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-  $14 = (_mrb_obj_classname($13,$$byval_copy1)|0);
-  _mrb_str_new_cstr($0,$12,$14);
-  STACKTOP = sp;return;
- }
- $15 = HEAP32[$4>>2]|0;
- $5 = $15;
- $16 = $5;
- $17 = ((($16)) + 4|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = ($18|0)!=(0|0);
- if (!($19)) {
-  $20 = $3;
-  $21 = ((($20)) + 48|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $5;
-  $24 = ((($23)) + 4|0);
-  HEAP32[$24>>2] = $22;
- }
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _exc_message($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $vararg_buffer = sp;
- $3 = $1;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_funcall($0,$4,$$byval_copy,69276,0,$vararg_buffer);
- STACKTOP = sp;return;
-}
-function _exc_inspect($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy12 = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $$byval_copy15 = 0, $$byval_copy16 = 0, $$byval_copy17 = 0, $$byval_copy18 = 0, $$byval_copy19 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
- var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 352|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(352|0);
- $$byval_copy19 = sp + 328|0;
- $$byval_copy18 = sp + 320|0;
- $$byval_copy17 = sp + 312|0;
- $$byval_copy16 = sp + 304|0;
- $$byval_copy15 = sp + 296|0;
- $$byval_copy14 = sp + 288|0;
- $$byval_copy13 = sp + 280|0;
- $$byval_copy12 = sp + 272|0;
- $$byval_copy11 = sp + 264|0;
- $$byval_copy10 = sp + 256|0;
- $$byval_copy9 = sp + 248|0;
- $$byval_copy8 = sp + 240|0;
- $$byval_copy7 = sp + 232|0;
- $$byval_copy6 = sp + 224|0;
- $$byval_copy5 = sp + 216|0;
- $$byval_copy4 = sp + 208|0;
- $$byval_copy3 = sp + 200|0;
- $$byval_copy2 = sp + 192|0;
- $$byval_copy1 = sp + 184|0;
- $$byval_copy = sp + 176|0;
- $4 = sp + 160|0;
- $5 = sp + 152|0;
- $6 = sp + 144|0;
- $7 = sp + 136|0;
- $9 = sp + 128|0;
- $10 = sp + 120|0;
- $11 = sp + 112|0;
- $12 = sp + 104|0;
- $13 = sp + 96|0;
- $14 = sp + 88|0;
- $15 = sp + 80|0;
- $16 = sp + 72|0;
- $17 = sp + 64|0;
- $18 = sp + 56|0;
- $19 = sp + 48|0;
- $20 = sp + 40|0;
- $22 = sp + 24|0;
- $23 = sp + 16|0;
- $24 = sp + 8|0;
- $25 = sp;
- $3 = $1;
- $26 = $3;
- $27 = $3;
- $28 = (_mrb_intern_static($27,68069,4)|0);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_attr_get($9,$26,$$byval_copy,$28);
- ;HEAP32[$5>>2]=HEAP32[$9>>2]|0;HEAP32[$5+4>>2]=HEAP32[$9+4>>2]|0;
- $29 = $3;
- $30 = $3;
- $31 = (_mrb_intern_static($30,67810,4)|0);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_attr_get($10,$29,$$byval_copy1,$31);
- ;HEAP32[$6>>2]=HEAP32[$10>>2]|0;HEAP32[$6+4>>2]=HEAP32[$10+4>>2]|0;
- $32 = $3;
- $33 = $3;
- $34 = (_mrb_intern_static($33,67815,4)|0);
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_attr_get($11,$32,$$byval_copy2,$34);
- ;HEAP32[$7>>2]=HEAP32[$11>>2]|0;HEAP32[$7+4>>2]=HEAP32[$11+4>>2]|0;
- $35 = ((($5)) + 4|0);
- $36 = HEAP32[$35>>2]|0;
- $37 = ($36|0)==(0);
- if ($37) {
-  $38 = HEAP32[$5>>2]|0;
-  $39 = ($38|0)!=(0);
-  $40 = $39 ^ 1;
-  $42 = $40;
- } else {
-  $42 = 0;
- }
- $41 = $42 ^ 1;
- $43 = $41&1;
- $44 = $43&255;
- $8 = $44;
- $45 = $8;
- $46 = ($45<<24>>24)!=(0);
- if ($46) {
-  $47 = $3;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
-  _mrb_obj_as_string($12,$47,$$byval_copy3);
-  ;HEAP32[$5>>2]=HEAP32[$12>>2]|0;HEAP32[$5+4>>2]=HEAP32[$12+4>>2]|0;
-  $48 = HEAP32[$5>>2]|0;
-  $49 = HEAP32[$48>>2]|0;
-  $50 = $49 >>> 11;
-  $51 = $50 & 8;
-  $52 = ($51|0)!=(0);
-  $53 = HEAP32[$5>>2]|0;
-  if ($52) {
-   $54 = HEAP32[$53>>2]|0;
-   $55 = $54 >>> 11;
-   $56 = $55 & 496;
-   $57 = $56 >> 4;
-   $61 = $57;
-  } else {
-   $58 = ((($53)) + 12|0);
-   $59 = HEAP32[$58>>2]|0;
-   $61 = $59;
-  }
-  $60 = ($61|0)>(0);
-  $62 = $60&1;
-  $63 = $62&255;
-  $8 = $63;
- }
- $64 = ((($6)) + 4|0);
- $65 = HEAP32[$64>>2]|0;
- $66 = ($65|0)==(0);
- if ($66) {
-  $67 = HEAP32[$6>>2]|0;
-  $68 = ($67|0)!=(0);
-  if ($68) {
-   label = 10;
-  }
- } else {
-  label = 10;
- }
- do {
-  if ((label|0) == 10) {
-   $69 = ((($7)) + 4|0);
-   $70 = HEAP32[$69>>2]|0;
-   $71 = ($70|0)==(0);
-   if ($71) {
-    $72 = HEAP32[$7>>2]|0;
-    $73 = ($72|0)!=(0);
-    if (!($73)) {
-     break;
-    }
-   }
-   $74 = $3;
-   ;HEAP32[$$byval_copy4>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$6+4>>2]|0;
-   _mrb_str_dup($13,$74,$$byval_copy4);
-   ;HEAP32[$4>>2]=HEAP32[$13>>2]|0;HEAP32[$4+4>>2]=HEAP32[$13+4>>2]|0;
-   $75 = $3;
-   ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;
-   _mrb_str_cat($14,$75,$$byval_copy5,68074,1);
-   $76 = $3;
-   ;HEAP32[$$byval_copy6>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$4+4>>2]|0;
-   ;HEAP32[$$byval_copy7>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$7+4>>2]|0;
-   _mrb_str_append($15,$76,$$byval_copy6,$$byval_copy7);
-   $77 = $3;
-   ;HEAP32[$$byval_copy8>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$4+4>>2]|0;
-   _mrb_str_cat($16,$77,$$byval_copy8,68076,2);
-   $78 = $8;
-   $79 = ($78<<24>>24)!=(0);
-   if ($79) {
-    $80 = $3;
-    ;HEAP32[$$byval_copy9>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$4+4>>2]|0;
-    ;HEAP32[$$byval_copy10>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$5+4>>2]|0;
-    _mrb_str_cat_str($17,$80,$$byval_copy9,$$byval_copy10);
-    $81 = $3;
-    ;HEAP32[$$byval_copy11>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$4+4>>2]|0;
-    _mrb_str_cat($18,$81,$$byval_copy11,68079,2);
-   }
-   $82 = $3;
-   $83 = $3;
-   ;HEAP32[$$byval_copy12>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy12+4>>2]=HEAP32[$2+4>>2]|0;
-   $84 = (_mrb_obj_classname($83,$$byval_copy12)|0);
-   ;HEAP32[$$byval_copy13>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$4+4>>2]|0;
-   _mrb_str_cat_cstr($19,$82,$$byval_copy13,$84);
-   $85 = $8;
-   $86 = ($85<<24>>24)!=(0);
-   if (!($86)) {
-    ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-    STACKTOP = sp;return;
-   }
-   $87 = $3;
-   ;HEAP32[$$byval_copy14>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$4+4>>2]|0;
-   _mrb_str_cat($20,$87,$$byval_copy14,68082,1);
-   ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- } while(0);
- $88 = $3;
- ;HEAP32[$$byval_copy15>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$2+4>>2]|0;
- $89 = (_mrb_obj_classname($88,$$byval_copy15)|0);
- $21 = $89;
- $90 = $3;
- $91 = $21;
- _mrb_str_new_cstr($22,$90,$91);
- ;HEAP32[$4>>2]=HEAP32[$22>>2]|0;HEAP32[$4+4>>2]=HEAP32[$22+4>>2]|0;
- $92 = $3;
- ;HEAP32[$$byval_copy16>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_cat($23,$92,$$byval_copy16,68076,2);
- $93 = $8;
- $94 = ($93<<24>>24)!=(0);
- $95 = $3;
- if ($94) {
-  ;HEAP32[$$byval_copy17>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$4+4>>2]|0;
-  ;HEAP32[$$byval_copy18>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$5+4>>2]|0;
-  _mrb_str_cat_str($24,$95,$$byval_copy17,$$byval_copy18);
-  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  $96 = $21;
-  ;HEAP32[$$byval_copy19>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$4+4>>2]|0;
-  _mrb_str_cat_cstr($25,$95,$$byval_copy19,$96);
-  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_data_check_type($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, $vararg_ptr5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy6 = sp + 96|0;
- $$byval_copy = sp + 88|0;
- $vararg_buffer2 = sp + 16|0;
- $vararg_buffer = sp;
- $6 = sp + 64|0;
- $7 = sp + 56|0;
- $9 = sp + 40|0;
- $10 = sp + 32|0;
- $3 = $0;
- $4 = $2;
- $11 = ((($1)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ($12|0)!=(21);
- if ($13) {
-  $14 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
-  _mrb_check_type($14,$$byval_copy,21);
- }
- $15 = HEAP32[$1>>2]|0;
- $16 = ((($15)) + 16|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = $4;
- $19 = ($17|0)!=($18|0);
- if (!($19)) {
-  STACKTOP = sp;return;
- }
- $20 = HEAP32[$1>>2]|0;
- $21 = ((($20)) + 16|0);
- $22 = HEAP32[$21>>2]|0;
- $5 = $22;
- $23 = $5;
- $24 = ($23|0)!=(0|0);
- $25 = $3;
- if ($24) {
-  $26 = $3;
-  $27 = (_mrb_class_get($26,69204)|0);
-  $28 = $3;
-  $29 = $5;
-  $30 = HEAP32[$29>>2]|0;
-  _mrb_str_new_cstr($6,$28,$30);
-  $31 = $3;
-  $32 = $4;
-  $33 = HEAP32[$32>>2]|0;
-  _mrb_str_new_cstr($7,$31,$33);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$6>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$6+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$6+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$6+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$6+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$6+7>>0]|0;
-  $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
-  ;HEAP8[$vararg_ptr1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$7+7>>0]|0;
-  _mrb_raisef($25,$27,68087,$vararg_buffer);
-  // unreachable;
- } else {
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$1+4>>2]|0;
-  $34 = (_mrb_class_971($25,$$byval_copy6)|0);
-  $8 = $34;
-  $35 = $3;
-  $36 = $3;
-  $37 = (_mrb_class_get($36,69204)|0);
-  $38 = $8;
-  _mrb_obj_value_972($9,$38);
-  $39 = $3;
-  $40 = $4;
-  $41 = HEAP32[$40>>2]|0;
-  _mrb_str_new_cstr($10,$39,$41);
-  ;HEAP8[$vararg_buffer2>>0]=HEAP8[$9>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$9+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$9+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$9+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$9+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$9+7>>0]|0;
-  $vararg_ptr5 = ((($vararg_buffer2)) + 8|0);
-  ;HEAP8[$vararg_ptr5>>0]=HEAP8[$10>>0]|0;HEAP8[$vararg_ptr5+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$vararg_ptr5+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$vararg_ptr5+3>>0]=HEAP8[$10+3>>0]|0;HEAP8[$vararg_ptr5+4>>0]=HEAP8[$10+4>>0]|0;HEAP8[$vararg_ptr5+5>>0]=HEAP8[$10+5>>0]|0;HEAP8[$vararg_ptr5+6>>0]=HEAP8[$10+6>>0]|0;HEAP8[$vararg_ptr5+7>>0]=HEAP8[$10+7>>0]|0;
-  _mrb_raisef($35,$37,68124,$vararg_buffer2);
-  // unreachable;
- }
-}
-function _mrb_class_971($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = ((($1)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- L1: do {
-  switch ($5|0) {
-  case 0:  {
-   $6 = HEAP32[$1>>2]|0;
-   $7 = ($6|0)!=(0);
-   $8 = $3;
-   if ($7) {
-    $9 = ((($8)) + 72|0);
-    $10 = HEAP32[$9>>2]|0;
-    $2 = $10;
-    break L1;
-   } else {
-    $11 = ((($8)) + 76|0);
-    $12 = HEAP32[$11>>2]|0;
-    $2 = $12;
-    break L1;
-   }
-   break;
-  }
-  case 2:  {
-   $13 = $3;
-   $14 = ((($13)) + 68|0);
-   $15 = HEAP32[$14>>2]|0;
-   $2 = $15;
-   break;
-  }
-  case 4:  {
-   $16 = $3;
-   $17 = ((($16)) + 80|0);
-   $18 = HEAP32[$17>>2]|0;
-   $2 = $18;
-   break;
-  }
-  case 3:  {
-   $19 = $3;
-   $20 = ((($19)) + 64|0);
-   $21 = HEAP32[$20>>2]|0;
-   $2 = $21;
-   break;
-  }
-  case 6:  {
-   $22 = $3;
-   $23 = ((($22)) + 60|0);
-   $24 = HEAP32[$23>>2]|0;
-   $2 = $24;
-   break;
-  }
-  case 7:  {
-   $25 = $3;
-   $26 = ((($25)) + 32|0);
-   $27 = HEAP32[$26>>2]|0;
-   $2 = $27;
-   break;
-  }
-  case 20:  {
-   $2 = 0;
-   break;
-  }
-  default: {
-   $28 = HEAP32[$1>>2]|0;
-   $29 = ((($28)) + 4|0);
-   $30 = HEAP32[$29>>2]|0;
-   $2 = $30;
-  }
-  }
- } while(0);
- $31 = $2;
- STACKTOP = sp;return ($31|0);
-}
-function _mrb_obj_value_972($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_data_get_ptr($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $0;
- $4 = $2;
- $5 = $3;
- $6 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_data_check_type($5,$$byval_copy,$6);
- $7 = HEAP32[$1>>2]|0;
- $8 = ((($7)) + 20|0);
- $9 = HEAP32[$8>>2]|0;
- STACKTOP = sp;return ($9|0);
-}
-function _mrb_float_id($0) {
- $0 = +$0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp + 12|0;
- HEAPF32[$1>>2] = $0;
- $2 = $1;
- $3 = 4;
- $4 = 0;
- while(1) {
-  $5 = $3;
-  $6 = (($5) + -1)|0;
-  $3 = $6;
-  $7 = ($5|0)!=(0);
-  $8 = $4;
-  if (!($7)) {
-   break;
-  }
-  $9 = ($8*65599)|0;
-  $10 = $2;
-  $11 = HEAP8[$10>>0]|0;
-  $12 = $11 << 24 >> 24;
-  $13 = (($9) + ($12))|0;
-  $4 = $13;
-  $14 = $2;
-  $15 = ((($14)) + 1|0);
-  $2 = $15;
- }
- $16 = $4;
- $17 = $16 >> 5;
- $18 = (($8) + ($17))|0;
- $4 = $18;
- $19 = $4;
- STACKTOP = sp;return ($19|0);
-}
-function _mrb_obj_id($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0.0, $24 = 0, $25 = 0, $26 = 0.0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = ((($0)) + 4|0);
- $4 = HEAP32[$3>>2]|0;
- $2 = $4;
- $5 = $2;
- L1: do {
-  switch ($5|0) {
-  case 5: case 1:  {
-   $6 = $2;
-   $7 = 0 ^ $6;
-   $1 = $7;
-   break;
-  }
-  case 0:  {
-   $8 = ((($0)) + 4|0);
-   $9 = HEAP32[$8>>2]|0;
-   $10 = ($9|0)==(0);
-   if ($10) {
-    $11 = HEAP32[$0>>2]|0;
-    $12 = ($11|0)!=(0);
-    if (!($12)) {
-     $13 = $2;
-     $14 = 1 ^ $13;
-     $1 = $14;
-     break L1;
-    }
-   }
-   $15 = $2;
-   $16 = 0 ^ $15;
-   $1 = $16;
-   break;
-  }
-  case 2:  {
-   $17 = $2;
-   $18 = 1 ^ $17;
-   $1 = $18;
-   break;
-  }
-  case 4:  {
-   $19 = HEAP32[$0>>2]|0;
-   $20 = $2;
-   $21 = $19 ^ $20;
-   $1 = $21;
-   break;
-  }
-  case 3:  {
-   $22 = HEAP32[$0>>2]|0;
-   $23 = (+($22|0));
-   $24 = (_mrb_float_id($23)|0);
-   $25 = $24 ^ 6;
-   $1 = $25;
-   break;
-  }
-  case 6:  {
-   $26 = +HEAPF32[$0>>2];
-   $27 = (_mrb_float_id($26)|0);
-   $28 = $2;
-   $29 = $27 ^ $28;
-   $1 = $29;
-   break;
-  }
-  default: {
-   $30 = HEAP32[$0>>2]|0;
-   $31 = $30;
-   $32 = $2;
-   $33 = $31 ^ $32;
-   $1 = $33;
-  }
-  }
- } while(0);
- $34 = $1;
- STACKTOP = sp;return ($34|0);
-}
-function _mrb_regexp_p($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $2 = $0;
- $3 = $2;
- $4 = (_mrb_class_defined($3,69671)|0);
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- if (!($6)) {
-  $14 = 0;
-  $13 = $14&1;
-  $15 = $13&255;
-  STACKTOP = sp;return ($15|0);
- }
- $7 = $2;
- $8 = $2;
- $9 = (_mrb_class_get($8,69671)|0);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $10 = (_mrb_obj_is_kind_of($7,$$byval_copy,$9)|0);
- $11 = $10&255;
- $12 = ($11|0)!=(0);
- $14 = $12;
- $13 = $14&1;
- $15 = $13&255;
- STACKTOP = sp;return ($15|0);
-}
-function _mrb_init_core($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- _mrb_init_symtbl($2);
- $3 = $1;
- _mrb_gc_arena_restore($3,0);
- $4 = $1;
- _mrb_init_class($4);
- $5 = $1;
- _mrb_gc_arena_restore($5,0);
- $6 = $1;
- _mrb_init_object($6);
- $7 = $1;
- _mrb_gc_arena_restore($7,0);
- $8 = $1;
- _mrb_init_kernel($8);
- $9 = $1;
- _mrb_gc_arena_restore($9,0);
- $10 = $1;
- _mrb_init_comparable($10);
- $11 = $1;
- _mrb_gc_arena_restore($11,0);
- $12 = $1;
- _mrb_init_enumerable($12);
- $13 = $1;
- _mrb_gc_arena_restore($13,0);
- $14 = $1;
- _mrb_init_symbol($14);
- $15 = $1;
- _mrb_gc_arena_restore($15,0);
- $16 = $1;
- _mrb_init_exception($16);
- $17 = $1;
- _mrb_gc_arena_restore($17,0);
- $18 = $1;
- _mrb_init_proc($18);
- $19 = $1;
- _mrb_gc_arena_restore($19,0);
- $20 = $1;
- _mrb_init_string($20);
- $21 = $1;
- _mrb_gc_arena_restore($21,0);
- $22 = $1;
- _mrb_init_array($22);
- $23 = $1;
- _mrb_gc_arena_restore($23,0);
- $24 = $1;
- _mrb_init_hash($24);
- $25 = $1;
- _mrb_gc_arena_restore($25,0);
- $26 = $1;
- _mrb_init_numeric($26);
- $27 = $1;
- _mrb_gc_arena_restore($27,0);
- $28 = $1;
- _mrb_init_range($28);
- $29 = $1;
- _mrb_gc_arena_restore($29,0);
- $30 = $1;
- _mrb_init_gc($30);
- $31 = $1;
- _mrb_gc_arena_restore($31,0);
- $32 = $1;
- _mrb_init_version($32);
- $33 = $1;
- _mrb_gc_arena_restore($33,0);
- $34 = $1;
- _mrb_init_mrblib($34);
- $35 = $1;
- _mrb_gc_arena_restore($35,0);
- STACKTOP = sp;return;
-}
-function _mrb_obj_inspect($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = ((($2)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- $6 = ($5|0)==(8);
- if ($6) {
-  $7 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  $8 = (_mrb_obj_basic_to_s_p($7,$$byval_copy)|0);
-  $9 = $8&255;
-  $10 = ($9|0)!=(0);
-  if ($10) {
-   $11 = $3;
-   $12 = HEAP32[$2>>2]|0;
-   _mrb_obj_iv_inspect($0,$11,$12);
-   STACKTOP = sp;return;
-  }
- }
- $13 = $3;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_any_to_s($0,$13,$$byval_copy1);
- STACKTOP = sp;return;
-}
-function _mrb_obj_basic_to_s_p($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 8|0;
- $3 = $0;
- $5 = $3;
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $7 = (_mrb_class_984($6,$$byval_copy)|0);
- $8 = $3;
- $9 = (_mrb_intern_static($8,69276,4)|0);
- $10 = (_mrb_method_search($5,$7,$9)|0);
- $4 = $10;
- $11 = $4;
- $12 = HEAP32[$11>>2]|0;
- $13 = $12 >>> 11;
- $14 = $13 & 128;
- $15 = ($14|0)!=(0);
- if ($15) {
-  $16 = $4;
-  $17 = ((($16)) + 12|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = ($18|0)==(282|0);
-  if ($19) {
-   $2 = 1;
-   $20 = $2;
-   STACKTOP = sp;return ($20|0);
-  }
- }
- $2 = 0;
- $20 = $2;
- STACKTOP = sp;return ($20|0);
-}
-function _mrb_class_984($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = ((($1)) + 4|0);
- $5 = HEAP32[$4>>2]|0;
- L1: do {
-  switch ($5|0) {
-  case 0:  {
-   $6 = HEAP32[$1>>2]|0;
-   $7 = ($6|0)!=(0);
-   $8 = $3;
-   if ($7) {
-    $9 = ((($8)) + 72|0);
-    $10 = HEAP32[$9>>2]|0;
-    $2 = $10;
-    break L1;
-   } else {
-    $11 = ((($8)) + 76|0);
-    $12 = HEAP32[$11>>2]|0;
-    $2 = $12;
-    break L1;
-   }
-   break;
-  }
-  case 2:  {
-   $13 = $3;
-   $14 = ((($13)) + 68|0);
-   $15 = HEAP32[$14>>2]|0;
-   $2 = $15;
-   break;
-  }
-  case 4:  {
-   $16 = $3;
-   $17 = ((($16)) + 80|0);
-   $18 = HEAP32[$17>>2]|0;
-   $2 = $18;
-   break;
-  }
-  case 3:  {
-   $19 = $3;
-   $20 = ((($19)) + 64|0);
-   $21 = HEAP32[$20>>2]|0;
-   $2 = $21;
-   break;
-  }
-  case 6:  {
-   $22 = $3;
-   $23 = ((($22)) + 60|0);
-   $24 = HEAP32[$23>>2]|0;
-   $2 = $24;
-   break;
-  }
-  case 7:  {
-   $25 = $3;
-   $26 = ((($25)) + 32|0);
-   $27 = HEAP32[$26>>2]|0;
-   $2 = $27;
-   break;
-  }
-  case 20:  {
-   $2 = 0;
-   break;
-  }
-  default: {
-   $28 = HEAP32[$1>>2]|0;
-   $29 = ((($28)) + 4|0);
-   $30 = HEAP32[$29>>2]|0;
-   $2 = $30;
-  }
-  }
- } while(0);
- $31 = $2;
- STACKTOP = sp;return ($31|0);
-}
-function _mrb_obj_clone($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy3 = sp + 56|0;
- $$byval_copy2 = sp + 48|0;
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $5 = sp + 16|0;
- $6 = sp + 8|0;
- $3 = $1;
- $7 = ((($2)) + 4|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8>>>0)<(8);
- if ($9) {
-  $10 = $3;
-  $11 = $3;
-  $12 = (_mrb_class_get($11,69204)|0);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
-  _mrb_raisef($10,$12,68155,$vararg_buffer);
-  // unreachable;
- }
- $13 = ((($2)) + 4|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ($14|0)==(12);
- $16 = $3;
- if ($15) {
-  $17 = $3;
-  $18 = (_mrb_class_get($17,69204)|0);
-  _mrb_raise($16,$18,68170);
-  // unreachable;
- } else {
-  $19 = ((($2)) + 4|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  $22 = (_mrb_obj_class($21,$$byval_copy)|0);
-  $23 = (_mrb_obj_alloc($16,$20,$22)|0);
-  $4 = $23;
-  $24 = $3;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-  $25 = (_mrb_singleton_class_clone($24,$$byval_copy1)|0);
-  $26 = $4;
-  $27 = ((($26)) + 4|0);
-  HEAP32[$27>>2] = $25;
-  $28 = $4;
-  _mrb_obj_value_991($6,$28);
-  ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
-  $29 = $3;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
-  _init_copy($29,$$byval_copy2,$$byval_copy3);
-  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_singleton_class_clone($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$sink = 0, $$sink2 = 0, $$sink3 = 0, $$sink5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
- var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0;
- var $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0;
- var $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy8 = sp + 64|0;
- $$byval_copy7 = sp + 56|0;
- $$byval_copy6 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $6 = sp + 16|0;
- $7 = sp + 8|0;
- $8 = sp;
- $3 = $0;
- $9 = HEAP32[$1>>2]|0;
- $10 = ((($9)) + 4|0);
- $11 = HEAP32[$10>>2]|0;
- $4 = $11;
- $12 = $4;
- $13 = HEAP32[$12>>2]|0;
- $14 = $13 & 255;
- $15 = ($14|0)!=(12);
- if ($15) {
-  $16 = $4;
-  $2 = $16;
-  $72 = $2;
-  STACKTOP = sp;return ($72|0);
- }
- $17 = $3;
- $18 = $4;
- $19 = HEAP32[$18>>2]|0;
- $20 = $19 & 255;
- $21 = $3;
- $22 = ((($21)) + 36|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = (_mrb_obj_alloc($17,$20,$23)|0);
- $5 = $24;
- $25 = ((($1)) + 4|0);
- $26 = HEAP32[$25>>2]|0;
- $27 = ($26|0)==(9);
- if ($27) {
-  label = 5;
- } else {
-  $28 = ((($1)) + 4|0);
-  $29 = HEAP32[$28>>2]|0;
-  $30 = ($29|0)==(12);
-  if ($30) {
-   label = 5;
-  } else {
-   $33 = $3;
-   $34 = $4;
-   _mrb_obj_value_991($6,$34);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
-   $35 = (_mrb_singleton_class_clone($33,$$byval_copy)|0);
-   $36 = $5;
-   $$sink = $35;$$sink2 = $36;
-  }
- }
- if ((label|0) == 5) {
-  $31 = $5;
-  $32 = $5;
-  $$sink = $31;$$sink2 = $32;
- }
- $37 = ((($$sink2)) + 4|0);
- HEAP32[$37>>2] = $$sink;
- $38 = $4;
- $39 = ((($38)) + 20|0);
- $40 = HEAP32[$39>>2]|0;
- $41 = $5;
- $42 = ((($41)) + 20|0);
- HEAP32[$42>>2] = $40;
- $43 = $4;
- $44 = ((($43)) + 12|0);
- $45 = HEAP32[$44>>2]|0;
- $46 = ($45|0)!=(0|0);
- if ($46) {
-  $47 = $3;
-  $48 = $5;
-  _mrb_obj_value_991($7,$48);
-  $49 = $4;
-  _mrb_obj_value_991($8,$49);
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$7+4>>2]|0;
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$8+4>>2]|0;
-  _mrb_iv_copy($47,$$byval_copy6,$$byval_copy7);
-  $50 = $3;
-  $51 = $5;
-  $52 = $3;
-  $53 = (_mrb_intern_static($52,68237,12)|0);
-  ;HEAP32[$$byval_copy8>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$1+4>>2]|0;
-  _mrb_obj_iv_set($50,$51,$53,$$byval_copy8);
- }
- $54 = $4;
- $55 = ((($54)) + 16|0);
- $56 = HEAP32[$55>>2]|0;
- $57 = ($56|0)!=(0|0);
- $58 = $3;
- if ($57) {
-  $59 = $4;
-  $60 = ((($59)) + 16|0);
-  $61 = HEAP32[$60>>2]|0;
-  $62 = (_kh_copy_mt($58,$61)|0);
-  $63 = $5;
-  $$sink3 = $62;$$sink5 = $63;
- } else {
-  $64 = (_kh_init_mt($58)|0);
-  $65 = $5;
-  $$sink3 = $64;$$sink5 = $65;
- }
- $66 = ((($$sink5)) + 16|0);
- HEAP32[$66>>2] = $$sink3;
- $67 = $5;
- $68 = HEAP32[$67>>2]|0;
- $69 = $68 & -256;
- $70 = $69 | 12;
- HEAP32[$67>>2] = $70;
- $71 = $5;
- $2 = $71;
- $72 = $2;
- STACKTOP = sp;return ($72|0);
-}
-function _mrb_obj_value_991($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _init_copy($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy4 = sp + 56|0;
- $$byval_copy3 = sp + 48|0;
- $$byval_copy2 = sp + 40|0;
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $0;
- $5 = ((($2)) + 4|0);
- $6 = HEAP32[$5>>2]|0;
- switch ($6|0) {
- case 10: case 9:  {
-  $7 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$2+4>>2]|0;
-  _copy_class($7,$$byval_copy,$$byval_copy1);
-  label = 3;
-  break;
- }
- case 18: case 21: case 15: case 12: case 8:  {
-  label = 3;
-  break;
- }
- default: {
- }
- }
- if ((label|0) == 3) {
-  $8 = $3;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0;
-  _mrb_iv_copy($8,$$byval_copy2,$$byval_copy3);
- }
- $9 = $3;
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_funcall($4,$9,$$byval_copy4,69294,1,$vararg_buffer);
- STACKTOP = sp;return;
-}
-function _copy_class($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy1 = sp + 64|0;
- $$byval_copy = sp + 56|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $10 = sp + 8|0;
- $11 = sp;
- $3 = $0;
- $12 = HEAP32[$1>>2]|0;
- $4 = $12;
- $13 = HEAP32[$2>>2]|0;
- $5 = $13;
- $14 = $5;
- $15 = HEAP32[$14>>2]|0;
- $16 = $15 >>> 11;
- $17 = $16 & 524288;
- $18 = ($17|0)!=(0);
- if (!($18)) {
-  $54 = $3;
-  $55 = $5;
-  $56 = ((($55)) + 16|0);
-  $57 = HEAP32[$56>>2]|0;
-  $58 = (_kh_copy_mt($54,$57)|0);
-  $59 = $4;
-  $60 = ((($59)) + 16|0);
-  HEAP32[$60>>2] = $58;
-  $61 = $5;
-  $62 = ((($61)) + 20|0);
-  $63 = HEAP32[$62>>2]|0;
-  $64 = $4;
-  $65 = ((($64)) + 20|0);
-  HEAP32[$65>>2] = $63;
-  STACKTOP = sp;return;
- }
- $19 = $5;
- $20 = ((($19)) + 20|0);
- $21 = HEAP32[$20>>2]|0;
- $6 = $21;
- $22 = $4;
- $7 = $22;
- while(1) {
-  $23 = $6;
-  $24 = HEAP32[$23>>2]|0;
-  $25 = $24 >>> 11;
-  $26 = $25 & 1048576;
-  $27 = ($26|0)!=(0);
-  $28 = $27 ^ 1;
-  $29 = $3;
-  $30 = $6;
-  if (!($28)) {
-   break;
-  }
-  _mrb_obj_value_991($8,$30);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$8+4>>2]|0;
-  _mrb_obj_dup($9,$29,$$byval_copy);
-  $31 = HEAP32[$9>>2]|0;
-  $32 = $7;
-  $33 = ((($32)) + 20|0);
-  HEAP32[$33>>2] = $31;
-  $34 = $7;
-  $35 = ((($34)) + 20|0);
-  $36 = HEAP32[$35>>2]|0;
-  $7 = $36;
-  $37 = $6;
-  $38 = ((($37)) + 20|0);
-  $39 = HEAP32[$38>>2]|0;
-  $6 = $39;
- }
- _mrb_obj_value_991($10,$30);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_obj_dup($11,$29,$$byval_copy1);
- $40 = HEAP32[$11>>2]|0;
- $41 = $7;
- $42 = ((($41)) + 20|0);
- HEAP32[$42>>2] = $40;
- $43 = $7;
- $44 = ((($43)) + 20|0);
- $45 = HEAP32[$44>>2]|0;
- $46 = HEAP32[$45>>2]|0;
- $47 = $46 >>> 11;
- $48 = $47 | 1048576;
- $49 = HEAP32[$45>>2]|0;
- $50 = $48 & 2097151;
- $51 = $50 << 11;
- $52 = $49 & 2047;
- $53 = $52 | $51;
- HEAP32[$45>>2] = $53;
- $54 = $3;
- $55 = $5;
- $56 = ((($55)) + 16|0);
- $57 = HEAP32[$56>>2]|0;
- $58 = (_kh_copy_mt($54,$57)|0);
- $59 = $4;
- $60 = ((($59)) + 16|0);
- HEAP32[$60>>2] = $58;
- $61 = $5;
- $62 = ((($61)) + 20|0);
- $63 = HEAP32[$62>>2]|0;
- $64 = $4;
- $65 = ((($64)) + 20|0);
- HEAP32[$65>>2] = $63;
- STACKTOP = sp;return;
-}
-function _mrb_obj_dup($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $3 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy2 = sp + 48|0;
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $5 = sp + 16|0;
- $6 = sp + 8|0;
- $3 = $1;
- $7 = ((($2)) + 4|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8>>>0)<(8);
- if ($9) {
-  $10 = $3;
-  $11 = $3;
-  $12 = (_mrb_class_get($11,69204)|0);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
-  _mrb_raisef($10,$12,68198,$vararg_buffer);
-  // unreachable;
- }
- $13 = ((($2)) + 4|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ($14|0)==(12);
- $16 = $3;
- if ($15) {
-  $17 = $3;
-  $18 = (_mrb_class_get($17,69204)|0);
-  _mrb_raise($16,$18,68211);
-  // unreachable;
- } else {
-  $19 = ((($2)) + 4|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = $3;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
-  $22 = (_mrb_obj_class($21,$$byval_copy)|0);
-  $23 = (_mrb_obj_alloc($16,$20,$22)|0);
-  $4 = $23;
-  $24 = $4;
-  _mrb_obj_value_991($6,$24);
-  ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
-  $25 = $3;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$5+4>>2]|0;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
-  _init_copy($25,$$byval_copy1,$$byval_copy2);
-  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_obj_hash($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $4 = (_mrb_obj_id($$byval_copy)|0);
- _mrb_fixnum_value_996($0,$4);
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_value_996($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_obj_is_instance_of($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 8|0;
- $4 = $0;
- $5 = $2;
- $6 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $7 = (_mrb_obj_class($6,$$byval_copy)|0);
- $8 = $5;
- $9 = ($7|0)==($8|0);
- if ($9) {
-  $3 = 1;
-  $10 = $3;
-  STACKTOP = sp;return ($10|0);
- } else {
-  $3 = 0;
-  $10 = $3;
-  STACKTOP = sp;return ($10|0);
- }
- return (0)|0;
-}
-function _kh_alloc_st($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $7 = $3;
- $8 = HEAP32[$7>>2]|0;
- $4 = $8;
- $5 = 4;
- $9 = $2;
- $10 = $4;
- $11 = $10;
- $12 = (($11>>>0) / 4)&-1;
- $13 = $5;
- $14 = $4;
- $15 = Math_imul($13, $14)|0;
- $16 = (($12) + ($15))|0;
- $17 = (_mrb_malloc($9,$16)|0);
- $6 = $17;
- $18 = $3;
- $19 = ((($18)) + 8|0);
- HEAP32[$19>>2] = 0;
- $20 = $3;
- $21 = ((($20)) + 4|0);
- HEAP32[$21>>2] = 0;
- $22 = $6;
- $23 = $3;
- $24 = ((($23)) + 16|0);
- HEAP32[$24>>2] = $22;
- $25 = $3;
- $26 = ((($25)) + 20|0);
- HEAP32[$26>>2] = 0;
- $27 = $6;
- $28 = $5;
- $29 = $4;
- $30 = Math_imul($28, $29)|0;
- $31 = (($27) + ($30)|0);
- $32 = $3;
- $33 = ((($32)) + 12|0);
- HEAP32[$33>>2] = $31;
- $34 = $3;
- $35 = ((($34)) + 12|0);
- $36 = HEAP32[$35>>2]|0;
- $37 = $4;
- $38 = (($37>>>0) / 4)&-1;
- _kh_fill_flags_997($36,-86,$38);
- STACKTOP = sp;return;
-}
-function _kh_fill_flags_997($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- while(1) {
-  $6 = $5;
-  $7 = (($6) + -1)|0;
-  $5 = $7;
-  $8 = ($6>>>0)>(0);
-  if (!($8)) {
-   break;
-  }
-  $9 = $4;
-  $10 = $3;
-  $11 = ((($10)) + 1|0);
-  $3 = $11;
-  HEAP8[$10>>0] = $9;
- }
- STACKTOP = sp;return;
-}
-function _kh_init_st_size($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = (_mrb_calloc($5,1,24)|0);
- $4 = $6;
- $7 = $3;
- $8 = ($7>>>0)<(8);
- if ($8) {
-  $3 = 8;
- }
- $9 = $3;
- $10 = (($9) + -1)|0;
- $3 = $10;
- $11 = $3;
- $12 = $11 >>> 1;
- $13 = $3;
- $14 = $13 | $12;
- $3 = $14;
- $15 = $3;
- $16 = $15 >>> 2;
- $17 = $3;
- $18 = $17 | $16;
- $3 = $18;
- $19 = $3;
- $20 = $19 >>> 4;
- $21 = $3;
- $22 = $21 | $20;
- $3 = $22;
- $23 = $3;
- $24 = $23 >>> 8;
- $25 = $3;
- $26 = $25 | $24;
- $3 = $26;
- $27 = $3;
- $28 = $27 >>> 16;
- $29 = $3;
- $30 = $29 | $28;
- $3 = $30;
- $31 = $3;
- $32 = (($31) + 1)|0;
- $3 = $32;
- $33 = $3;
- $34 = $4;
- HEAP32[$34>>2] = $33;
- $35 = $2;
- $36 = $4;
- _kh_alloc_st($35,$36);
- $37 = $4;
- STACKTOP = sp;return ($37|0);
-}
-function _kh_init_st($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = (_kh_init_st_size($2,8)|0);
- STACKTOP = sp;return ($3|0);
-}
-function _kh_destroy_st($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $2;
- $7 = $3;
- $8 = ((($7)) + 16|0);
- $9 = HEAP32[$8>>2]|0;
- _mrb_free($6,$9);
- $10 = $2;
- $11 = $3;
- _mrb_free($10,$11);
- STACKTOP = sp;return;
-}
-function _kh_resize_st($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $6 = sp + 24|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $13 = $5;
- $14 = ($13>>>0)<(8);
- $$ = $14 ? 8 : $2;
- $5 = $$;
- $15 = $5;
- $16 = (($15) + -1)|0;
- $5 = $16;
- $17 = $5;
- $18 = $17 >>> 1;
- $19 = $5;
- $20 = $19 | $18;
- $5 = $20;
- $21 = $5;
- $22 = $21 >>> 2;
- $23 = $5;
- $24 = $23 | $22;
- $5 = $24;
- $25 = $5;
- $26 = $25 >>> 4;
- $27 = $5;
- $28 = $27 | $26;
- $5 = $28;
- $29 = $5;
- $30 = $29 >>> 8;
- $31 = $5;
- $32 = $31 | $30;
- $5 = $32;
- $33 = $5;
- $34 = $33 >>> 16;
- $35 = $5;
- $36 = $35 | $34;
- $5 = $36;
- $37 = $5;
- $38 = (($37) + 1)|0;
- $5 = $38;
- $39 = $4;
- $40 = ((($39)) + 12|0);
- $41 = HEAP32[$40>>2]|0;
- $7 = $41;
- $42 = $4;
- $43 = ((($42)) + 16|0);
- $44 = HEAP32[$43>>2]|0;
- $8 = $44;
- $45 = $4;
- $46 = ((($45)) + 20|0);
- $47 = HEAP32[$46>>2]|0;
- $9 = $47;
- $48 = $4;
- $49 = HEAP32[$48>>2]|0;
- $10 = $49;
- $50 = $5;
- HEAP32[$6>>2] = $50;
- $51 = $3;
- _kh_alloc_st($51,$6);
- $11 = 0;
- while(1) {
-  $52 = $11;
-  $53 = $10;
-  $54 = ($52>>>0)<($53>>>0);
-  if (!($54)) {
-   break;
-  }
-  $55 = $7;
-  $56 = $11;
-  $57 = (($56>>>0) / 4)&-1;
-  $58 = (($55) + ($57)|0);
-  $59 = HEAP8[$58>>0]|0;
-  $60 = $59&255;
-  $61 = $11;
-  $62 = (($61>>>0) % 4)&-1;
-  $63 = (68258 + ($62)|0);
-  $64 = HEAP8[$63>>0]|0;
-  $65 = $64&255;
-  $66 = $60 & $65;
-  $67 = ($66|0)!=(0);
-  if (!($67)) {
-   $68 = $3;
-   $69 = $8;
-   $70 = $11;
-   $71 = (($69) + ($70<<2)|0);
-   $72 = HEAP32[$71>>2]|0;
-   $73 = (_kh_put_st($68,$6,$72,0)|0);
-   $12 = $73;
-  }
-  $74 = $11;
-  $75 = (($74) + 1)|0;
-  $11 = $75;
- }
- $76 = $4;
- ;HEAP32[$76>>2]=HEAP32[$6>>2]|0;HEAP32[$76+4>>2]=HEAP32[$6+4>>2]|0;HEAP32[$76+8>>2]=HEAP32[$6+8>>2]|0;HEAP32[$76+12>>2]=HEAP32[$6+12>>2]|0;HEAP32[$76+16>>2]=HEAP32[$6+16>>2]|0;HEAP32[$76+20>>2]=HEAP32[$6+20>>2]|0;
- $77 = $3;
- $78 = $8;
- _mrb_free($77,$78);
- STACKTOP = sp;return;
-}
-function _kh_put_st($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $11 = 0;
- $12 = $6;
- $13 = ((($12)) + 8|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = $6;
- $16 = HEAP32[$15>>2]|0;
- $17 = $16 >>> 2;
- $18 = $6;
- $19 = HEAP32[$18>>2]|0;
- $20 = $19 >>> 1;
- $21 = $17 | $20;
- $22 = ($14>>>0)>=($21>>>0);
- if ($22) {
-  $23 = $5;
-  $24 = $6;
-  $25 = $6;
-  $26 = HEAP32[$25>>2]|0;
-  $27 = $26<<1;
-  _kh_resize_st($23,$24,$27);
- }
- $28 = $7;
- $29 = $7;
- $30 = $29 << 2;
- $31 = $28 ^ $30;
- $32 = $7;
- $33 = $32 >>> 2;
- $34 = $31 ^ $33;
- $35 = $6;
- $36 = HEAP32[$35>>2]|0;
- $37 = (($36) - 1)|0;
- $38 = $34 & $37;
- $9 = $38;
- $39 = $6;
- $40 = HEAP32[$39>>2]|0;
- $10 = $40;
- while(1) {
-  $41 = $6;
-  $42 = ((($41)) + 12|0);
-  $43 = HEAP32[$42>>2]|0;
-  $44 = $9;
-  $45 = (($44>>>0) / 4)&-1;
-  $46 = (($43) + ($45)|0);
-  $47 = HEAP8[$46>>0]|0;
-  $48 = $47&255;
-  $49 = $9;
-  $50 = (($49>>>0) % 4)&-1;
-  $51 = (68250 + ($50)|0);
-  $52 = HEAP8[$51>>0]|0;
-  $53 = $52&255;
-  $54 = $48 & $53;
-  $55 = ($54|0)!=(0);
-  $56 = $55 ^ 1;
-  if (!($56)) {
-   break;
-  }
-  $57 = $6;
-  $58 = ((($57)) + 12|0);
-  $59 = HEAP32[$58>>2]|0;
-  $60 = $9;
-  $61 = (($60>>>0) / 4)&-1;
-  $62 = (($59) + ($61)|0);
-  $63 = HEAP8[$62>>0]|0;
-  $64 = $63&255;
-  $65 = $9;
-  $66 = (($65>>>0) % 4)&-1;
-  $67 = (68254 + ($66)|0);
-  $68 = HEAP8[$67>>0]|0;
-  $69 = $68&255;
-  $70 = $64 & $69;
-  $71 = ($70|0)!=(0);
-  if ($71) {
-   $84 = $10;
-   $85 = $6;
-   $86 = HEAP32[$85>>2]|0;
-   $87 = ($84|0)==($86|0);
-   if ($87) {
-    $88 = $9;
-    $10 = $88;
-   }
-  } else {
-   $72 = $6;
-   $73 = ((($72)) + 16|0);
-   $74 = HEAP32[$73>>2]|0;
-   $75 = $9;
-   $76 = (($74) + ($75<<2)|0);
-   $77 = HEAP32[$76>>2]|0;
-   $78 = $7;
-   $79 = ($77|0)==($78|0);
-   if ($79) {
-    label = 7;
-    break;
-   }
-  }
-  $89 = $9;
-  $90 = $11;
-  $91 = (($90) + 1)|0;
-  $11 = $91;
-  $92 = (($89) + ($91))|0;
-  $93 = $6;
-  $94 = HEAP32[$93>>2]|0;
-  $95 = (($94) - 1)|0;
-  $96 = $92 & $95;
-  $9 = $96;
- }
- if ((label|0) == 7) {
-  $80 = $8;
-  $81 = ($80|0)!=(0|0);
-  if ($81) {
-   $82 = $8;
-   HEAP32[$82>>2] = 0;
-  }
-  $83 = $9;
-  $4 = $83;
-  $161 = $4;
-  STACKTOP = sp;return ($161|0);
- }
- $97 = $10;
- $98 = $6;
- $99 = HEAP32[$98>>2]|0;
- $100 = ($97|0)!=($99|0);
- $101 = $7;
- $102 = $6;
- $103 = ((($102)) + 16|0);
- $104 = HEAP32[$103>>2]|0;
- if ($100) {
-  $105 = $10;
-  $106 = (($104) + ($105<<2)|0);
-  HEAP32[$106>>2] = $101;
-  $107 = $10;
-  $108 = (($107>>>0) % 4)&-1;
-  $109 = (68254 + ($108)|0);
-  $110 = HEAP8[$109>>0]|0;
-  $111 = $110&255;
-  $112 = $111 ^ -1;
-  $113 = $6;
-  $114 = ((($113)) + 12|0);
-  $115 = HEAP32[$114>>2]|0;
-  $116 = $10;
-  $117 = (($116>>>0) / 4)&-1;
-  $118 = (($115) + ($117)|0);
-  $119 = HEAP8[$118>>0]|0;
-  $120 = $119&255;
-  $121 = $120 & $112;
-  $122 = $121&255;
-  HEAP8[$118>>0] = $122;
-  $123 = $6;
-  $124 = ((($123)) + 4|0);
-  $125 = HEAP32[$124>>2]|0;
-  $126 = (($125) + 1)|0;
-  HEAP32[$124>>2] = $126;
-  $127 = $8;
-  $128 = ($127|0)!=(0|0);
-  if ($128) {
-   $129 = $8;
-   HEAP32[$129>>2] = 2;
-  }
-  $130 = $10;
-  $4 = $130;
-  $161 = $4;
-  STACKTOP = sp;return ($161|0);
- } else {
-  $131 = $9;
-  $132 = (($104) + ($131<<2)|0);
-  HEAP32[$132>>2] = $101;
-  $133 = $9;
-  $134 = (($133>>>0) % 4)&-1;
-  $135 = (68250 + ($134)|0);
-  $136 = HEAP8[$135>>0]|0;
-  $137 = $136&255;
-  $138 = $137 ^ -1;
-  $139 = $6;
-  $140 = ((($139)) + 12|0);
-  $141 = HEAP32[$140>>2]|0;
-  $142 = $9;
-  $143 = (($142>>>0) / 4)&-1;
-  $144 = (($141) + ($143)|0);
-  $145 = HEAP8[$144>>0]|0;
-  $146 = $145&255;
-  $147 = $146 & $138;
-  $148 = $147&255;
-  HEAP8[$144>>0] = $148;
-  $149 = $6;
-  $150 = ((($149)) + 4|0);
-  $151 = HEAP32[$150>>2]|0;
-  $152 = (($151) + 1)|0;
-  HEAP32[$150>>2] = $152;
-  $153 = $6;
-  $154 = ((($153)) + 8|0);
-  $155 = HEAP32[$154>>2]|0;
-  $156 = (($155) + 1)|0;
-  HEAP32[$154>>2] = $156;
-  $157 = $8;
-  $158 = ($157|0)!=(0|0);
-  if ($158) {
-   $159 = $8;
-   HEAP32[$159>>2] = 1;
-  }
-  $160 = $9;
-  $4 = $160;
-  $161 = $4;
-  STACKTOP = sp;return ($161|0);
- }
- return (0)|0;
-}
-function _mrb_class_instance_method_list($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
- var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy4 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $10 = sp + 24|0;
- $14 = sp + 8|0;
- $15 = sp;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $11 = 0;
- $16 = $5;
- $17 = (_kh_init_st($16)|0);
- $13 = $17;
- $18 = $6;
- $19 = ($18<<24>>24)!=(0);
- if (!($19)) {
-  $20 = $7;
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $21 >>> 11;
-  $23 = $22 & 524288;
-  $24 = ($23|0)!=(0);
-  if ($24) {
-   $25 = $7;
-   $26 = HEAP32[$25>>2]|0;
-   $27 = $26 >>> 11;
-   $28 = $27 & 524288;
-   $29 = ($28|0)!=(0);
-   L4: do {
-    if ($29) {
-     $30 = $7;
-     $31 = ((($30)) + 20|0);
-     $32 = HEAP32[$31>>2]|0;
-     $7 = $32;
-     while(1) {
-      $33 = $7;
-      $34 = HEAP32[$33>>2]|0;
-      $35 = $34 >>> 11;
-      $36 = $35 & 1048576;
-      $37 = ($36|0)!=(0);
-      $38 = $37 ^ 1;
-      if (!($38)) {
-       break L4;
-      }
-      $39 = $7;
-      $40 = ((($39)) + 20|0);
-      $41 = HEAP32[$40>>2]|0;
-      $7 = $41;
-     }
-    }
-   } while(0);
-   $11 = 1;
-  }
- }
- $12 = 0;
- while(1) {
-  $42 = $7;
-  $43 = ($42|0)!=(0|0);
-  if (!($43)) {
-   break;
-  }
-  $44 = $7;
-  $45 = $12;
-  $46 = ($44|0)!=($45|0);
-  if (!($46)) {
-   break;
-  }
-  $47 = $5;
-  $48 = $7;
-  $49 = $13;
-  _method_entry_loop($47,$48,$49);
-  $50 = $7;
-  $51 = HEAP32[$50>>2]|0;
-  $52 = $51 & 255;
-  $53 = ($52|0)!=(11);
-  $54 = $11;
-  $55 = ($54<<24>>24)!=(0);
-  $or$cond = $53 | $55;
-  if ($or$cond) {
-   $56 = $7;
-   $57 = HEAP32[$56>>2]|0;
-   $58 = $57 & 255;
-   $59 = ($58|0)==(12);
-   $60 = $6;
-   $61 = ($60<<24>>24)!=(0);
-   $or$cond3 = $59 | $61;
-   if (!($or$cond3)) {
-    break;
-   }
-  }
-  $62 = $7;
-  $12 = $62;
-  $63 = $7;
-  $64 = ((($63)) + 20|0);
-  $65 = HEAP32[$64>>2]|0;
-  $7 = $65;
- }
- $66 = $5;
- _mrb_ary_new($14,$66);
- ;HEAP32[$10>>2]=HEAP32[$14>>2]|0;HEAP32[$10+4>>2]=HEAP32[$14+4>>2]|0;
- $9 = 0;
- while(1) {
-  $67 = $9;
-  $68 = $13;
-  $69 = HEAP32[$68>>2]|0;
-  $70 = ($67>>>0)<($69>>>0);
-  if (!($70)) {
-   break;
-  }
-  $71 = $13;
-  $72 = ((($71)) + 12|0);
-  $73 = HEAP32[$72>>2]|0;
-  $74 = $9;
-  $75 = (($74>>>0) / 4)&-1;
-  $76 = (($73) + ($75)|0);
-  $77 = HEAP8[$76>>0]|0;
-  $78 = $77&255;
-  $79 = $9;
-  $80 = (($79>>>0) % 4)&-1;
-  $81 = (68258 + ($80)|0);
-  $82 = HEAP8[$81>>0]|0;
-  $83 = $82&255;
-  $84 = $78 & $83;
-  $85 = ($84|0)!=(0);
-  if (!($85)) {
-   $86 = $5;
-   $87 = $13;
-   $88 = ((($87)) + 16|0);
-   $89 = HEAP32[$88>>2]|0;
-   $90 = $9;
-   $91 = (($89) + ($90<<2)|0);
-   $92 = HEAP32[$91>>2]|0;
-   _mrb_symbol_value_1003($15,$92);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$10+4>>2]|0;
-   ;HEAP32[$$byval_copy4>>2]=HEAP32[$15>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$15+4>>2]|0;
-   _mrb_ary_push($86,$$byval_copy,$$byval_copy4);
-  }
-  $93 = $9;
-  $94 = (($93) + 1)|0;
-  $9 = $94;
- }
- $95 = $5;
- $96 = $13;
- _kh_destroy_st($95,$96);
- ;HEAP32[$0>>2]=HEAP32[$10>>2]|0;HEAP32[$0+4>>2]=HEAP32[$10+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _method_entry_loop($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $8 = $4;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $7 = $10;
- $11 = $7;
- $12 = ($11|0)!=(0|0);
- if (!($12)) {
-  STACKTOP = sp;return;
- }
- $6 = 0;
- while(1) {
-  $13 = $6;
-  $14 = $7;
-  $15 = HEAP32[$14>>2]|0;
-  $16 = ($13>>>0)<($15>>>0);
-  if (!($16)) {
-   break;
-  }
-  $17 = $7;
-  $18 = ((($17)) + 12|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $6;
-  $21 = (($20>>>0) / 4)&-1;
-  $22 = (($19) + ($21)|0);
-  $23 = HEAP8[$22>>0]|0;
-  $24 = $23&255;
-  $25 = $6;
-  $26 = (($25>>>0) % 4)&-1;
-  $27 = (68258 + ($26)|0);
-  $28 = HEAP8[$27>>0]|0;
-  $29 = $28&255;
-  $30 = $24 & $29;
-  $31 = ($30|0)!=(0);
-  if (!($31)) {
-   $32 = $7;
-   $33 = ((($32)) + 20|0);
-   $34 = HEAP32[$33>>2]|0;
-   $35 = $6;
-   $36 = (($34) + ($35<<2)|0);
-   $37 = HEAP32[$36>>2]|0;
-   $38 = ($37|0)!=(0|0);
-   if ($38) {
-    $39 = $3;
-    $40 = $5;
-    $41 = $7;
-    $42 = ((($41)) + 16|0);
-    $43 = HEAP32[$42>>2]|0;
-    $44 = $6;
-    $45 = (($43) + ($44<<2)|0);
-    $46 = HEAP32[$45>>2]|0;
-    (_kh_put_st($39,$40,$46,0)|0);
-   }
-  }
-  $47 = $6;
-  $48 = (($47) + 1)|0;
-  $6 = $48;
- }
- STACKTOP = sp;return;
-}
-function _mrb_symbol_value_1003($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 4;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_f_raise($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy3 = sp + 96|0;
- $$byval_copy2 = sp + 88|0;
- $$byval_copy = sp + 80|0;
- $vararg_buffer = sp;
- $4 = sp + 56|0;
- $5 = sp + 48|0;
- $7 = sp + 32|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $10 = sp + 8|0;
- $3 = $1;
- $11 = $3;
- $12 = ((($4)) + 8|0);
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $12;
- $13 = (_mrb_get_args($11,68262,$vararg_buffer)|0);
- $6 = $13;
- $14 = $6;
- switch ($14|0) {
- case 0:  {
-  $15 = $3;
-  $16 = $3;
-  $17 = (_mrb_class_get($16,68266)|0);
-  _mrb_raise($15,$17,75764);
-  // unreachable;
-  break;
- }
- case 1:  {
-  label = 3;
-  break;
- }
- default: {
- }
- }
- do {
-  if ((label|0) == 3) {
-   $18 = ((($4)) + 8|0);
-   $19 = $3;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-   _mrb_check_string_type($7,$19,$$byval_copy);
-   ;HEAP32[$18>>2]=HEAP32[$7>>2]|0;HEAP32[$18+4>>2]=HEAP32[$7+4>>2]|0;
-   $20 = ((($4)) + 8|0);
-   $21 = ((($20)) + 4|0);
-   $22 = HEAP32[$21>>2]|0;
-   $23 = ($22|0)==(0);
-   if ($23) {
-    $24 = ((($4)) + 8|0);
-    $25 = HEAP32[$24>>2]|0;
-    $26 = ($25|0)!=(0);
-    if (!($26)) {
-     break;
-    }
-   }
-   $6 = 2;
-   $27 = $3;
-   $28 = (_mrb_class_get($27,68266)|0);
-   _mrb_obj_value_991($8,$28);
-   ;HEAP32[$4>>2]=HEAP32[$8>>2]|0;HEAP32[$4+4>>2]=HEAP32[$8+4>>2]|0;
-  }
- } while(0);
- $29 = $3;
- $30 = $6;
- _mrb_make_exception($9,$29,$30,$4);
- ;HEAP32[$5>>2]=HEAP32[$9>>2]|0;HEAP32[$5+4>>2]=HEAP32[$9+4>>2]|0;
- $31 = $3;
- $32 = HEAP32[$5>>2]|0;
- $33 = $3;
- $34 = (_mrb_intern_static($33,68279,6)|0);
- $35 = $3;
- $36 = $3;
- $37 = ((($36)) + 12|0);
- $38 = HEAP32[$37>>2]|0;
- $39 = ((($38)) + 16|0);
- $40 = HEAP32[$39>>2]|0;
- $41 = ((($40)) + 28|0);
- $42 = HEAP32[$41>>2]|0;
- _mrb_cptr_value_1008($10,$35,$42);
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$10+4>>2]|0;
- _mrb_obj_iv_set($31,$32,$34,$$byval_copy2);
- $43 = $3;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_exc_raise($43,$$byval_copy3);
- // unreachable;
-}
-function _mrb_cptr_value_1008($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $5 = sp;
- $3 = $1;
- $4 = $2;
- $6 = ((($5)) + 4|0);
- HEAP32[$6>>2] = 7;
- $7 = $4;
- HEAP32[$5>>2] = $7;
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_init_kernel($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $12 = 0, $13 = 0, $14 = 0;
- var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
- var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
- var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
- var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
- var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = (_mrb_define_module($3,69662)|0);
- $2 = $4;
- $5 = $1;
- $6 = ((($5)) + 84|0);
- HEAP32[$6>>2] = $4;
- $7 = $1;
- $8 = $2;
- _mrb_define_class_method($7,$8,68286,283,0);
- $9 = $1;
- $10 = $2;
- _mrb_define_class_method($9,$10,68299,284,0);
- $11 = $1;
- $12 = $2;
- _mrb_define_class_method($11,$12,68316,283,0);
- $13 = $1;
- $14 = $2;
- _mrb_define_class_method($13,$14,68326,285,0);
- $15 = $1;
- $16 = $2;
- _mrb_define_class_method($15,$16,68342,286,16384);
- $17 = $1;
- $18 = $2;
- _mrb_define_method($17,$18,68348,199,0);
- $19 = $1;
- $20 = $2;
- _mrb_define_method($19,$20,69201,287,262144);
- $21 = $1;
- $22 = $2;
- _mrb_define_method($21,$22,68364,288,262144);
- $23 = $1;
- $24 = $2;
- _mrb_define_method($23,$24,69591,289,262144);
- $25 = $1;
- $26 = $2;
- _mrb_define_method($25,$26,68367,290,0);
- $27 = $1;
- $28 = $2;
- _mrb_define_method($27,$28,68374,291,4096);
- $29 = $1;
- $30 = $2;
- _mrb_define_method($29,$30,68286,283,0);
- $31 = $1;
- $32 = $2;
- _mrb_define_method($31,$32,68383,292,0);
- $33 = $1;
- $34 = $2;
- _mrb_define_method($33,$34,68389,293,0);
- $35 = $1;
- $36 = $2;
- _mrb_define_method($35,$36,68395,294,0);
- $37 = $1;
- $38 = $2;
- _mrb_define_method($37,$38,69289,287,262144);
- $39 = $1;
- $40 = $2;
- _mrb_define_method($39,$40,68399,287,262144);
- $41 = $1;
- $42 = $2;
- _mrb_define_method($41,$42,68406,295,4096);
- $43 = $1;
- $44 = $2;
- _mrb_define_method($43,$44,68299,284,0);
- $45 = $1;
- $46 = $2;
- _mrb_define_method($45,$46,68413,296,0);
- $47 = $1;
- $48 = $2;
- _mrb_define_method($47,$48,69294,297,262144);
- $49 = $1;
- $50 = $2;
- _mrb_define_method($49,$50,69281,298,0);
- $51 = $1;
- $52 = $2;
- _mrb_define_method($51,$52,68418,299,4096);
- $53 = $1;
- $54 = $2;
- _mrb_define_method($53,$54,68432,300,262144);
- $55 = $1;
- $56 = $2;
- _mrb_define_method($55,$56,68445,301,262144);
- $57 = $1;
- $58 = $2;
- _mrb_define_method($57,$58,68472,302,262144);
- $59 = $1;
- $60 = $2;
- _mrb_define_method($59,$60,68494,303,524288);
- $61 = $1;
- $62 = $2;
- _mrb_define_method($61,$62,68516,304,0);
- $63 = $1;
- $64 = $2;
- _mrb_define_method($63,$64,68535,305,262144);
- $65 = $1;
- $66 = $2;
- _mrb_define_method($65,$66,68316,283,0);
- $67 = $1;
- $68 = $2;
- _mrb_define_method($67,$68,68541,305,262144);
- $69 = $1;
- $70 = $2;
- _mrb_define_method($69,$70,68326,285,0);
- $71 = $1;
- $72 = $2;
- _mrb_define_method($71,$72,68550,306,8192);
- $73 = $1;
- $74 = $2;
- _mrb_define_method($73,$74,68558,307,0);
- $75 = $1;
- $76 = $2;
- _mrb_define_method($75,$76,68563,290,0);
- $77 = $1;
- $78 = $2;
- _mrb_define_method($77,$78,68573,308,8192);
- $79 = $1;
- $80 = $2;
- _mrb_define_method($79,$80,68589,309,8192);
- $81 = $1;
- $82 = $2;
- _mrb_define_method($81,$82,68607,310,8192);
- $83 = $1;
- $84 = $2;
- _mrb_define_method($83,$84,68342,286,4096);
- $85 = $1;
- $86 = $2;
- _mrb_define_method($85,$86,68622,311,262144);
- $87 = $1;
- $88 = $2;
- _mrb_define_method($87,$88,68647,312,4096);
- $89 = $1;
- $90 = $2;
- _mrb_define_method($89,$90,68659,291,4096);
- $91 = $1;
- $92 = $2;
- _mrb_define_method($91,$92,68664,313,8192);
- $93 = $1;
- $94 = $2;
- _mrb_define_method($93,$94,68682,314,4096);
- $95 = $1;
- $96 = $2;
- _mrb_define_method($95,$96,69276,282,0);
- $97 = $1;
- $98 = $2;
- _mrb_define_method($97,$98,69580,315,262144);
- $99 = $1;
- $100 = $1;
- $101 = ((($100)) + 32|0);
- $102 = HEAP32[$101>>2]|0;
- $103 = $1;
- $104 = ((($103)) + 84|0);
- $105 = HEAP32[$104>>2]|0;
- _mrb_include_module($99,$102,$105);
- $106 = $1;
- $107 = $1;
- $108 = ((($107)) + 40|0);
- $109 = HEAP32[$108>>2]|0;
- $110 = $1;
- $111 = (_mrb_intern_static($110,68395,3)|0);
- $112 = $1;
- $113 = (_mrb_intern_static($112,68389,5)|0);
- _mrb_alias_method($106,$109,$111,$113);
- STACKTOP = sp;return;
-}
-function _mrb_f_block_given_p_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
- var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $1;
- $9 = $3;
- $10 = ((($9)) + 12|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ((($11)) + 16|0);
- $13 = HEAP32[$12>>2]|0;
- $4 = $13;
- $14 = $4;
- $15 = ((($14)) + 8|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = ((($16)) + 8|0);
- $5 = $17;
- $18 = $4;
- $19 = ((($18)) + -48|0);
- $4 = $19;
- $20 = $4;
- $21 = $3;
- $22 = ((($21)) + 12|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = ((($23)) + 20|0);
- $25 = HEAP32[$24>>2]|0;
- $26 = ($20>>>0)<=($25>>>0);
- if ($26) {
-  $6 = 0;
- } else {
-  $27 = $4;
-  $28 = ((($27)) + 4|0);
-  $29 = HEAP32[$28>>2]|0;
-  $30 = ((($29)) + 20|0);
-  $31 = HEAP32[$30>>2]|0;
-  $32 = ($31|0)!=(0|0);
-  do {
-   if ($32) {
-    $33 = $4;
-    $34 = ((($33)) + 4|0);
-    $35 = HEAP32[$34>>2]|0;
-    $36 = ((($35)) + 20|0);
-    $37 = HEAP32[$36>>2]|0;
-    $7 = $37;
-    while(1) {
-     $38 = $7;
-     $39 = ((($38)) + 4|0);
-     $40 = HEAP32[$39>>2]|0;
-     $41 = ($40|0)!=(0|0);
-     $42 = $7;
-     if (!($41)) {
-      break;
-     }
-     $43 = ((($42)) + 4|0);
-     $44 = HEAP32[$43>>2]|0;
-     $7 = $44;
-    }
-    $45 = ((($42)) + 12|0);
-    $46 = HEAP32[$45>>2]|0;
-    $8 = $46;
-    $47 = $8;
-    $48 = ($47|0)!=(0|0);
-    if ($48) {
-     $49 = $8;
-     $50 = $3;
-     $51 = ((($50)) + 12|0);
-     $52 = HEAP32[$51>>2]|0;
-     $53 = ((($52)) + 8|0);
-     $54 = HEAP32[$53>>2]|0;
-     $55 = ($49|0)==($54|0);
-     if (!($55)) {
-      $56 = $3;
-      $57 = ((($56)) + 12|0);
-      $58 = HEAP32[$57>>2]|0;
-      $59 = ((($58)) + 20|0);
-      $60 = HEAP32[$59>>2]|0;
-      $61 = $7;
-      $62 = ((($61)) + 20|0);
-      $63 = HEAP32[$62>>2]|0;
-      $64 = (($60) + (($63*48)|0)|0);
-      $4 = $64;
-      $65 = $4;
-      $66 = ((($65)) + 48|0);
-      $67 = ((($66)) + 8|0);
-      $68 = HEAP32[$67>>2]|0;
-      $69 = ((($68)) + 8|0);
-      $5 = $69;
-      break;
-     }
-     _mrb_false_value_1053($0);
-     STACKTOP = sp;return;
-    }
-   }
-  } while(0);
-  $70 = $4;
-  $71 = ((($70)) + 36|0);
-  $72 = HEAP32[$71>>2]|0;
-  $73 = ($72|0)>(0);
-  if ($73) {
-   $74 = $4;
-   $75 = ((($74)) + 36|0);
-   $76 = HEAP32[$75>>2]|0;
-   $77 = $5;
-   $78 = (($77) + ($76<<3)|0);
-   $5 = $78;
-  }
-  $79 = $5;
-  $80 = ((($79)) + 4|0);
-  $81 = HEAP32[$80>>2]|0;
-  $82 = ($81|0)==(0);
-  if ($82) {
-   $83 = $5;
-   $84 = HEAP32[$83>>2]|0;
-   $85 = ($84|0)!=(0);
-   $86 = $85 ^ 1;
-   $88 = $86;
-  } else {
-   $88 = 0;
-  }
-  $87 = $88 ^ 1;
-  $89 = $87&1;
-  $90 = $89&255;
-  $6 = $90;
- }
- $91 = $6;
- _mrb_bool_value_1062($0,$91);
- STACKTOP = sp;return;
-}
-function _mrb_local_variables($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
- var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0;
- var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
- var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
- var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
- var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
- var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy3 = sp + 88|0;
- $$byval_copy2 = sp + 80|0;
- $$byval_copy1 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $4 = sp + 48|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $11 = sp;
- $3 = $1;
- $12 = $3;
- $13 = ((($12)) + 12|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ((($14)) + 16|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = ((($16)) + -48|0);
- $18 = ((($17)) + 4|0);
- $19 = HEAP32[$18>>2]|0;
- $5 = $19;
- $20 = $5;
- $21 = HEAP32[$20>>2]|0;
- $22 = $21 >>> 11;
- $23 = $22 & 128;
- $24 = ($23|0)!=(0);
- if ($24) {
-  $25 = $3;
-  _mrb_ary_new($0,$25);
-  STACKTOP = sp;return;
- }
- $26 = $5;
- $27 = ((($26)) + 12|0);
- $28 = HEAP32[$27>>2]|0;
- $6 = $28;
- $29 = $6;
- $30 = ((($29)) + 24|0);
- $31 = HEAP32[$30>>2]|0;
- $32 = ($31|0)!=(0|0);
- $33 = $3;
- if (!($32)) {
-  _mrb_ary_new($0,$33);
-  STACKTOP = sp;return;
- }
- $34 = $6;
- $35 = HEAP16[$34>>1]|0;
- $36 = $35&65535;
- $37 = (($36) - 1)|0;
- _mrb_ary_new_capa($8,$33,$37);
- ;HEAP32[$4>>2]=HEAP32[$8>>2]|0;HEAP32[$4+4>>2]=HEAP32[$8+4>>2]|0;
- $7 = 0;
- while(1) {
-  $38 = $7;
-  $39 = (($38) + 1)|0;
-  $40 = $6;
-  $41 = HEAP16[$40>>1]|0;
-  $42 = $41&65535;
-  $43 = ($39>>>0)<($42>>>0);
-  if (!($43)) {
-   break;
-  }
-  $44 = $6;
-  $45 = ((($44)) + 24|0);
-  $46 = HEAP32[$45>>2]|0;
-  $47 = $7;
-  $48 = (($46) + ($47<<3)|0);
-  $49 = HEAP32[$48>>2]|0;
-  $50 = ($49|0)!=(0);
-  if ($50) {
-   $51 = $3;
-   $52 = $6;
-   $53 = ((($52)) + 24|0);
-   $54 = HEAP32[$53>>2]|0;
-   $55 = $7;
-   $56 = (($54) + ($55<<3)|0);
-   $57 = HEAP32[$56>>2]|0;
-   _mrb_symbol_value_1003($9,$57);
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-   ;HEAP32[$$byval_copy1>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$9+4>>2]|0;
-   _mrb_ary_push($51,$$byval_copy,$$byval_copy1);
-  }
-  $58 = $7;
-  $59 = (($58) + 1)|0;
-  $7 = $59;
- }
- $60 = $5;
- $61 = ((($60)) + 20|0);
- $62 = HEAP32[$61>>2]|0;
- $63 = ($62|0)!=(0|0);
- L16: do {
-  if ($63) {
-   $64 = $5;
-   $65 = ((($64)) + 20|0);
-   $66 = HEAP32[$65>>2]|0;
-   $10 = $66;
-   while(1) {
-    $67 = $10;
-    $68 = ($67|0)!=(0|0);
-    if (!($68)) {
-     break L16;
-    }
-    $69 = $3;
-    $70 = ((($69)) + 12|0);
-    $71 = HEAP32[$70>>2]|0;
-    $72 = ((($71)) + 20|0);
-    $73 = HEAP32[$72>>2]|0;
-    $74 = $10;
-    $75 = ((($74)) + 20|0);
-    $76 = HEAP32[$75>>2]|0;
-    $77 = (($73) + (($76*48)|0)|0);
-    $78 = ((($77)) + 4|0);
-    $79 = HEAP32[$78>>2]|0;
-    $80 = HEAP32[$79>>2]|0;
-    $81 = $80 >>> 11;
-    $82 = $81 & 128;
-    $83 = ($82|0)!=(0);
-    L21: do {
-     if (!($83)) {
-      $84 = $3;
-      $85 = ((($84)) + 12|0);
-      $86 = HEAP32[$85>>2]|0;
-      $87 = ((($86)) + 20|0);
-      $88 = HEAP32[$87>>2]|0;
-      $89 = $10;
-      $90 = ((($89)) + 20|0);
-      $91 = HEAP32[$90>>2]|0;
-      $92 = (($88) + (($91*48)|0)|0);
-      $93 = ((($92)) + 4|0);
-      $94 = HEAP32[$93>>2]|0;
-      $95 = ((($94)) + 12|0);
-      $96 = HEAP32[$95>>2]|0;
-      $6 = $96;
-      $97 = $6;
-      $98 = ((($97)) + 24|0);
-      $99 = HEAP32[$98>>2]|0;
-      $100 = ($99|0)!=(0|0);
-      if ($100) {
-       $7 = 0;
-       while(1) {
-        $101 = $7;
-        $102 = (($101) + 1)|0;
-        $103 = $6;
-        $104 = HEAP16[$103>>1]|0;
-        $105 = $104&65535;
-        $106 = ($102>>>0)<($105>>>0);
-        if (!($106)) {
-         break L21;
-        }
-        $107 = $6;
-        $108 = ((($107)) + 24|0);
-        $109 = HEAP32[$108>>2]|0;
-        $110 = $7;
-        $111 = (($109) + ($110<<3)|0);
-        $112 = HEAP32[$111>>2]|0;
-        $113 = ($112|0)!=(0);
-        if ($113) {
-         $114 = $3;
-         $115 = $6;
-         $116 = ((($115)) + 24|0);
-         $117 = HEAP32[$116>>2]|0;
-         $118 = $7;
-         $119 = (($117) + ($118<<3)|0);
-         $120 = HEAP32[$119>>2]|0;
-         _mrb_symbol_value_1003($11,$120);
-         ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
-         ;HEAP32[$$byval_copy3>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$11+4>>2]|0;
-         _mrb_ary_push($114,$$byval_copy2,$$byval_copy3);
-        }
-        $121 = $7;
-        $122 = (($121) + 1)|0;
-        $7 = $122;
-       }
-      }
-     }
-    } while(0);
-    $123 = $10;
-    $124 = ((($123)) + 4|0);
-    $125 = HEAP32[$124>>2]|0;
-    $10 = $125;
-   }
-  }
- } while(0);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_obj_equal_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $7 = (_mrb_obj_equal($6,$$byval_copy,$$byval_copy1)|0);
- _mrb_bool_value_1062($0,$7);
- STACKTOP = sp;return;
-}
-function _mrb_obj_not_equal_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $7 = (_mrb_equal($6,$$byval_copy,$$byval_copy1)|0);
- $8 = ($7<<24>>24)!=(0);
- $9 = $8 ^ 1;
- $10 = $9&1;
- $11 = $10&255;
- _mrb_bool_value_1062($0,$11);
- STACKTOP = sp;return;
-}
-function _mrb_equal_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $7 = (_mrb_equal($6,$$byval_copy,$$byval_copy1)|0);
- _mrb_bool_value_1062($0,$7);
- STACKTOP = sp;return;
-}
-function _mrb_obj_id_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $4 = (_mrb_obj_id($$byval_copy)|0);
- _mrb_fixnum_value_996($0,$4);
- STACKTOP = sp;return;
-}
-function _mrb_obj_class_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $$byval_copy = sp + 8|0;
- $3 = $1;
- $4 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $5 = (_mrb_obj_class($4,$$byval_copy)|0);
- _mrb_obj_value_991($0,$5);
- STACKTOP = sp;return;
-}
-function _mrb_obj_extend_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 12|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($6,68856,$vararg_buffer)|0);
- $7 = $3;
- $8 = HEAP32[$5>>2]|0;
- $9 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_obj_extend($0,$7,$8,$9,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mrb_obj_init_copy($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy3 = sp + 48|0;
- $$byval_copy2 = sp + 40|0;
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $7 = (_mrb_obj_equal($6,$$byval_copy,$$byval_copy1)|0);
- $8 = ($7<<24>>24)!=(0);
- if ($8) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $9 = ((($2)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ((($4)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ($10|0)!=($12|0);
- if ($13) {
-  $19 = $3;
-  $20 = $3;
-  $21 = (_mrb_class_get($20,69204)|0);
-  _mrb_raise($19,$21,68810);
-  // unreachable;
- }
- $14 = $3;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
- $15 = (_mrb_obj_class($14,$$byval_copy2)|0);
- $16 = $3;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
- $17 = (_mrb_obj_class($16,$$byval_copy3)|0);
- $18 = ($15|0)!=($17|0);
- if ($18) {
-  $19 = $3;
-  $20 = $3;
-  $21 = (_mrb_class_get($20,69204)|0);
-  _mrb_raise($19,$21,68810);
-  // unreachable;
- }
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _obj_is_instance_of($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68805,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $8 = (_mrb_obj_is_instance_of($6,$$byval_copy,$7)|0);
- _mrb_bool_value_1062($0,$8);
- STACKTOP = sp;return;
-}
-function _mrb_obj_ivar_defined($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $vararg_buffer = sp;
- $4 = sp + 4|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68770,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP32[$4>>2]|0;
- _mrb_iv_check($6,$7);
- $8 = $3;
- $9 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $10 = (_mrb_iv_defined($8,$$byval_copy,$9)|0);
- _mrb_bool_value_1062($0,$10);
- STACKTOP = sp;return;
-}
-function _mrb_obj_ivar_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $vararg_buffer = sp;
- $4 = sp + 4|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68770,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP32[$4>>2]|0;
- _mrb_iv_check($6,$7);
- $8 = $3;
- $9 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_iv_get($0,$8,$$byval_copy,$9);
- STACKTOP = sp;return;
-}
-function _mrb_obj_ivar_set($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy2 = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy2 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $5 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- (_mrb_get_args($6,68807,$vararg_buffer)|0);
- $7 = $3;
- $8 = HEAP32[$4>>2]|0;
- _mrb_iv_check($7,$8);
- $9 = $3;
- $10 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_iv_set($9,$$byval_copy,$10,$$byval_copy2);
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_obj_is_kind_of_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68805,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- $8 = (_mrb_obj_is_kind_of($6,$$byval_copy,$7)|0);
- _mrb_bool_value_1062($0,$8);
- STACKTOP = sp;return;
-}
-function _mrb_obj_methods_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- HEAP8[$4>>0] = 1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68724,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP8[$4>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_obj_methods($0,$6,$7,$$byval_copy,0);
- STACKTOP = sp;return;
-}
-function _mrb_false($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- _mrb_false_value_1053($0);
- STACKTOP = sp;return;
-}
-function _mrb_obj_private_methods($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- HEAP8[$4>>0] = 1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68724,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP8[$4>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_obj_methods($0,$6,$7,$$byval_copy,2);
- STACKTOP = sp;return;
-}
-function _mrb_obj_protected_methods($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- HEAP8[$4>>0] = 1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68724,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP8[$4>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_obj_methods($0,$6,$7,$$byval_copy,4);
- STACKTOP = sp;return;
-}
-function _mrb_obj_public_methods($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- HEAP8[$4>>0] = 1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68724,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP8[$4>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_obj_methods($0,$6,$7,$$byval_copy,0);
- STACKTOP = sp;return;
-}
-function _mrb_obj_remove_instance_variable($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $$byval_copy = sp + 48|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 40|0;
- $5 = sp + 32|0;
- $6 = sp + 24|0;
- $7 = sp + 16|0;
- $3 = $1;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($8,68770,$vararg_buffer)|0);
- $9 = $3;
- $10 = HEAP32[$4>>2]|0;
- _mrb_iv_check($9,$10);
- $11 = $3;
- $12 = HEAP32[$4>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_iv_remove($6,$11,$$byval_copy,$12);
- ;HEAP32[$5>>2]=HEAP32[$6>>2]|0;HEAP32[$5+4>>2]=HEAP32[$6+4>>2]|0;
- $13 = ((($5)) + 4|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ($14|0)==(5);
- if ($15) {
-  $16 = $3;
-  $17 = HEAP32[$4>>2]|0;
-  $18 = $3;
-  $19 = HEAP32[$4>>2]|0;
-  _mrb_sym2str($7,$18,$19);
-  ;HEAP8[$vararg_buffer1>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$7+7>>0]|0;
-  _mrb_name_error($16,$17,68772,$vararg_buffer1);
-  // unreachable;
- } else {
-  ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _obj_respond_to($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
- var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
- var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 160|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(160|0);
- $$byval_copy9 = sp + 136|0;
- $$byval_copy8 = sp + 128|0;
- $$byval_copy7 = sp + 120|0;
- $$byval_copy6 = sp + 112|0;
- $$byval_copy5 = sp + 104|0;
- $$byval_copy = sp + 96|0;
- $vararg_buffer2 = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 80|0;
- $7 = sp + 145|0;
- $9 = sp + 64|0;
- $10 = sp + 56|0;
- $11 = sp + 48|0;
- $12 = sp + 40|0;
- $13 = sp + 24|0;
- $14 = sp + 16|0;
- $3 = $1;
- HEAP8[$7>>0] = 0;
- $8 = 1;
- $15 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $7;
- (_mrb_get_args($15,68727,$vararg_buffer)|0);
- $16 = ((($4)) + 4|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17|0)==(4);
- do {
-  if ($18) {
-   $19 = HEAP32[$4>>2]|0;
-   $5 = $19;
-  } else {
-   $20 = ((($4)) + 4|0);
-   $21 = HEAP32[$20>>2]|0;
-   $22 = ($21|0)==(16);
-   if (!($22)) {
-    $23 = $3;
-    ;HEAP32[$$byval_copy>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$4+4>>2]|0;
-    _mrb_check_string_type($10,$23,$$byval_copy);
-    ;HEAP32[$9>>2]=HEAP32[$10>>2]|0;HEAP32[$9+4>>2]=HEAP32[$10+4>>2]|0;
-    $24 = ((($9)) + 4|0);
-    $25 = HEAP32[$24>>2]|0;
-    $26 = ($25|0)==(0);
-    if ($26) {
-     $27 = HEAP32[$9>>2]|0;
-     $28 = ($27|0)!=(0);
-     if (!($28)) {
-      $29 = $3;
-      ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;
-      _mrb_inspect($11,$29,$$byval_copy5);
-      ;HEAP32[$9>>2]=HEAP32[$11>>2]|0;HEAP32[$9+4>>2]=HEAP32[$11+4>>2]|0;
-      $30 = $3;
-      $31 = $3;
-      $32 = (_mrb_class_get($31,69204)|0);
-      ;HEAP8[$vararg_buffer2>>0]=HEAP8[$9>>0]|0;HEAP8[$vararg_buffer2+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$vararg_buffer2+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$vararg_buffer2+3>>0]=HEAP8[$9+3>>0]|0;HEAP8[$vararg_buffer2+4>>0]=HEAP8[$9+4>>0]|0;HEAP8[$vararg_buffer2+5>>0]=HEAP8[$9+5>>0]|0;HEAP8[$vararg_buffer2+6>>0]=HEAP8[$9+6>>0]|0;HEAP8[$vararg_buffer2+7>>0]=HEAP8[$9+7>>0]|0;
-      _mrb_raisef($30,$32,68731,$vararg_buffer2);
-      // unreachable;
-     }
-    }
-   }
-   $33 = $3;
-   ;HEAP32[$$byval_copy6>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$4+4>>2]|0;
-   _mrb_check_intern_str($12,$33,$$byval_copy6);
-   ;HEAP32[$9>>2]=HEAP32[$12>>2]|0;HEAP32[$9+4>>2]=HEAP32[$12+4>>2]|0;
-   $34 = ((($9)) + 4|0);
-   $35 = HEAP32[$34>>2]|0;
-   $36 = ($35|0)==(0);
-   if ($36) {
-    $37 = HEAP32[$9>>2]|0;
-    $38 = ($37|0)!=(0);
-    if (!($38)) {
-     $8 = 0;
-     break;
-    }
-   }
-   $39 = HEAP32[$9>>2]|0;
-   $5 = $39;
-  }
- } while(0);
- $40 = $8;
- $41 = ($40<<24>>24)!=(0);
- if ($41) {
-  $42 = $3;
-  $43 = $5;
-  $44 = HEAP8[$7>>0]|0;
-  $45 = ($44<<24>>24)!=(0);
-  $46 = $45 ^ 1;
-  $47 = $46&1;
-  ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0;
-  $48 = (_basic_obj_respond_to($42,$$byval_copy7,$43,$47)|0);
-  $8 = $48;
- }
- $49 = $8;
- $50 = ($49<<24>>24)!=(0);
- if (!($50)) {
-  $51 = $3;
-  $52 = (_mrb_intern_static($51,68750,19)|0);
-  $6 = $52;
-  $53 = $3;
-  $54 = $6;
-  $55 = HEAP8[$7>>0]|0;
-  $56 = ($55<<24>>24)!=(0);
-  $57 = $56 ^ 1;
-  $58 = $57&1;
-  ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
-  $59 = (_basic_obj_respond_to($53,$$byval_copy8,$54,$58)|0);
-  $60 = ($59<<24>>24)!=(0);
-  if ($60) {
-   ;HEAP32[$13>>2]=HEAP32[$4>>2]|0;HEAP32[$13+4>>2]=HEAP32[$4+4>>2]|0;
-   $61 = ((($13)) + 8|0);
-   $62 = HEAP8[$7>>0]|0;
-   _mrb_bool_value_1062($14,$62);
-   ;HEAP32[$61>>2]=HEAP32[$14>>2]|0;HEAP32[$61+4>>2]=HEAP32[$14+4>>2]|0;
-   $63 = $3;
-   $64 = $6;
-   ;HEAP32[$$byval_copy9>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$2+4>>2]|0;
-   _mrb_funcall_argv($0,$63,$$byval_copy9,$64,2,$13);
-   STACKTOP = sp;return;
-  }
- }
- $65 = $8;
- _mrb_bool_value_1062($0,$65);
- STACKTOP = sp;return;
-}
-function _mrb_obj_singleton_methods_m($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 8|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- HEAP8[$4>>0] = 1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,68724,$vararg_buffer)|0);
- $6 = $3;
- $7 = HEAP8[$4>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_obj_singleton_methods($0,$6,$7,$$byval_copy);
- STACKTOP = sp;return;
-}
-function _mod_define_singleton_method($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 40|0;
- $vararg_buffer = sp;
- $5 = sp + 24|0;
- $6 = sp + 16|0;
- $7 = sp + 8|0;
- $3 = $1;
- _mrb_nil_value_1054($6);
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $6;
- (_mrb_get_args($8,68706,$vararg_buffer)|0);
- $9 = ((($6)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($10|0)==(0);
- if ($11) {
-  $12 = HEAP32[$6>>2]|0;
-  $13 = ($12|0)!=(0);
-  if (!($13)) {
-   $14 = $3;
-   $15 = $3;
-   $16 = (_mrb_class_get($15,69160)|0);
-   _mrb_raise($14,$16,68709);
-   // unreachable;
-  }
- }
- $17 = $3;
- $18 = $3;
- $19 = ((($18)) + 44|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = (_mrb_obj_alloc($17,13,$20)|0);
- $4 = $21;
- $22 = $4;
- $23 = HEAP32[$6>>2]|0;
- _mrb_proc_copy($22,$23);
- $24 = $4;
- $25 = HEAP32[$24>>2]|0;
- $26 = $25 >>> 11;
- $27 = $26 | 256;
- $28 = HEAP32[$24>>2]|0;
- $29 = $27 & 2097151;
- $30 = $29 << 11;
- $31 = $28 & 2047;
- $32 = $31 | $30;
- HEAP32[$24>>2] = $32;
- $33 = $3;
- $34 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_singleton_class($7,$34,$$byval_copy);
- $35 = HEAP32[$7>>2]|0;
- $36 = HEAP32[$5>>2]|0;
- $37 = $4;
- _mrb_define_method_raw($33,$35,$36,$37);
- $38 = HEAP32[$5>>2]|0;
- _mrb_symbol_value_1003($0,$38);
- STACKTOP = sp;return;
-}
-function _mrb_obj_ceqq($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy2 = sp + 80|0;
- $$byval_copy1 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $vararg_buffer = sp;
- $4 = sp + 48|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $10 = sp + 8|0;
- $3 = $1;
- $11 = $3;
- $12 = (_mrb_intern_static($11,69591,3)|0);
- $7 = $12;
- $13 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_ary_splat($8,$13,$$byval_copy);
- $14 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($14,69199,$vararg_buffer)|0);
- $15 = HEAP32[$8>>2]|0;
- $16 = ((($15)) + 12|0);
- $17 = HEAP32[$16>>2]|0;
- $6 = $17;
- $5 = 0;
- while(1) {
-  $18 = $5;
-  $19 = $6;
-  $20 = ($18|0)<($19|0);
-  if (!($20)) {
-   label = 6;
-   break;
-  }
-  $21 = $3;
-  $22 = $5;
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$8+4>>2]|0;
-  _mrb_ary_entry($10,$$byval_copy1,$22);
-  $23 = $7;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$10>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$10+4>>2]|0;
-  _mrb_funcall_argv($9,$21,$$byval_copy2,$23,1,$4);
-  $24 = ((($9)) + 4|0);
-  $25 = HEAP32[$24>>2]|0;
-  $26 = ($25|0)!=(0);
-  if ($26) {
-   label = 4;
-   break;
-  }
-  $27 = $5;
-  $28 = (($27) + 1)|0;
-  $5 = $28;
- }
- if ((label|0) == 4) {
-  _mrb_true_value_1052($0);
-  STACKTOP = sp;return;
- }
- else if ((label|0) == 6) {
-  _mrb_false_value_1053($0);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_true_value_1052($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 2;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_false_value_1053($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_nil_value_1054($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 0;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_obj_singleton_methods($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$old = 0, $$old2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0;
- var $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
- var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
- var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy4 = sp + 56|0;
- $$byval_copy3 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $7 = sp + 24|0;
- $10 = sp + 8|0;
- $11 = sp;
- $4 = $1;
- $5 = $2;
- $12 = $4;
- $13 = (_kh_init_st($12)|0);
- $9 = $13;
- $14 = $4;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- $15 = (_mrb_class_984($14,$$byval_copy)|0);
- $8 = $15;
- $16 = $8;
- $17 = ($16|0)!=(0|0);
- if ($17) {
-  $18 = $8;
-  $19 = HEAP32[$18>>2]|0;
-  $20 = $19 & 255;
-  $21 = ($20|0)==(12);
-  if ($21) {
-   $22 = $4;
-   $23 = $8;
-   $24 = $9;
-   _method_entry_loop($22,$23,$24);
-   $25 = $8;
-   $26 = ((($25)) + 20|0);
-   $27 = HEAP32[$26>>2]|0;
-   $8 = $27;
-  }
- }
- $28 = $5;
- $29 = ($28<<24>>24)!=(0);
- $30 = $8;
- $31 = ($30|0)!=(0|0);
- $or$cond = $29 & $31;
- L5: do {
-  if ($or$cond) {
-   while(1) {
-    $32 = $8;
-    $33 = HEAP32[$32>>2]|0;
-    $34 = $33 & 255;
-    $35 = ($34|0)==(12);
-    if (!($35)) {
-     $36 = $8;
-     $37 = HEAP32[$36>>2]|0;
-     $38 = $37 & 255;
-     $39 = ($38|0)==(11);
-     if (!($39)) {
-      break L5;
-     }
-    }
-    $40 = $4;
-    $41 = $8;
-    $42 = $9;
-    _method_entry_loop($40,$41,$42);
-    $43 = $8;
-    $44 = ((($43)) + 20|0);
-    $45 = HEAP32[$44>>2]|0;
-    $8 = $45;
-    $$old = $8;
-    $$old2 = ($$old|0)!=(0|0);
-    if (!($$old2)) {
-     break;
-    }
-   }
-  }
- } while(0);
- $46 = $4;
- _mrb_ary_new($10,$46);
- ;HEAP32[$7>>2]=HEAP32[$10>>2]|0;HEAP32[$7+4>>2]=HEAP32[$10+4>>2]|0;
- $6 = 0;
- while(1) {
-  $47 = $6;
-  $48 = $9;
-  $49 = HEAP32[$48>>2]|0;
-  $50 = ($47>>>0)<($49>>>0);
-  if (!($50)) {
-   break;
-  }
-  $51 = $9;
-  $52 = ((($51)) + 12|0);
-  $53 = HEAP32[$52>>2]|0;
-  $54 = $6;
-  $55 = (($54>>>0) / 4)&-1;
-  $56 = (($53) + ($55)|0);
-  $57 = HEAP8[$56>>0]|0;
-  $58 = $57&255;
-  $59 = $6;
-  $60 = (($59>>>0) % 4)&-1;
-  $61 = (68258 + ($60)|0);
-  $62 = HEAP8[$61>>0]|0;
-  $63 = $62&255;
-  $64 = $58 & $63;
-  $65 = ($64|0)!=(0);
-  if (!($65)) {
-   $66 = $4;
-   $67 = $9;
-   $68 = ((($67)) + 16|0);
-   $69 = HEAP32[$68>>2]|0;
-   $70 = $6;
-   $71 = (($69) + ($70<<2)|0);
-   $72 = HEAP32[$71>>2]|0;
-   _mrb_symbol_value_1003($11,$72);
-   ;HEAP32[$$byval_copy3>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$7+4>>2]|0;
-   ;HEAP32[$$byval_copy4>>2]=HEAP32[$11>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$11+4>>2]|0;
-   _mrb_ary_push($66,$$byval_copy3,$$byval_copy4);
-  }
-  $73 = $6;
-  $74 = (($73) + 1)|0;
-  $6 = $74;
- }
- $75 = $4;
- $76 = $9;
- _kh_destroy_st($75,$76);
- ;HEAP32[$0>>2]=HEAP32[$7>>2]|0;HEAP32[$0+4>>2]=HEAP32[$7+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _basic_obj_respond_to($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $4 = $0;
- $5 = $2;
- $6 = $3;
- $7 = $4;
- $8 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $9 = (_mrb_respond_to($7,$$byval_copy,$8)|0);
- STACKTOP = sp;return ($9|0);
-}
-function _mrb_bool_value_1062($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- $7 = $6 ? 2 : 0;
- $8 = ((($3)) + 4|0);
- HEAP32[$8>>2] = $7;
- HEAP32[$3>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_obj_methods($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $5 = $1;
- $6 = $2;
- $7 = $4;
- $8 = $6;
- $9 = ($8<<24>>24)!=(0);
- $10 = $5;
- $11 = $6;
- if ($9) {
-  $12 = $5;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
-  $13 = (_mrb_class_984($12,$$byval_copy)|0);
-  _mrb_class_instance_method_list($0,$10,$11,$13,0);
-  STACKTOP = sp;return;
- } else {
-  ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
-  _mrb_obj_singleton_methods($0,$10,$11,$$byval_copy1);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_obj_extend($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy5 = sp + 64|0;
- $$byval_copy4 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $9 = sp + 24|0;
- $10 = sp + 16|0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $11 = $6;
- $12 = ($11|0)==(0);
- if ($12) {
-  $13 = $5;
-  $14 = $5;
-  $15 = (_mrb_class_get($14,69160)|0);
-  _mrb_raise($13,$15,68858);
-  // unreachable;
- }
- $8 = 0;
- while(1) {
-  $16 = $8;
-  $17 = $6;
-  $18 = ($16|0)<($17|0);
-  if (!($18)) {
-   break;
-  }
-  $19 = $5;
-  $20 = $7;
-  $21 = $8;
-  $22 = (($20) + ($21<<3)|0);
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$22+4>>2]|0;
-  _mrb_check_type($19,$$byval_copy,10);
-  $23 = $8;
-  $24 = (($23) + 1)|0;
-  $8 = $24;
- }
- while(1) {
-  $25 = $6;
-  $26 = (($25) + -1)|0;
-  $6 = $26;
-  $27 = ($25|0)!=(0);
-  if (!($27)) {
-   break;
-  }
-  $28 = $5;
-  $29 = $7;
-  $30 = $6;
-  $31 = (($29) + ($30<<3)|0);
-  ;HEAP8[$vararg_buffer>>0]=HEAP8[$4>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$4+7>>0]|0;
-  ;HEAP32[$$byval_copy4>>2]=HEAP32[$31>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$31+4>>2]|0;
-  _mrb_funcall($9,$28,$$byval_copy4,68897,1,$vararg_buffer);
-  $32 = $5;
-  $33 = $7;
-  $34 = $6;
-  $35 = (($33) + ($34<<3)|0);
-  ;HEAP8[$vararg_buffer1>>0]=HEAP8[$4>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$4+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$4+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$4+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$4+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$4+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$4+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$4+7>>0]|0;
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$35>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$35+4>>2]|0;
-  _mrb_funcall($10,$32,$$byval_copy5,68911,1,$vararg_buffer1);
- }
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_pool_open($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = (_mrb_malloc_simple($3,8)|0);
- $2 = $4;
- $5 = $2;
- $6 = ($5|0)!=(0|0);
- if (!($6)) {
-  $11 = $2;
-  STACKTOP = sp;return ($11|0);
- }
- $7 = $1;
- $8 = $2;
- HEAP32[$8>>2] = $7;
- $9 = $2;
- $10 = ((($9)) + 4|0);
- HEAP32[$10>>2] = 0;
- $11 = $2;
- STACKTOP = sp;return ($11|0);
-}
-function _mrb_pool_close($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $4 = $1;
- $5 = ($4|0)!=(0|0);
- if (!($5)) {
-  STACKTOP = sp;return;
- }
- $6 = $1;
- $7 = ((($6)) + 4|0);
- $8 = HEAP32[$7>>2]|0;
- $2 = $8;
- while(1) {
-  $9 = $2;
-  $10 = ($9|0)!=(0|0);
-  if (!($10)) {
-   break;
-  }
-  $11 = $2;
-  $3 = $11;
-  $12 = $2;
-  $13 = HEAP32[$12>>2]|0;
-  $2 = $13;
-  $14 = $1;
-  $15 = HEAP32[$14>>2]|0;
-  $16 = $3;
-  _mrb_free($15,$16);
- }
- $17 = $1;
- $18 = HEAP32[$17>>2]|0;
- $19 = $1;
- _mrb_free($18,$19);
- STACKTOP = sp;return;
-}
-function _mrb_pool_alloc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $7 = $3;
- $8 = ($7|0)!=(0|0);
- if (!($8)) {
-  $2 = 0;
-  $69 = $2;
-  STACKTOP = sp;return ($69|0);
- }
- $9 = $4;
- $10 = (-1 - ($9))|0;
- $11 = (($10) + 1)|0;
- $12 = $11 & 3;
- $13 = $4;
- $14 = (($13) + ($12))|0;
- $4 = $14;
- $15 = $3;
- $16 = ((($15)) + 4|0);
- $17 = HEAP32[$16>>2]|0;
- $5 = $17;
- while(1) {
-  $18 = $5;
-  $19 = ($18|0)!=(0|0);
-  if (!($19)) {
-   break;
-  }
-  $20 = $5;
-  $21 = ((($20)) + 4|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $4;
-  $24 = (($22) + ($23))|0;
-  $25 = $5;
-  $26 = ((($25)) + 8|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = ($24>>>0)<=($27>>>0);
-  $29 = $5;
-  if ($28) {
-   label = 6;
-   break;
-  }
-  $46 = HEAP32[$29>>2]|0;
-  $5 = $46;
- }
- if ((label|0) == 6) {
-  $30 = ((($29)) + 4|0);
-  $31 = HEAP32[$30>>2]|0;
-  $6 = $31;
-  $32 = $4;
-  $33 = $5;
-  $34 = ((($33)) + 4|0);
-  $35 = HEAP32[$34>>2]|0;
-  $36 = (($35) + ($32))|0;
-  HEAP32[$34>>2] = $36;
-  $37 = $5;
-  $38 = ((($37)) + 16|0);
-  $39 = $6;
-  $40 = (($38) + ($39)|0);
-  $41 = $5;
-  $42 = ((($41)) + 12|0);
-  HEAP32[$42>>2] = $40;
-  $43 = $5;
-  $44 = ((($43)) + 12|0);
-  $45 = HEAP32[$44>>2]|0;
-  $2 = $45;
-  $69 = $2;
-  STACKTOP = sp;return ($69|0);
- }
- $47 = $3;
- $48 = $4;
- $49 = (_page_alloc($47,$48)|0);
- $5 = $49;
- $50 = $5;
- $51 = ($50|0)!=(0|0);
- if ($51) {
-  $52 = $4;
-  $53 = $5;
-  $54 = ((($53)) + 4|0);
-  HEAP32[$54>>2] = $52;
-  $55 = $3;
-  $56 = ((($55)) + 4|0);
-  $57 = HEAP32[$56>>2]|0;
-  $58 = $5;
-  HEAP32[$58>>2] = $57;
-  $59 = $5;
-  $60 = $3;
-  $61 = ((($60)) + 4|0);
-  HEAP32[$61>>2] = $59;
-  $62 = $5;
-  $63 = ((($62)) + 16|0);
-  $64 = $5;
-  $65 = ((($64)) + 12|0);
-  HEAP32[$65>>2] = $63;
-  $66 = $5;
-  $67 = ((($66)) + 12|0);
-  $68 = HEAP32[$67>>2]|0;
-  $2 = $68;
-  $69 = $2;
-  STACKTOP = sp;return ($69|0);
- } else {
-  $2 = 0;
-  $69 = $2;
-  STACKTOP = sp;return ($69|0);
- }
- return (0)|0;
-}
-function _page_alloc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $3;
- $6 = ($5>>>0)<(4096);
- $$ = $6 ? 4096 : $1;
- $3 = $$;
- $7 = $2;
- $8 = HEAP32[$7>>2]|0;
- $9 = $3;
- $10 = (16 + ($9))|0;
- $11 = (_mrb_malloc_simple($8,$10)|0);
- $4 = $11;
- $12 = $4;
- $13 = ($12|0)!=(0|0);
- if (!($13)) {
-  $19 = $4;
-  STACKTOP = sp;return ($19|0);
- }
- $14 = $4;
- $15 = ((($14)) + 4|0);
- HEAP32[$15>>2] = 0;
- $16 = $3;
- $17 = $4;
- $18 = ((($17)) + 8|0);
- HEAP32[$18>>2] = $16;
- $19 = $4;
- STACKTOP = sp;return ($19|0);
-}
-function _mrb_proc_new($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $6 = $2;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $5 = $10;
- $11 = $2;
- $12 = $2;
- $13 = ((($12)) + 44|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = (_mrb_obj_alloc($11,13,$14)|0);
- $4 = $15;
- $16 = $4;
- $17 = ((($16)) + 16|0);
- HEAP32[$17>>2] = 0;
- $18 = $5;
- $19 = ($18|0)!=(0|0);
- if ($19) {
-  $20 = $5;
-  $21 = ((($20)) + 4|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = ($22|0)!=(0|0);
-  if ($23) {
-   $24 = $5;
-   $25 = ((($24)) + 4|0);
-   $26 = HEAP32[$25>>2]|0;
-   $27 = ((($26)) + 16|0);
-   $28 = HEAP32[$27>>2]|0;
-   $29 = $4;
-   $30 = ((($29)) + 16|0);
-   HEAP32[$30>>2] = $28;
-  }
-  $31 = $4;
-  $32 = ((($31)) + 16|0);
-  $33 = HEAP32[$32>>2]|0;
-  $34 = ($33|0)!=(0|0);
-  if (!($34)) {
-   $35 = $5;
-   $36 = ((($35)) + 44|0);
-   $37 = HEAP32[$36>>2]|0;
-   $38 = $4;
-   $39 = ((($38)) + 16|0);
-   HEAP32[$39>>2] = $37;
-  }
- }
- $40 = $3;
- $41 = $4;
- $42 = ((($41)) + 12|0);
- HEAP32[$42>>2] = $40;
- $43 = $4;
- $44 = ((($43)) + 20|0);
- HEAP32[$44>>2] = 0;
- $45 = $2;
- $46 = $3;
- _mrb_irep_incref($45,$46);
- $47 = $4;
- STACKTOP = sp;return ($47|0);
-}
-function _mrb_closure_new($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = $3;
- $7 = (_mrb_proc_new($5,$6)|0);
- $4 = $7;
- $8 = $2;
- $9 = $4;
- $10 = $2;
- $11 = ((($10)) + 12|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ((($12)) + 16|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = ((($14)) + 4|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = ((($16)) + 12|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = HEAP16[$18>>1]|0;
- $20 = $19&65535;
- _closure_setup($8,$9,$20);
- $21 = $4;
- STACKTOP = sp;return ($21|0);
-}
-function _closure_setup($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $7 = $3;
- $8 = ((($7)) + 12|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ((($9)) + 16|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ((($11)) + 24|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ($13|0)!=(0|0);
- $15 = $3;
- if ($14) {
-  $25 = ((($15)) + 12|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = ((($26)) + 16|0);
-  $28 = HEAP32[$27>>2]|0;
-  $29 = ((($28)) + 24|0);
-  $30 = HEAP32[$29>>2]|0;
-  $6 = $30;
-  $31 = $6;
-  $32 = $4;
-  $33 = ((($32)) + 20|0);
-  HEAP32[$33>>2] = $31;
-  STACKTOP = sp;return;
- } else {
-  $16 = $5;
-  $17 = (_env_new($15,$16)|0);
-  $6 = $17;
-  $18 = $6;
-  $19 = $3;
-  $20 = ((($19)) + 12|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = ((($21)) + 16|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = ((($23)) + 24|0);
-  HEAP32[$24>>2] = $18;
-  $31 = $6;
-  $32 = $4;
-  $33 = ((($32)) + 20|0);
-  HEAP32[$33>>2] = $31;
-  STACKTOP = sp;return;
- }
-}
-function _env_new($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = $2;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 16|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ((($10)) + 4|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = ((($12)) + 20|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = (_mrb_obj_alloc($5,20,$14)|0);
- $4 = $15;
- $16 = $3;
- $17 = $4;
- $18 = HEAP32[$17>>2]|0;
- $19 = $16 & 2097151;
- $20 = $19 << 11;
- $21 = $18 & 2047;
- $22 = $21 | $20;
- HEAP32[$17>>2] = $22;
- $23 = $2;
- $24 = ((($23)) + 12|0);
- $25 = HEAP32[$24>>2]|0;
- $26 = ((($25)) + 16|0);
- $27 = HEAP32[$26>>2]|0;
- $28 = HEAP32[$27>>2]|0;
- $29 = $4;
- $30 = ((($29)) + 16|0);
- HEAP32[$30>>2] = $28;
- $31 = $2;
- $32 = ((($31)) + 12|0);
- $33 = HEAP32[$32>>2]|0;
- $34 = ((($33)) + 16|0);
- $35 = HEAP32[$34>>2]|0;
- $36 = $2;
- $37 = ((($36)) + 12|0);
- $38 = HEAP32[$37>>2]|0;
- $39 = ((($38)) + 20|0);
- $40 = HEAP32[$39>>2]|0;
- $41 = $35;
- $42 = $40;
- $43 = (($41) - ($42))|0;
- $44 = (($43|0) / 48)&-1;
- $45 = $4;
- $46 = ((($45)) + 20|0);
- HEAP32[$46>>2] = $44;
- $47 = $2;
- $48 = ((($47)) + 12|0);
- $49 = HEAP32[$48>>2]|0;
- $50 = ((($49)) + 4|0);
- $51 = HEAP32[$50>>2]|0;
- $52 = $4;
- $53 = ((($52)) + 12|0);
- HEAP32[$53>>2] = $51;
- $54 = $4;
- STACKTOP = sp;return ($54|0);
-}
-function _mrb_proc_new_cfunc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = $2;
- $7 = ((($6)) + 44|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = (_mrb_obj_alloc($5,13,$8)|0);
- $4 = $9;
- $10 = $3;
- $11 = $4;
- $12 = ((($11)) + 12|0);
- HEAP32[$12>>2] = $10;
- $13 = $4;
- $14 = HEAP32[$13>>2]|0;
- $15 = $14 >>> 11;
- $16 = $15 | 128;
- $17 = HEAP32[$13>>2]|0;
- $18 = $16 & 2097151;
- $19 = $18 << 11;
- $20 = $17 & 2047;
- $21 = $20 | $19;
- HEAP32[$13>>2] = $21;
- $22 = $4;
- $23 = ((($22)) + 20|0);
- HEAP32[$23>>2] = 0;
- $24 = $4;
- STACKTOP = sp;return ($24|0);
-}
-function _mrb_proc_new_cfunc_with_env($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $11 = $4;
- $12 = $5;
- $13 = (_mrb_proc_new_cfunc($11,$12)|0);
- $8 = $13;
- $14 = $4;
- $15 = $6;
- $16 = (_env_new($14,$15)|0);
- $9 = $16;
- $17 = $8;
- $18 = ((($17)) + 20|0);
- HEAP32[$18>>2] = $16;
- $19 = $4;
- $20 = $8;
- $21 = $8;
- $22 = ((($21)) + 20|0);
- $23 = HEAP32[$22>>2]|0;
- _mrb_field_write_barrier($19,$20,$23);
- $24 = $9;
- $25 = ((($24)) + 20|0);
- HEAP32[$25>>2] = -1;
- $26 = $4;
- $27 = $6;
- $28 = $27<<3;
- $29 = (_mrb_malloc($26,$28)|0);
- $30 = $9;
- $31 = ((($30)) + 12|0);
- HEAP32[$31>>2] = $29;
- $32 = $7;
- $33 = ($32|0)!=(0|0);
- $10 = 0;
- if ($33) {
-  while(1) {
-   $34 = $10;
-   $35 = $6;
-   $36 = ($34|0)<($35|0);
-   if (!($36)) {
-    break;
-   }
-   $37 = $9;
-   $38 = ((($37)) + 12|0);
-   $39 = HEAP32[$38>>2]|0;
-   $40 = $10;
-   $41 = (($39) + ($40<<3)|0);
-   $42 = $7;
-   $43 = $10;
-   $44 = (($42) + ($43<<3)|0);
-   ;HEAP32[$41>>2]=HEAP32[$44>>2]|0;HEAP32[$41+4>>2]=HEAP32[$44+4>>2]|0;
-   $45 = $10;
-   $46 = (($45) + 1)|0;
-   $10 = $46;
-  }
-  $63 = $8;
-  STACKTOP = sp;return ($63|0);
- } else {
-  while(1) {
-   $47 = $10;
-   $48 = $6;
-   $49 = ($47|0)<($48|0);
-   if (!($49)) {
-    break;
-   }
-   $50 = $9;
-   $51 = ((($50)) + 12|0);
-   $52 = HEAP32[$51>>2]|0;
-   $53 = $10;
-   $54 = (($52) + ($53<<3)|0);
-   $55 = ((($54)) + 4|0);
-   HEAP32[$55>>2] = 0;
-   $56 = $9;
-   $57 = ((($56)) + 12|0);
-   $58 = HEAP32[$57>>2]|0;
-   $59 = $10;
-   $60 = (($58) + ($59<<3)|0);
-   HEAP32[$60>>2] = 0;
-   $61 = $10;
-   $62 = (($61) + 1)|0;
-   $10 = $62;
-  }
-  $63 = $8;
-  STACKTOP = sp;return ($63|0);
- }
- return (0)|0;
-}
-function _mrb_proc_cfunc_env_get($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer = sp;
- $7 = sp + 24|0;
- $8 = sp + 16|0;
- $3 = $1;
- $4 = $2;
- $9 = $3;
- $10 = ((($9)) + 12|0);
- $11 = HEAP32[$10>>2]|0;
- $12 = ((($11)) + 16|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ((($13)) + 4|0);
- $15 = HEAP32[$14>>2]|0;
- $5 = $15;
- $16 = $5;
- $17 = ((($16)) + 20|0);
- $18 = HEAP32[$17>>2]|0;
- $6 = $18;
- $19 = $5;
- $20 = HEAP32[$19>>2]|0;
- $21 = $20 >>> 11;
- $22 = $21 & 128;
- $23 = ($22|0)!=(0);
- if (!($23)) {
-  $24 = $3;
-  $25 = $3;
-  $26 = (_mrb_class_get($25,69204)|0);
-  _mrb_raise($24,$26,68920);
-  // unreachable;
- }
- $27 = $6;
- $28 = ($27|0)!=(0|0);
- if (!($28)) {
-  $29 = $3;
-  $30 = $3;
-  $31 = (_mrb_class_get($30,69204)|0);
-  _mrb_raise($29,$31,68961);
-  // unreachable;
- }
- $32 = $4;
- $33 = ($32|0)<(0);
- if (!($33)) {
-  $34 = $6;
-  $35 = HEAP32[$34>>2]|0;
-  $36 = $35 >>> 11;
-  $37 = $4;
-  $38 = ($36|0)<=($37|0);
-  if (!($38)) {
-   $46 = $6;
-   $47 = ((($46)) + 12|0);
-   $48 = HEAP32[$47>>2]|0;
-   $49 = $4;
-   $50 = (($48) + ($49<<3)|0);
-   ;HEAP32[$0>>2]=HEAP32[$50>>2]|0;HEAP32[$0+4>>2]=HEAP32[$50+4>>2]|0;
-   STACKTOP = sp;return;
-  }
- }
- $39 = $3;
- $40 = $3;
- $41 = (_mrb_class_get($40,69011)|0);
- $42 = $4;
- _mrb_fixnum_value_1092($7,$42);
- $43 = $6;
- $44 = HEAP32[$43>>2]|0;
- $45 = $44 >>> 11;
- _mrb_fixnum_value_1092($8,$45);
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$7>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$7+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$7+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$7+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$7+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$7+7>>0]|0;
- $vararg_ptr1 = ((($vararg_buffer)) + 8|0);
- ;HEAP8[$vararg_ptr1>>0]=HEAP8[$8>>0]|0;HEAP8[$vararg_ptr1+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$vararg_ptr1+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$vararg_ptr1+3>>0]=HEAP8[$8+3>>0]|0;HEAP8[$vararg_ptr1+4>>0]=HEAP8[$8+4>>0]|0;HEAP8[$vararg_ptr1+5>>0]=HEAP8[$8+5>>0]|0;HEAP8[$vararg_ptr1+6>>0]=HEAP8[$8+6>>0]|0;HEAP8[$vararg_ptr1+7>>0]=HEAP8[$8+7>>0]|0;
- _mrb_raisef($39,$41,69022,$vararg_buffer);
- // unreachable;
-}
-function _mrb_fixnum_value_1092($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_proc_copy($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 >>> 11;
- $7 = $2;
- $8 = HEAP32[$7>>2]|0;
- $9 = $6 & 2097151;
- $10 = $9 << 11;
- $11 = $8 & 2047;
- $12 = $11 | $10;
- HEAP32[$7>>2] = $12;
- $13 = $2;
- $14 = ((($13)) + 12|0);
- $15 = $3;
- $16 = ((($15)) + 12|0);
- ;HEAP32[$14>>2]=HEAP32[$16>>2]|0;
- $17 = $2;
- $18 = HEAP32[$17>>2]|0;
- $19 = $18 >>> 11;
- $20 = $19 & 128;
- $21 = ($20|0)!=(0);
- if (!($21)) {
-  $22 = $2;
-  $23 = ((($22)) + 12|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = ((($24)) + 56|0);
-  $26 = HEAP32[$25>>2]|0;
-  $27 = (($26) + 1)|0;
-  HEAP32[$25>>2] = $27;
- }
- $28 = $3;
- $29 = ((($28)) + 16|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = $2;
- $32 = ((($31)) + 16|0);
- HEAP32[$32>>2] = $30;
- $33 = $3;
- $34 = ((($33)) + 20|0);
- $35 = HEAP32[$34>>2]|0;
- $36 = $2;
- $37 = ((($36)) + 20|0);
- HEAP32[$37>>2] = $35;
- STACKTOP = sp;return;
-}
-function _mrb_proc_iseq($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ((($4)) + 12|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ((($6)) + 8|0);
- $8 = HEAP32[$7>>2]|0;
- STACKTOP = sp;return ($8|0);
-}
-function _mrb_init_proc($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $4 = $1;
- $5 = (_mrb_malloc($4,60)|0);
- $3 = $5;
- $6 = $3;
- dest=$6; src=74880; stop=dest+60|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
- $7 = $3;
- $8 = ((($7)) + 4|0);
- HEAP8[$8>>0] = 1;
- $9 = $3;
- $10 = ((($9)) + 8|0);
- HEAP32[$10>>2] = 2544;
- $11 = $3;
- $12 = ((($11)) + 40|0);
- HEAP32[$12>>2] = 1;
- $13 = $1;
- $14 = $1;
- $15 = ((($14)) + 44|0);
- $16 = HEAP32[$15>>2]|0;
- _mrb_define_method($13,$16,69252,316,0);
- $17 = $1;
- $18 = $1;
- $19 = ((($18)) + 44|0);
- $20 = HEAP32[$19>>2]|0;
- _mrb_define_method($17,$20,69294,317,262144);
- $21 = $1;
- $22 = $1;
- $23 = ((($22)) + 44|0);
- $24 = HEAP32[$23>>2]|0;
- _mrb_define_method($21,$24,69077,318,0);
- $25 = $1;
- $26 = $3;
- $27 = (_mrb_proc_new($25,$26)|0);
- $2 = $27;
- $28 = $1;
- $29 = $1;
- $30 = ((($29)) + 44|0);
- $31 = HEAP32[$30>>2]|0;
- $32 = $1;
- $33 = (_mrb_intern_static($32,69604,4)|0);
- $34 = $2;
- _mrb_define_method_raw($28,$31,$33,$34);
- $35 = $1;
- $36 = $1;
- $37 = ((($36)) + 44|0);
- $38 = HEAP32[$37>>2]|0;
- $39 = $1;
- $40 = (_mrb_intern_static($39,69083,2)|0);
- $41 = $2;
- _mrb_define_method_raw($35,$38,$40,$41);
- $42 = $1;
- $43 = $1;
- $44 = ((($43)) + 84|0);
- $45 = HEAP32[$44>>2]|0;
- _mrb_define_class_method($42,$45,69086,319,0);
- $46 = $1;
- $47 = $1;
- $48 = ((($47)) + 84|0);
- $49 = HEAP32[$48>>2]|0;
- _mrb_define_method($46,$49,69086,319,0);
- STACKTOP = sp;return;
-}
-function _mrb_proc_initialize($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69093,$vararg_buffer)|0);
- $6 = ((($4)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)==(0);
- if ($8) {
-  $9 = HEAP32[$4>>2]|0;
-  $10 = ($9|0)!=(0);
-  if (!($10)) {
-   $11 = $3;
-   $12 = $3;
-   $13 = (_mrb_class_get($12,69160)|0);
-   _mrb_raise($11,$13,69095);
-   // unreachable;
-  }
- }
- $14 = HEAP32[$2>>2]|0;
- $15 = HEAP32[$4>>2]|0;
- _mrb_proc_copy($14,$15);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_proc_init_copy($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $5 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($5,69199,$vararg_buffer)|0);
- $6 = ((($4)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)!=(13);
- if ($8) {
-  $9 = $3;
-  $10 = $3;
-  $11 = (_mrb_class_get($10,69160)|0);
-  _mrb_raise($9,$11,69139);
-  // unreachable;
- } else {
-  $12 = HEAP32[$2>>2]|0;
-  $13 = HEAP32[$4>>2]|0;
-  _mrb_proc_copy($12,$13);
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
-}
-function _mrb_proc_arity($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $3 = $1;
- $12 = HEAP32[$2>>2]|0;
- $4 = $12;
- $13 = $3;
- $14 = $4;
- $15 = (_mrb_proc_iseq($13,$14)|0);
- $5 = $15;
- $16 = $4;
- $17 = HEAP32[$16>>2]|0;
- $18 = $17 >>> 11;
- $19 = $18 & 128;
- $20 = ($19|0)!=(0);
- if ($20) {
-  _mrb_fixnum_value_1092($0,-1);
-  STACKTOP = sp;return;
- }
- $21 = $5;
- $22 = HEAP32[$21>>2]|0;
- $23 = $22 & 127;
- $24 = ($23|0)!=(38);
- if ($24) {
-  _mrb_fixnum_value_1092($0,0);
-  STACKTOP = sp;return;
- }
- $25 = $5;
- $26 = HEAP32[$25>>2]|0;
- $27 = $26 >>> 7;
- $28 = $27 & 33554431;
- $6 = $28;
- $29 = $6;
- $30 = $29 >>> 18;
- $31 = $30 & 31;
- $7 = $31;
- $32 = $6;
- $33 = $32 >>> 13;
- $34 = $33 & 31;
- $8 = $34;
- $35 = $6;
- $36 = $35 >>> 12;
- $37 = $36 & 1;
- $9 = $37;
- $38 = $6;
- $39 = $38 >>> 7;
- $40 = $39 & 31;
- $10 = $40;
- $41 = $9;
- $42 = ($41|0)!=(0);
- if ($42) {
-  label = 7;
- } else {
-  $43 = $4;
-  $44 = HEAP32[$43>>2]|0;
-  $45 = $44 >>> 11;
-  $46 = $45 & 256;
-  $47 = ($46|0)!=(0);
-  $48 = $8;
-  $49 = ($48|0)!=(0);
-  $or$cond = $47 & $49;
-  if ($or$cond) {
-   label = 7;
-  } else {
-   $55 = $7;
-   $56 = $10;
-   $57 = (($55) + ($56))|0;
-   $58 = $57;
-  }
- }
- if ((label|0) == 7) {
-  $50 = $7;
-  $51 = $10;
-  $52 = (($50) + ($51))|0;
-  $53 = (($52) + 1)|0;
-  $54 = (0 - ($53))|0;
-  $58 = $54;
- }
- $11 = $58;
- $59 = $11;
- _mrb_fixnum_value_1092($0,$59);
- STACKTOP = sp;return;
-}
-function _proc_lambda($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($7,69093,$vararg_buffer)|0);
- $8 = ((($4)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ($9|0)==(0);
- if ($10) {
-  $11 = HEAP32[$4>>2]|0;
-  $12 = ($11|0)!=(0);
-  if (!($12)) {
-   $13 = $3;
-   $14 = $3;
-   $15 = (_mrb_class_get($14,69160)|0);
-   _mrb_raise($13,$15,69095);
-   // unreachable;
-  }
- }
- $16 = ((($4)) + 4|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17|0)!=(13);
- if ($18) {
-  $19 = $3;
-  $20 = $3;
-  $21 = (_mrb_class_get($20,69160)|0);
-  _mrb_raise($19,$21,69139);
-  // unreachable;
- }
- $22 = HEAP32[$4>>2]|0;
- $5 = $22;
- $23 = $5;
- $24 = HEAP32[$23>>2]|0;
- $25 = $24 >>> 11;
- $26 = $25 & 256;
- $27 = ($26|0)!=(0);
- if ($27) {
-  ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
-  STACKTOP = sp;return;
- } else {
-  $28 = $3;
-  $29 = $5;
-  $30 = ((($29)) + 4|0);
-  $31 = HEAP32[$30>>2]|0;
-  $32 = (_mrb_obj_alloc($28,13,$31)|0);
-  $6 = $32;
-  $33 = $6;
-  $34 = $5;
-  _mrb_proc_copy($33,$34);
-  $35 = $6;
-  $36 = HEAP32[$35>>2]|0;
-  $37 = $36 >>> 11;
-  $38 = $37 | 256;
-  $39 = HEAP32[$35>>2]|0;
-  $40 = $38 & 2097151;
-  $41 = $40 << 11;
-  $42 = $39 & 2047;
-  $43 = $42 | $41;
-  HEAP32[$35>>2] = $43;
-  $44 = $6;
-  _mrb_obj_value_1108($0,$44);
-  STACKTOP = sp;return;
- }
-}
-function _mrb_obj_value_1108($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_range_new($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $5 = $1;
- $6 = $4;
- $8 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
- _range_check($8,$$byval_copy,$$byval_copy1);
- $9 = $5;
- $10 = $5;
- $11 = (_mrb_class_get($10,69150)|0);
- $12 = (_mrb_obj_alloc($9,17,$11)|0);
- $7 = $12;
- $13 = $5;
- $14 = (_mrb_malloc($13,16)|0);
- $15 = $7;
- $16 = ((($15)) + 12|0);
- HEAP32[$16>>2] = $14;
- $17 = $7;
- $18 = ((($17)) + 12|0);
- $19 = HEAP32[$18>>2]|0;
- ;HEAP32[$19>>2]=HEAP32[$2>>2]|0;HEAP32[$19+4>>2]=HEAP32[$2+4>>2]|0;
- $20 = $7;
- $21 = ((($20)) + 12|0);
- $22 = HEAP32[$21>>2]|0;
- $23 = ((($22)) + 8|0);
- ;HEAP32[$23>>2]=HEAP32[$3>>2]|0;HEAP32[$23+4>>2]=HEAP32[$3+4>>2]|0;
- $24 = $6;
- $25 = $7;
- $26 = ((($25)) + 16|0);
- $27 = HEAP8[$26>>0]|0;
- $28 = $24 & 1;
- $29 = $27 & -2;
- $30 = $29 | $28;
- HEAP8[$26>>0] = $30;
- $31 = $7;
- _mrb_obj_value_1113($0,$31);
- STACKTOP = sp;return;
-}
-function _range_check($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 40|0;
- $vararg_buffer = sp;
- $4 = sp + 24|0;
- $7 = sp + 8|0;
- $3 = $0;
- $8 = ((($1)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- $5 = $9;
- $10 = ((($2)) + 4|0);
- $11 = HEAP32[$10>>2]|0;
- $6 = $11;
- $12 = $5;
- $13 = ($12|0)==(3);
- $14 = $5;
- $15 = ($14|0)==(6);
- $or$cond = $13 | $15;
- if ($or$cond) {
-  $16 = $6;
-  $17 = ($16|0)==(3);
-  $18 = $6;
-  $19 = ($18|0)==(6);
-  $or$cond3 = $17 | $19;
-  if ($or$cond3) {
-   STACKTOP = sp;return;
-  }
- }
- $20 = $3;
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_funcall($7,$20,$$byval_copy,69156,1,$vararg_buffer);
- ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
- $21 = ((($4)) + 4|0);
- $22 = HEAP32[$21>>2]|0;
- $23 = ($22|0)==(0);
- if (!($23)) {
-  STACKTOP = sp;return;
- }
- $24 = HEAP32[$4>>2]|0;
- $25 = ($24|0)!=(0);
- if ($25) {
-  STACKTOP = sp;return;
- } else {
-  $26 = $3;
-  $27 = $3;
-  $28 = (_mrb_class_get($27,69160)|0);
-  _mrb_raise($26,$28,69174);
-  // unreachable;
- }
-}
-function _mrb_obj_value_1113($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = HEAP32[$4>>2]|0;
- $6 = $5 & 255;
- $7 = ((($3)) + 4|0);
- HEAP32[$7>>2] = $6;
- $8 = $2;
- HEAP32[$3>>2] = $8;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_range_beg($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- ;HEAP32[$0>>2]=HEAP32[$8>>2]|0;HEAP32[$0+4>>2]=HEAP32[$8+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_range_end($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = ((($6)) + 12|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($8)) + 8|0);
- ;HEAP32[$0>>2]=HEAP32[$9>>2]|0;HEAP32[$0+4>>2]=HEAP32[$9+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_range_excl($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $1;
- $5 = HEAP32[$2>>2]|0;
- $4 = $5;
- $6 = $4;
- $7 = ((($6)) + 16|0);
- $8 = HEAP8[$7>>0]|0;
- $9 = $8 & 1;
- _mrb_bool_value_1117($0,$9);
- STACKTOP = sp;return;
-}
-function _mrb_bool_value_1117($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = $2;
- $5 = $4&255;
- $6 = ($5|0)!=(0);
- $7 = $6 ? 2 : 0;
- $8 = ((($3)) + 4|0);
- HEAP32[$8>>2] = $7;
- HEAP32[$3>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_range_initialize($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy4 = sp + 56|0;
- $$byval_copy3 = sp + 48|0;
- $$byval_copy = sp + 40|0;
- $vararg_buffer = sp;
- $4 = sp + 24|0;
- $5 = sp + 16|0;
- $6 = sp + 64|0;
- $3 = $1;
- $8 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $5;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- HEAP32[$vararg_ptr2>>2] = $6;
- $9 = (_mrb_get_args($8,69194,$vararg_buffer)|0);
- $7 = $9;
- $10 = $7;
- $11 = ($10|0)!=(3);
- if ($11) {
-  HEAP8[$6>>0] = 0;
- }
- $12 = $3;
- $13 = HEAP8[$6>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$5+4>>2]|0;
- _range_init($12,$$byval_copy,$$byval_copy3,$$byval_copy4,$13);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _range_init($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $30 = 0, $31 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy1 = sp + 16|0;
- $$byval_copy = sp + 8|0;
- $5 = $0;
- $6 = $4;
- $8 = HEAP32[$1>>2]|0;
- $7 = $8;
- $9 = $5;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$3+4>>2]|0;
- _range_check($9,$$byval_copy,$$byval_copy1);
- $10 = $6;
- $11 = $7;
- $12 = ((($11)) + 16|0);
- $13 = HEAP8[$12>>0]|0;
- $14 = $10 & 1;
- $15 = $13 & -2;
- $16 = $15 | $14;
- HEAP8[$12>>0] = $16;
- $17 = $7;
- $18 = ((($17)) + 12|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = ($19|0)!=(0|0);
- if (!($20)) {
-  $21 = $5;
-  $22 = (_mrb_malloc($21,16)|0);
-  $23 = $7;
-  $24 = ((($23)) + 12|0);
-  HEAP32[$24>>2] = $22;
- }
- $25 = $7;
- $26 = ((($25)) + 12|0);
- $27 = HEAP32[$26>>2]|0;
- ;HEAP32[$27>>2]=HEAP32[$2>>2]|0;HEAP32[$27+4>>2]=HEAP32[$2+4>>2]|0;
- $28 = $7;
- $29 = ((($28)) + 12|0);
- $30 = HEAP32[$29>>2]|0;
- $31 = ((($30)) + 8|0);
- ;HEAP32[$31>>2]=HEAP32[$3>>2]|0;HEAP32[$31+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_range_eq($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy10 = 0, $$byval_copy11 = 0, $$byval_copy7 = 0, $$byval_copy8 = 0, $$byval_copy9 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
- var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer4 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy11 = sp + 104|0;
- $$byval_copy10 = sp + 96|0;
- $$byval_copy9 = sp + 88|0;
- $$byval_copy8 = sp + 80|0;
- $$byval_copy7 = sp + 72|0;
- $$byval_copy = sp + 64|0;
- $vararg_buffer4 = sp + 16|0;
- $vararg_buffer1 = sp + 8|0;
- $vararg_buffer = sp;
- $6 = sp + 40|0;
- $7 = sp + 32|0;
- $8 = sp + 24|0;
- $3 = $1;
- $9 = $3;
- HEAP32[$vararg_buffer>>2] = $6;
- (_mrb_get_args($9,69199,$vararg_buffer)|0);
- $10 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy7>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$6+4>>2]|0;
- $11 = (_mrb_obj_equal($10,$$byval_copy,$$byval_copy7)|0);
- $12 = ($11<<24>>24)!=(0);
- if ($12) {
-  _mrb_true_value_1120($0);
-  STACKTOP = sp;return;
- }
- $13 = $3;
- $14 = $3;
- ;HEAP32[$$byval_copy8>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy8+4>>2]=HEAP32[$2+4>>2]|0;
- $15 = (_mrb_obj_class($14,$$byval_copy8)|0);
- ;HEAP32[$$byval_copy9>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy9+4>>2]=HEAP32[$6+4>>2]|0;
- $16 = (_mrb_obj_is_instance_of($13,$$byval_copy9,$15)|0);
- $17 = ($16<<24>>24)!=(0);
- if (!($17)) {
-  _mrb_false_value_1121($0);
-  STACKTOP = sp;return;
- }
- $18 = HEAP32[$2>>2]|0;
- $4 = $18;
- $19 = HEAP32[$6>>2]|0;
- $5 = $19;
- $20 = $3;
- $21 = $4;
- $22 = ((($21)) + 12|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = $5;
- $25 = ((($24)) + 12|0);
- $26 = HEAP32[$25>>2]|0;
- ;HEAP8[$vararg_buffer1>>0]=HEAP8[$26>>0]|0;HEAP8[$vararg_buffer1+1>>0]=HEAP8[$26+1>>0]|0;HEAP8[$vararg_buffer1+2>>0]=HEAP8[$26+2>>0]|0;HEAP8[$vararg_buffer1+3>>0]=HEAP8[$26+3>>0]|0;HEAP8[$vararg_buffer1+4>>0]=HEAP8[$26+4>>0]|0;HEAP8[$vararg_buffer1+5>>0]=HEAP8[$26+5>>0]|0;HEAP8[$vararg_buffer1+6>>0]=HEAP8[$26+6>>0]|0;HEAP8[$vararg_buffer1+7>>0]=HEAP8[$26+7>>0]|0;
- ;HEAP32[$$byval_copy10>>2]=HEAP32[$23>>2]|0;HEAP32[$$byval_copy10+4>>2]=HEAP32[$23+4>>2]|0;
- _mrb_funcall($7,$20,$$byval_copy10,69201,1,$vararg_buffer1);
- $27 = ((($7)) + 4|0);
- $28 = HEAP32[$27>>2]|0;
- $29 = ($28|0)!=(0);
- if ($29) {
-  $30 = $3;
-  $31 = $4;
-  $32 = ((($31)) + 12|0);
-  $33 = HEAP32[$32>>2]|0;
-  $34 = ((($33)) + 8|0);
-  $35 = $5;
-  $36 = ((($35)) + 12|0);
-  $37 = HEAP32[$36>>2]|0;
-  $38 = ((($37)) + 8|0);
-  ;HEAP8[$vararg_buffer4>>0]=HEAP8[$38>>0]|0;HEAP8[$vararg_buffer4+1>>0]=HEAP8[$38+1>>0]|0;HEAP8[$vararg_buffer4+2>>0]=HEAP8[$38+2>>0]|0;HEAP8[$vararg_buffer4+3>>0]=HEAP8[$38+3>>0]|0;HEAP8[$vararg_buffer4+4>>0]=HEAP8[$38+4>>0]|0;HEAP8[$vararg_buffer4+5>>0]=HEAP8[$38+5>>0]|0;HEAP8[$vararg_buffer4+6>>0]=HEAP8[$38+6>>0]|0;HEAP8[$vararg_buffer4+7>>0]=HEAP8[$38+7>>0]|0;
-  ;HEAP32[$$byval_copy11>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy11+4>>2]=HEAP32[$34+4>>2]|0;
-  _mrb_funcall($8,$30,$$byval_copy11,69201,1,$vararg_buffer4);
-  $39 = ((($8)) + 4|0);
-  $40 = HEAP32[$39>>2]|0;
-  $41 = ($40|0)!=(0);
-  if ($41) {
-   $42 = $4;
-   $43 = ((($42)) + 16|0);
-   $44 = HEAP8[$43>>0]|0;
-   $45 = $44 & 1;
-   $46 = $45&255;
-   $47 = $5;
-   $48 = ((($47)) + 16|0);
-   $49 = HEAP8[$48>>0]|0;
-   $50 = $49 & 1;
-   $51 = $50&255;
-   $52 = ($46|0)!=($51|0);
-   if (!($52)) {
-    _mrb_true_value_1120($0);
-    STACKTOP = sp;return;
-   }
-  }
- }
- _mrb_false_value_1121($0);
- STACKTOP = sp;return;
-}
-function _mrb_true_value_1120($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 2;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_false_value_1121($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ((($1)) + 4|0);
- HEAP32[$2>>2] = 0;
- HEAP32[$1>>2] = 1;
- ;HEAP32[$0>>2]=HEAP32[$1>>2]|0;HEAP32[$0+4>>2]=HEAP32[$1+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_range_include($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0);
- $$byval_copy5 = sp + 88|0;
- $$byval_copy4 = sp + 80|0;
- $$byval_copy3 = sp + 72|0;
- $$byval_copy2 = sp + 64|0;
- $$byval_copy1 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $vararg_buffer = sp;
- $4 = sp + 32|0;
- $6 = sp + 16|0;
- $7 = sp + 8|0;
- $3 = $1;
- $9 = HEAP32[$2>>2]|0;
- $5 = $9;
- $10 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($10,69199,$vararg_buffer)|0);
- $11 = $5;
- $12 = ((($11)) + 12|0);
- $13 = HEAP32[$12>>2]|0;
- ;HEAP32[$6>>2]=HEAP32[$13>>2]|0;HEAP32[$6+4>>2]=HEAP32[$13+4>>2]|0;
- $14 = $5;
- $15 = ((($14)) + 12|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = ((($16)) + 8|0);
- ;HEAP32[$7>>2]=HEAP32[$17>>2]|0;HEAP32[$7+4>>2]=HEAP32[$17+4>>2]|0;
- $18 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$6+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $19 = (_r_le($18,$$byval_copy,$$byval_copy1)|0);
- $20 = $19&255;
- $21 = ($20|0)!=(0);
- if (!($21)) {
-  $37 = 0;
-  $36 = $37&1;
-  $38 = $36&255;
-  $8 = $38;
-  $39 = $8;
-  _mrb_bool_value_1117($0,$39);
-  STACKTOP = sp;return;
- }
- $22 = $5;
- $23 = ((($22)) + 16|0);
- $24 = HEAP8[$23>>0]|0;
- $25 = $24 & 1;
- $26 = $25&255;
- $27 = ($26|0)!=(0);
- if ($27) {
-  $28 = $3;
-  ;HEAP32[$$byval_copy2>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$7+4>>2]|0;
-  ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
-  $29 = (_r_gt($28,$$byval_copy2,$$byval_copy3)|0);
-  $30 = $29&255;
-  $31 = ($30|0)!=(0);
-  if ($31) {
-   $37 = 1;
-   $36 = $37&1;
-   $38 = $36&255;
-   $8 = $38;
-   $39 = $8;
-   _mrb_bool_value_1117($0,$39);
-   STACKTOP = sp;return;
-  }
- }
- $32 = $3;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$7+4>>2]|0;
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0;
- $33 = (_r_ge($32,$$byval_copy4,$$byval_copy5)|0);
- $34 = $33&255;
- $35 = ($34|0)!=(0);
- $37 = $35;
- $36 = $37&1;
- $38 = $36&255;
- $8 = $38;
- $39 = $8;
- _mrb_bool_value_1117($0,$39);
- STACKTOP = sp;return;
-}
-function _r_le($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $5 = sp + 16|0;
- $4 = $0;
- $7 = $4;
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_funcall($5,$7,$$byval_copy,69156,1,$vararg_buffer);
- $8 = ((($5)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ($9|0)==(3);
- if ($10) {
-  $11 = HEAP32[$5>>2]|0;
-  $6 = $11;
-  $12 = $6;
-  $13 = ($12|0)==(0);
-  $14 = $6;
-  $15 = ($14|0)==(-1);
-  $or$cond = $13 | $15;
-  if ($or$cond) {
-   $3 = 1;
-   $16 = $3;
-   STACKTOP = sp;return ($16|0);
-  }
- }
- $3 = 0;
- $16 = $3;
- STACKTOP = sp;return ($16|0);
-}
-function _r_gt($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $0;
- $5 = $3;
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_funcall($4,$5,$$byval_copy,69156,1,$vararg_buffer);
- $6 = ((($4)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)==(3);
- $9 = HEAP32[$4>>2]|0;
- $10 = ($9|0)==(1);
- $11 = $8 ? $10 : 0;
- $12 = $11&1;
- $13 = $12&255;
- STACKTOP = sp;return ($13|0);
-}
-function _r_ge($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $5 = sp + 16|0;
- $4 = $0;
- $7 = $4;
- ;HEAP8[$vararg_buffer>>0]=HEAP8[$2>>0]|0;HEAP8[$vararg_buffer+1>>0]=HEAP8[$2+1>>0]|0;HEAP8[$vararg_buffer+2>>0]=HEAP8[$2+2>>0]|0;HEAP8[$vararg_buffer+3>>0]=HEAP8[$2+3>>0]|0;HEAP8[$vararg_buffer+4>>0]=HEAP8[$2+4>>0]|0;HEAP8[$vararg_buffer+5>>0]=HEAP8[$2+5>>0]|0;HEAP8[$vararg_buffer+6>>0]=HEAP8[$2+6>>0]|0;HEAP8[$vararg_buffer+7>>0]=HEAP8[$2+7>>0]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- _mrb_funcall($5,$7,$$byval_copy,69156,1,$vararg_buffer);
- $8 = ((($5)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ($9|0)==(3);
- if ($10) {
-  $11 = HEAP32[$5>>2]|0;
-  $6 = $11;
-  $12 = $6;
-  $13 = ($12|0)==(0);
-  $14 = $6;
-  $15 = ($14|0)==(1);
-  $or$cond = $13 | $15;
-  if ($or$cond) {
-   $3 = 1;
-   $16 = $3;
-   STACKTOP = sp;return ($16|0);
-  }
- }
- $3 = 0;
- $16 = $3;
- STACKTOP = sp;return ($16|0);
-}
-function _mrb_range_beg_len($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 16|0;
- $5 = $0;
- $6 = $2;
- $7 = $3;
- $8 = $4;
- $9 = $5;
- $10 = $6;
- $11 = $7;
- $12 = $8;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
- $13 = (_range_beg_len($9,$$byval_copy,$10,$11,$12,1)|0);
- STACKTOP = sp;return ($13|0);
-}
-function _range_beg_len($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $$ = 0, $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy1 = sp + 56|0;
- $$byval_copy = sp + 48|0;
- $15 = sp + 8|0;
- $16 = sp;
- $7 = $0;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- $11 = $5;
- $17 = HEAP32[$1>>2]|0;
- $14 = $17;
- $18 = ((($1)) + 4|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = ($19|0)!=(17);
- if ($20) {
-  $6 = 0;
-  $74 = $6;
-  STACKTOP = sp;return ($74|0);
- }
- $21 = $7;
- $22 = $14;
- $23 = ((($22)) + 12|0);
- $24 = HEAP32[$23>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$24+4>>2]|0;
- _mrb_to_int($15,$21,$$byval_copy);
- $25 = HEAP32[$15>>2]|0;
- $12 = $25;
- $26 = $7;
- $27 = $14;
- $28 = ((($27)) + 12|0);
- $29 = HEAP32[$28>>2]|0;
- $30 = ((($29)) + 8|0);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$30>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$30+4>>2]|0;
- _mrb_to_int($16,$26,$$byval_copy1);
- $31 = HEAP32[$16>>2]|0;
- $13 = $31;
- $32 = $12;
- $33 = ($32|0)<(0);
- if ($33) {
-  $34 = $10;
-  $35 = $12;
-  $36 = (($35) + ($34))|0;
-  $12 = $36;
-  $37 = $12;
-  $38 = ($37|0)<(0);
-  if ($38) {
-   $6 = 0;
-   $74 = $6;
-   STACKTOP = sp;return ($74|0);
-  }
- }
- $39 = $11;
- $40 = ($39<<24>>24)!=(0);
- do {
-  if ($40) {
-   $41 = $12;
-   $42 = $10;
-   $43 = ($41|0)>($42|0);
-   if ($43) {
-    $6 = 0;
-    $74 = $6;
-    STACKTOP = sp;return ($74|0);
-   } else {
-    $44 = $13;
-    $45 = $10;
-    $46 = ($44|0)>($45|0);
-    if (!($46)) {
-     break;
-    }
-    $47 = $10;
-    $13 = $47;
-    break;
-   }
-  }
- } while(0);
- $48 = $13;
- $49 = ($48|0)<(0);
- if ($49) {
-  $50 = $10;
-  $51 = $13;
-  $52 = (($51) + ($50))|0;
-  $13 = $52;
- }
- $53 = $14;
- $54 = ((($53)) + 16|0);
- $55 = HEAP8[$54>>0]|0;
- $56 = $55 & 1;
- $57 = ($56<<24>>24)!=(0);
- do {
-  if (!($57)) {
-   $58 = $11;
-   $59 = ($58<<24>>24)!=(0);
-   if ($59) {
-    $60 = $13;
-    $61 = $10;
-    $62 = ($60|0)<($61|0);
-    if (!($62)) {
-     break;
-    }
-   }
-   $63 = $13;
-   $64 = (($63) + 1)|0;
-   $13 = $64;
-  }
- } while(0);
- $65 = $13;
- $66 = $12;
- $67 = (($65) - ($66))|0;
- $10 = $67;
- $68 = $10;
- $69 = ($68|0)<(0);
- $$ = $69 ? 0 : $67;
- $10 = $$;
- $70 = $12;
- $71 = $8;
- HEAP32[$71>>2] = $70;
- $72 = $10;
- $73 = $9;
- HEAP32[$73>>2] = $72;
- $6 = 1;
- $74 = $6;
- STACKTOP = sp;return ($74|0);
-}
-function _mrb_init_range($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $3 = $1;
- $4 = $1;
- $5 = ((($4)) + 32|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (_mrb_define_class($3,69150,$6)|0);
- $2 = $7;
- $8 = $2;
- $9 = HEAP32[$8>>2]|0;
- $10 = $9 >>> 11;
- $11 = $10 & -256;
- $12 = $11 | 17;
- $13 = $2;
- $14 = HEAP32[$13>>2]|0;
- $15 = $12 & 2097151;
- $16 = $15 << 11;
- $17 = $14 & 2047;
- $18 = $17 | $16;
- HEAP32[$13>>2] = $18;
- $19 = $1;
- $20 = $2;
- _mrb_define_method($19,$20,69214,320,0);
- $21 = $1;
- $22 = $2;
- _mrb_define_method($21,$22,69220,321,0);
- $23 = $1;
- $24 = $2;
- _mrb_define_method($23,$24,69201,322,262144);
- $25 = $1;
- $26 = $2;
- _mrb_define_method($25,$26,69591,323,262144);
- $27 = $1;
- $28 = $2;
- _mrb_define_method($27,$28,69224,324,0);
- $29 = $1;
- $30 = $2;
- _mrb_define_method($29,$30,69237,320,0);
- $31 = $1;
- $32 = $2;
- _mrb_define_method($31,$32,69243,323,262144);
- $33 = $1;
- $34 = $2;
- _mrb_define_method($33,$34,69252,325,4096);
- $35 = $1;
- $36 = $2;
- _mrb_define_method($35,$36,69263,321,0);
- $37 = $1;
- $38 = $2;
- _mrb_define_method($37,$38,69268,323,262144);
- $39 = $1;
- $40 = $2;
- _mrb_define_method($39,$40,69276,326,0);
- $41 = $1;
- $42 = $2;
- _mrb_define_method($41,$42,69281,327,0);
- $43 = $1;
- $44 = $2;
- _mrb_define_method($43,$44,69289,328,262144);
- $45 = $1;
- $46 = $2;
- _mrb_define_method($45,$46,69294,329,262144);
- STACKTOP = sp;return;
-}
-function _range_to_s($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
- $$byval_copy5 = sp + 112|0;
- $$byval_copy4 = sp + 104|0;
- $$byval_copy3 = sp + 96|0;
- $$byval_copy2 = sp + 88|0;
- $$byval_copy1 = sp + 80|0;
- $$byval_copy = sp + 72|0;
- $4 = sp + 56|0;
- $5 = sp + 48|0;
- $7 = sp + 32|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $10 = sp + 8|0;
- $11 = sp;
- $3 = $1;
- $12 = HEAP32[$2>>2]|0;
- $6 = $12;
- $13 = $3;
- $14 = $6;
- $15 = ((($14)) + 12|0);
- $16 = HEAP32[$15>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$16+4>>2]|0;
- _mrb_obj_as_string($7,$13,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
- $17 = $3;
- $18 = $6;
- $19 = ((($18)) + 12|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = ((($20)) + 8|0);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$21+4>>2]|0;
- _mrb_obj_as_string($8,$17,$$byval_copy1);
- ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;
- $22 = $3;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_dup($9,$22,$$byval_copy2);
- ;HEAP32[$4>>2]=HEAP32[$9>>2]|0;HEAP32[$4+4>>2]=HEAP32[$9+4>>2]|0;
- $23 = $3;
- $24 = $6;
- $25 = ((($24)) + 16|0);
- $26 = HEAP8[$25>>0]|0;
- $27 = $26 & 1;
- $28 = $27&255;
- $29 = ($28|0)!=(0);
- $30 = $29 ? 3 : 2;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_cat($10,$23,$$byval_copy3,69331,$30);
- $31 = $3;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_str_cat_str($11,$31,$$byval_copy4,$$byval_copy5);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _range_inspect($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
- $$byval_copy5 = sp + 112|0;
- $$byval_copy4 = sp + 104|0;
- $$byval_copy3 = sp + 96|0;
- $$byval_copy2 = sp + 88|0;
- $$byval_copy1 = sp + 80|0;
- $$byval_copy = sp + 72|0;
- $4 = sp + 56|0;
- $5 = sp + 48|0;
- $7 = sp + 32|0;
- $8 = sp + 24|0;
- $9 = sp + 16|0;
- $10 = sp + 8|0;
- $11 = sp;
- $3 = $1;
- $12 = HEAP32[$2>>2]|0;
- $6 = $12;
- $13 = $3;
- $14 = $6;
- $15 = ((($14)) + 12|0);
- $16 = HEAP32[$15>>2]|0;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$16>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$16+4>>2]|0;
- _mrb_inspect($7,$13,$$byval_copy);
- ;HEAP32[$4>>2]=HEAP32[$7>>2]|0;HEAP32[$4+4>>2]=HEAP32[$7+4>>2]|0;
- $17 = $3;
- $18 = $6;
- $19 = ((($18)) + 12|0);
- $20 = HEAP32[$19>>2]|0;
- $21 = ((($20)) + 8|0);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$21>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$21+4>>2]|0;
- _mrb_inspect($8,$17,$$byval_copy1);
- ;HEAP32[$5>>2]=HEAP32[$8>>2]|0;HEAP32[$5+4>>2]=HEAP32[$8+4>>2]|0;
- $22 = $3;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_dup($9,$22,$$byval_copy2);
- ;HEAP32[$4>>2]=HEAP32[$9>>2]|0;HEAP32[$4+4>>2]=HEAP32[$9+4>>2]|0;
- $23 = $3;
- $24 = $6;
- $25 = ((($24)) + 16|0);
- $26 = HEAP8[$25>>0]|0;
- $27 = $26 & 1;
- $28 = $27&255;
- $29 = ($28|0)!=(0);
- $30 = $29 ? 3 : 2;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_str_cat($10,$23,$$byval_copy3,69331,$30);
- $31 = $3;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$4+4>>2]|0;
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_str_cat_str($11,$31,$$byval_copy4,$$byval_copy5);
- ;HEAP32[$0>>2]=HEAP32[$4>>2]|0;HEAP32[$0+4>>2]=HEAP32[$4+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _range_eql($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
- var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
- var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0);
- $$byval_copy6 = sp + 80|0;
- $$byval_copy5 = sp + 72|0;
- $$byval_copy4 = sp + 64|0;
- $$byval_copy3 = sp + 56|0;
- $$byval_copy2 = sp + 48|0;
- $$byval_copy1 = sp + 40|0;
- $$byval_copy = sp + 32|0;
- $vararg_buffer = sp;
- $4 = sp + 16|0;
- $3 = $1;
- $7 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($7,69199,$vararg_buffer)|0);
- $8 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $9 = (_mrb_obj_equal($8,$$byval_copy,$$byval_copy1)|0);
- $10 = ($9<<24>>24)!=(0);
- if ($10) {
-  _mrb_true_value_1120($0);
-  STACKTOP = sp;return;
- }
- $11 = $3;
- $12 = $3;
- $13 = (_mrb_class_get($12,69150)|0);
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$4+4>>2]|0;
- $14 = (_mrb_obj_is_kind_of($11,$$byval_copy2,$13)|0);
- $15 = ($14<<24>>24)!=(0);
- if (!($15)) {
-  _mrb_false_value_1121($0);
-  STACKTOP = sp;return;
- }
- $16 = ((($4)) + 4|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = ($17|0)!=(17);
- if ($18) {
-  _mrb_false_value_1121($0);
-  STACKTOP = sp;return;
- }
- $19 = HEAP32[$2>>2]|0;
- $5 = $19;
- $20 = HEAP32[$4>>2]|0;
- $6 = $20;
- $21 = $3;
- $22 = $5;
- $23 = ((($22)) + 12|0);
- $24 = HEAP32[$23>>2]|0;
- $25 = $6;
- $26 = ((($25)) + 12|0);
- $27 = HEAP32[$26>>2]|0;
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$24>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$24+4>>2]|0;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$27>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$27+4>>2]|0;
- $28 = (_mrb_eql($21,$$byval_copy3,$$byval_copy4)|0);
- $29 = ($28<<24>>24)!=(0);
- if ($29) {
-  $30 = $3;
-  $31 = $5;
-  $32 = ((($31)) + 12|0);
-  $33 = HEAP32[$32>>2]|0;
-  $34 = ((($33)) + 8|0);
-  $35 = $6;
-  $36 = ((($35)) + 12|0);
-  $37 = HEAP32[$36>>2]|0;
-  $38 = ((($37)) + 8|0);
-  ;HEAP32[$$byval_copy5>>2]=HEAP32[$34>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$34+4>>2]|0;
-  ;HEAP32[$$byval_copy6>>2]=HEAP32[$38>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$38+4>>2]|0;
-  $39 = (_mrb_eql($30,$$byval_copy5,$$byval_copy6)|0);
-  $40 = ($39<<24>>24)!=(0);
-  if ($40) {
-   $41 = $5;
-   $42 = ((($41)) + 16|0);
-   $43 = HEAP8[$42>>0]|0;
-   $44 = $43 & 1;
-   $45 = $44&255;
-   $46 = $6;
-   $47 = ((($46)) + 16|0);
-   $48 = HEAP8[$47>>0]|0;
-   $49 = $48 & 1;
-   $50 = $49&255;
-   $51 = ($45|0)!=($50|0);
-   if (!($51)) {
-    _mrb_true_value_1120($0);
-    STACKTOP = sp;return;
-   }
-  }
- }
- _mrb_false_value_1121($0);
- STACKTOP = sp;return;
-}
-function _range_initialize_copy($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
- var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $$byval_copy6 = sp + 72|0;
- $$byval_copy5 = sp + 64|0;
- $$byval_copy4 = sp + 56|0;
- $$byval_copy3 = sp + 48|0;
- $$byval_copy2 = sp + 40|0;
- $$byval_copy1 = sp + 32|0;
- $$byval_copy = sp + 24|0;
- $vararg_buffer = sp;
- $4 = sp + 8|0;
- $3 = $1;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $4;
- (_mrb_get_args($6,69199,$vararg_buffer)|0);
- $7 = $3;
- ;HEAP32[$$byval_copy>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- $8 = (_mrb_obj_equal($7,$$byval_copy,$$byval_copy1)|0);
- $9 = ($8<<24>>24)!=(0);
- if ($9) {
-  ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
-  STACKTOP = sp;return;
- }
- $10 = $3;
- $11 = $3;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
- $12 = (_mrb_obj_class($11,$$byval_copy2)|0);
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$4+4>>2]|0;
- $13 = (_mrb_obj_is_instance_of($10,$$byval_copy3,$12)|0);
- $14 = ($13<<24>>24)!=(0);
- if (!($14)) {
-  $15 = $3;
-  $16 = $3;
-  $17 = (_mrb_class_get($16,69204)|0);
-  _mrb_raise($15,$17,69310);
-  // unreachable;
- }
- $18 = HEAP32[$4>>2]|0;
- $5 = $18;
- $19 = $3;
- $20 = $5;
- $21 = ((($20)) + 12|0);
- $22 = HEAP32[$21>>2]|0;
- $23 = $5;
- $24 = ((($23)) + 12|0);
- $25 = HEAP32[$24>>2]|0;
- $26 = ((($25)) + 8|0);
- $27 = $5;
- $28 = ((($27)) + 16|0);
- $29 = HEAP8[$28>>0]|0;
- $30 = $29 & 1;
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$2+4>>2]|0;
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$22>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$22+4>>2]|0;
- ;HEAP32[$$byval_copy6>>2]=HEAP32[$26>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$26+4>>2]|0;
- _range_init($19,$$byval_copy4,$$byval_copy5,$$byval_copy6,$30);
- ;HEAP32[$0>>2]=HEAP32[$2>>2]|0;HEAP32[$0+4>>2]=HEAP32[$2+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_init_version($0) {
- $0 = $0|0;
- var $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
- var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 144|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(144|0);
- $$byval_copy7 = sp + 128|0;
- $$byval_copy6 = sp + 120|0;
- $$byval_copy5 = sp + 112|0;
- $$byval_copy4 = sp + 104|0;
- $$byval_copy3 = sp + 96|0;
- $$byval_copy2 = sp + 88|0;
- $$byval_copy1 = sp + 80|0;
- $$byval_copy = sp + 72|0;
- $2 = sp + 56|0;
- $3 = sp + 48|0;
- $4 = sp + 40|0;
- $5 = sp + 32|0;
- $6 = sp + 24|0;
- $7 = sp + 16|0;
- $8 = sp + 8|0;
- $9 = sp;
- $1 = $0;
- $10 = $1;
- _mrb_str_new_static($2,$10,69335,5);
- $11 = $1;
- $12 = $1;
- _mrb_str_new_static($3,$12,69341,3);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$3+4>>2]|0;
- _mrb_define_global_const($11,69345,$$byval_copy);
- $13 = $1;
- $14 = $1;
- _mrb_str_new_static($4,$14,69358,5);
- ;HEAP32[$$byval_copy1>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$4+4>>2]|0;
- _mrb_define_global_const($13,69364,$$byval_copy1);
- $15 = $1;
- ;HEAP32[$$byval_copy2>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$2+4>>2]|0;
- _mrb_define_global_const($15,69376,$$byval_copy2);
- $16 = $1;
- $17 = $1;
- _mrb_str_new_static($5,$17,69335,5);
- ;HEAP32[$$byval_copy3>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$5+4>>2]|0;
- _mrb_define_global_const($16,69396,$$byval_copy3);
- $18 = $1;
- _mrb_fixnum_value_1154($6,10200);
- ;HEAP32[$$byval_copy4>>2]=HEAP32[$6>>2]|0;HEAP32[$$byval_copy4+4>>2]=HEAP32[$6+4>>2]|0;
- _mrb_define_global_const($18,69410,$$byval_copy4);
- $19 = $1;
- $20 = $1;
- _mrb_str_new_static($7,$20,69427,10);
- ;HEAP32[$$byval_copy5>>2]=HEAP32[$7>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$7+4>>2]|0;
- _mrb_define_global_const($19,69438,$$byval_copy5);
- $21 = $1;
- $22 = $1;
- _mrb_str_new_static($8,$22,69457,25);
- ;HEAP32[$$byval_copy6>>2]=HEAP32[$8>>2]|0;HEAP32[$$byval_copy6+4>>2]=HEAP32[$8+4>>2]|0;
- _mrb_define_global_const($21,69483,$$byval_copy6);
- $23 = $1;
- $24 = $1;
- _mrb_str_new_static($9,$24,69501,48);
- ;HEAP32[$$byval_copy7>>2]=HEAP32[$9>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$9+4>>2]|0;
- _mrb_define_global_const($23,69550,$$byval_copy7);
- STACKTOP = sp;return;
-}
-function _mrb_fixnum_value_1154($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _mrb_generate_code($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$028 = 0, $$reg2mem26$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
- var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0;
- var $9 = 0, $cond = 0, $cond29 = 0, $cond30 = 0, $cond31 = 0, $cond32 = 0, $cond33 = 0, $cond34 = 0, $cond35 = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0, sp = 0;
- sp = STACKTOP;
- _setjmpTableSize = 4;_setjmpTable = _malloc(40) | 0;HEAP32[_setjmpTable>>2]=0;
- __THREW__ = 0;
- $2 = (invoke_iiii(330,($0|0),(0|0),(0|0))|0);
- $3 = __THREW__; __THREW__ = 0;
- if ((($3|0) != 0) & ((threwValue|0) != 0)) { $4 = _testSetjmp(HEAP32[$3>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($4|0) == 0) { _longjmp($3|0, threwValue|0); } tempRet0 = (threwValue); } else { $4 = -1; };
- $5 = tempRet0;
- $cond = ($4|0)==(1);
- do {
-  if ($cond) {
-   $$reg2mem26$0 = $5;
-  } else {
-   $6 = ($2|0)!=(0|0);
-   if ($6) {
-    HEAP32[$2>>2] = $0;
-    $7 = ((($2)) + 248|0);
-    HEAP32[$7>>2] = $1;
-    $8 = ((($1)) + 28|0);
-    $9 = HEAP32[$8>>2]|0;
-    $10 = ((($2)) + 196|0);
-    HEAP32[$10>>2] = $9;
-    $11 = ((($1)) + 1400|0);
-    $12 = HEAP32[$11>>2]|0;
-    $13 = $12&65535;
-    $14 = ((($2)) + 244|0);
-    HEAP16[$14>>1] = $13;
-    $15 = ((($2)) + 8|0);
-    _setjmpTable = _saveSetjmp($15,1,_setjmpTable|0,_setjmpTableSize|0)|0;_setjmpTableSize = tempRet0;
-    __THREW__ = 0;
-    $16 = __THREW__; __THREW__ = 0;
-    if ((($16|0) != 0) & ((threwValue|0) != 0)) { $17 = _testSetjmp(HEAP32[$16>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($17|0) == 0) { _longjmp($16|0, threwValue|0); } tempRet0 = (threwValue); } else { $17 = -1; };
-    $18 = tempRet0;
-    $cond29 = ($17|0)==(1);
-    if ($cond29) {
-     $$reg2mem26$0 = $18;
-     break;
-    }
-    $$reg2mem26$0 = 0;
-    break;
-   } else {
-    $$028 = 0;
-    _free(_setjmpTable|0);
-    return ($$028|0);
-   }
-  }
- } while(0);
- while(1) {
-  $19 = ($$reg2mem26$0|0)==(0);
-  if ($19) {
-   $20 = ((($1)) + 1144|0);
-   $21 = HEAP32[$20>>2]|0;
-   __THREW__ = 0;
-   invoke_viii(331,($2|0),($21|0),0);
-   $22 = __THREW__; __THREW__ = 0;
-   if ((($22|0) != 0) & ((threwValue|0) != 0)) { $23 = _testSetjmp(HEAP32[$22>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($23|0) == 0) { _longjmp($22|0, threwValue|0); } tempRet0 = (threwValue); } else { $23 = -1; };
-   $24 = tempRet0;
-   $cond32 = ($23|0)==(1);
-   if ($cond32) {
-    $$reg2mem26$0 = $24;
-    continue;
-   }
-   $25 = ((($2)) + 216|0);
-   $26 = HEAP32[$25>>2]|0;
-   __THREW__ = 0;
-   $27 = (invoke_iii(195,($0|0),($26|0))|0);
-   $28 = __THREW__; __THREW__ = 0;
-   if ((($28|0) != 0) & ((threwValue|0) != 0)) { $29 = _testSetjmp(HEAP32[$28>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($29|0) == 0) { _longjmp($28|0, threwValue|0); } tempRet0 = (threwValue); } else { $29 = -1; };
-   $30 = tempRet0;
-   $cond33 = ($29|0)==(1);
-   if ($cond33) {
-    $$reg2mem26$0 = $30;
-    continue;
-   }
-   $31 = ((($2)) + 216|0);
-   $32 = HEAP32[$31>>2]|0;
-   __THREW__ = 0;
-   invoke_vii(332,($0|0),($32|0));
-   $33 = __THREW__; __THREW__ = 0;
-   if ((($33|0) != 0) & ((threwValue|0) != 0)) { $34 = _testSetjmp(HEAP32[$33>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($34|0) == 0) { _longjmp($33|0, threwValue|0); } tempRet0 = (threwValue); } else { $34 = -1; };
-   $35 = tempRet0;
-   $cond34 = ($34|0)==(1);
-   if ($cond34) {
-    $$reg2mem26$0 = $35;
-    continue;
-   }
-   $36 = ((($2)) + 4|0);
-   $37 = HEAP32[$36>>2]|0;
-   __THREW__ = 0;
-   invoke_vi(333,($37|0));
-   $38 = __THREW__; __THREW__ = 0;
-   if ((($38|0) != 0) & ((threwValue|0) != 0)) { $39 = _testSetjmp(HEAP32[$38>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($39|0) == 0) { _longjmp($38|0, threwValue|0); } tempRet0 = (threwValue); } else { $39 = -1; };
-   $40 = tempRet0;
-   $cond35 = ($39|0)==(1);
-   if ($cond35) {
-    $$reg2mem26$0 = $40;
-    continue;
-   } else {
-    label = 11;
-    break;
-   }
-  } else {
-   $41 = ((($2)) + 196|0);
-   $42 = HEAP32[$41>>2]|0;
-   $43 = ((($2)) + 216|0);
-   $44 = HEAP32[$43>>2]|0;
-   $45 = ((($44)) + 28|0);
-   $46 = HEAP32[$45>>2]|0;
-   $47 = ($42|0)==($46|0);
-   if ($47) {
-    $48 = ((($2)) + 216|0);
-    $49 = HEAP32[$48>>2]|0;
-    $50 = ((($49)) + 28|0);
-    HEAP32[$50>>2] = 0;
-   }
-   $51 = ((($2)) + 216|0);
-   $52 = HEAP32[$51>>2]|0;
-   __THREW__ = 0;
-   invoke_vii(332,($0|0),($52|0));
-   $53 = __THREW__; __THREW__ = 0;
-   if ((($53|0) != 0) & ((threwValue|0) != 0)) { $54 = _testSetjmp(HEAP32[$53>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($54|0) == 0) { _longjmp($53|0, threwValue|0); } tempRet0 = (threwValue); } else { $54 = -1; };
-   $55 = tempRet0;
-   $cond30 = ($54|0)==(1);
-   if ($cond30) {
-    $$reg2mem26$0 = $55;
-    continue;
-   }
-   $56 = ((($2)) + 4|0);
-   $57 = HEAP32[$56>>2]|0;
-   __THREW__ = 0;
-   invoke_vi(333,($57|0));
-   $58 = __THREW__; __THREW__ = 0;
-   if ((($58|0) != 0) & ((threwValue|0) != 0)) { $59 = _testSetjmp(HEAP32[$58>>2]|0, _setjmpTable|0, _setjmpTableSize|0)|0; if (($59|0) == 0) { _longjmp($58|0, threwValue|0); } tempRet0 = (threwValue); } else { $59 = -1; };
-   $60 = tempRet0;
-   $cond31 = ($59|0)==(1);
-   if ($cond31) {
-    $$reg2mem26$0 = $60;
-    continue;
-   } else {
-    label = 16;
-    break;
-   }
-  }
- }
- if ((label|0) == 11) {
-  $$028 = $27;
-  _free(_setjmpTable|0);
-  return ($$028|0);
- }
- else if ((label|0) == 16) {
-  $$028 = 0;
-  _free(_setjmpTable|0);
-  return ($$028|0);
- }
- return (0)|0;
-}
-function _scope_new($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$sink = 0, $$sink2 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
- var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
- var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
- var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0;
- var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
- var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
- var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
- var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
- var $243 = 0, $244 = 0, $245 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0;
- var $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0;
- var $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0;
- var $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0;
- var $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $11 = $4;
- $12 = (_mrb_pool_open($11)|0);
- $7 = $12;
- $13 = $7;
- $14 = (_mrb_pool_alloc($13,252)|0);
- $8 = $14;
- $15 = $8;
- $16 = ($15|0)!=(0|0);
- if (!($16)) {
-  $3 = 0;
-  $245 = $3;
-  STACKTOP = sp;return ($245|0);
- }
- $17 = $8;
- _memcpy(($17|0),(74940|0),252)|0;
- $18 = $4;
- $19 = $8;
- HEAP32[$19>>2] = $18;
- $20 = $7;
- $21 = $8;
- $22 = ((($21)) + 4|0);
- HEAP32[$22>>2] = $20;
- $23 = $5;
- $24 = ($23|0)!=(0|0);
- if (!($24)) {
-  $25 = $8;
-  $3 = $25;
-  $245 = $3;
-  STACKTOP = sp;return ($245|0);
- }
- $26 = $5;
- $27 = $8;
- $28 = ((($27)) + 164|0);
- HEAP32[$28>>2] = $26;
- $29 = $8;
- $30 = ((($29)) + 184|0);
- $31 = HEAP16[$30>>1]|0;
- $32 = $31 & -32768;
- $33 = $32 | 32767;
- HEAP16[$30>>1] = $33;
- $34 = $8;
- $35 = ((($34)) + 184|0);
- $36 = HEAP16[$35>>1]|0;
- $37 = $36 & 32767;
- HEAP16[$35>>1] = $37;
- $38 = $4;
- $39 = (_mrb_add_irep($38)|0);
- $40 = $8;
- $41 = ((($40)) + 216|0);
- HEAP32[$41>>2] = $39;
- $42 = $5;
- $43 = $8;
- $44 = ((($43)) + 216|0);
- $45 = HEAP32[$44>>2]|0;
- _scope_add_irep($42,$45);
- $46 = $8;
- $47 = ((($46)) + 228|0);
- HEAP32[$47>>2] = 8;
- $48 = $4;
- $49 = $8;
- $50 = ((($49)) + 228|0);
- $51 = HEAP32[$50>>2]|0;
- $52 = $51<<2;
- $53 = (_mrb_malloc($48,$52)|0);
- $54 = $8;
- $55 = ((($54)) + 216|0);
- $56 = HEAP32[$55>>2]|0;
- $57 = ((($56)) + 20|0);
- HEAP32[$57>>2] = $53;
- $58 = $8;
- $59 = ((($58)) + 212|0);
- HEAP32[$59>>2] = 1024;
- $60 = $4;
- $61 = $8;
- $62 = ((($61)) + 212|0);
- $63 = HEAP32[$62>>2]|0;
- $64 = $63<<2;
- $65 = (_mrb_malloc($60,$64)|0);
- $66 = $8;
- $67 = ((($66)) + 204|0);
- HEAP32[$67>>2] = $65;
- $68 = $8;
- $69 = ((($68)) + 204|0);
- $70 = HEAP32[$69>>2]|0;
- $71 = $8;
- $72 = ((($71)) + 216|0);
- $73 = HEAP32[$72>>2]|0;
- $74 = ((($73)) + 8|0);
- HEAP32[$74>>2] = $70;
- $75 = $8;
- $76 = ((($75)) + 220|0);
- HEAP32[$76>>2] = 32;
- $77 = $4;
- $78 = $8;
- $79 = ((($78)) + 220|0);
- $80 = HEAP32[$79>>2]|0;
- $81 = $80<<3;
- $82 = (_mrb_malloc($77,$81)|0);
- $83 = $8;
- $84 = ((($83)) + 216|0);
- $85 = HEAP32[$84>>2]|0;
- $86 = ((($85)) + 12|0);
- HEAP32[$86>>2] = $82;
- $87 = $8;
- $88 = ((($87)) + 216|0);
- $89 = HEAP32[$88>>2]|0;
- $90 = ((($89)) + 44|0);
- HEAP32[$90>>2] = 0;
- $91 = $8;
- $92 = ((($91)) + 224|0);
- HEAP32[$92>>2] = 256;
- $93 = $4;
- $94 = $8;
- $95 = ((($94)) + 224|0);
- $96 = HEAP32[$95>>2]|0;
- $97 = $96<<2;
- $98 = (_mrb_malloc($93,$97)|0);
- $99 = $8;
- $100 = ((($99)) + 216|0);
- $101 = HEAP32[$100>>2]|0;
- $102 = ((($101)) + 16|0);
- HEAP32[$102>>2] = $98;
- $103 = $8;
- $104 = ((($103)) + 216|0);
- $105 = HEAP32[$104>>2]|0;
- $106 = ((($105)) + 48|0);
- HEAP32[$106>>2] = 0;
- $107 = $6;
- $108 = $8;
- $109 = ((($108)) + 168|0);
- HEAP32[$109>>2] = $107;
- $110 = $6;
- $111 = (_node_len($110)|0);
- $112 = (($111) + 1)|0;
- $113 = $8;
- $114 = ((($113)) + 172|0);
- $115 = HEAP32[$114>>2]|0;
- $116 = (($115) + ($112))|0;
- HEAP32[$114>>2] = $116;
- $117 = $8;
- $118 = ((($117)) + 172|0);
- $119 = HEAP32[$118>>2]|0;
- $120 = $119&65535;
- $121 = $8;
- $122 = ((($121)) + 232|0);
- HEAP16[$122>>1] = $120;
- $123 = $6;
- $124 = ($123|0)!=(0|0);
- L9: do {
-  if ($124) {
-   $125 = $6;
-   $9 = $125;
-   $10 = 0;
-   $126 = $4;
-   $127 = $8;
-   $128 = ((($127)) + 232|0);
-   $129 = HEAP16[$128>>1]|0;
-   $130 = $129&65535;
-   $131 = (($130) - 1)|0;
-   $132 = $131<<3;
-   $133 = (_mrb_malloc($126,$132)|0);
-   $134 = $8;
-   $135 = ((($134)) + 216|0);
-   $136 = HEAP32[$135>>2]|0;
-   $137 = ((($136)) + 24|0);
-   HEAP32[$137>>2] = $133;
-   $10 = 0;
-   $138 = $6;
-   $9 = $138;
-   while(1) {
-    $139 = $9;
-    $140 = ($139|0)!=(0|0);
-    if (!($140)) {
-     break L9;
-    }
-    $141 = $9;
-    $142 = HEAP32[$141>>2]|0;
-    $143 = $142;
-    $144 = $8;
-    $145 = ((($144)) + 216|0);
-    $146 = HEAP32[$145>>2]|0;
-    $147 = ((($146)) + 24|0);
-    $148 = HEAP32[$147>>2]|0;
-    $149 = $10;
-    $150 = (($148) + ($149<<3)|0);
-    HEAP32[$150>>2] = $143;
-    $151 = $9;
-    $152 = HEAP32[$151>>2]|0;
-    $153 = $152;
-    $154 = ($153|0)!=(0);
-    $155 = $8;
-    if ($154) {
-     $156 = $9;
-     $157 = HEAP32[$156>>2]|0;
-     $158 = $157;
-     $159 = (_lv_idx($155,$158)|0);
-     $160 = $159&65535;
-     $161 = $8;
-     $162 = ((($161)) + 216|0);
-     $163 = HEAP32[$162>>2]|0;
-     $164 = ((($163)) + 24|0);
-     $165 = HEAP32[$164>>2]|0;
-     $166 = $10;
-     $167 = (($165) + ($166<<3)|0);
-     $$sink = $160;$$sink2 = $167;
-    } else {
-     $168 = ((($155)) + 216|0);
-     $169 = HEAP32[$168>>2]|0;
-     $170 = ((($169)) + 24|0);
-     $171 = HEAP32[$170>>2]|0;
-     $172 = $10;
-     $173 = (($171) + ($172<<3)|0);
-     $$sink = 0;$$sink2 = $173;
-    }
-    $174 = ((($$sink2)) + 4|0);
-    HEAP16[$174>>1] = $$sink;
-    $175 = $10;
-    $176 = (($175) + 1)|0;
-    $10 = $176;
-    $177 = $9;
-    $178 = ((($177)) + 4|0);
-    $179 = HEAP32[$178>>2]|0;
-    $9 = $179;
-   }
-  }
- } while(0);
- $180 = $4;
- $181 = (_mrb_gc_arena_save($180)|0);
- $182 = $8;
- $183 = ((($182)) + 236|0);
- HEAP32[$183>>2] = $181;
- $184 = $5;
- $185 = ((($184)) + 196|0);
- $186 = HEAP32[$185>>2]|0;
- $187 = $8;
- $188 = ((($187)) + 196|0);
- HEAP32[$188>>2] = $186;
- $189 = $8;
- $190 = ((($189)) + 196|0);
- $191 = HEAP32[$190>>2]|0;
- $192 = ($191|0)!=(0|0);
- if ($192) {
-  $193 = $4;
-  $194 = $8;
-  $195 = ((($194)) + 212|0);
-  $196 = HEAP32[$195>>2]|0;
-  $197 = $196<<1;
-  $198 = (_mrb_malloc($193,$197)|0);
-  $199 = $8;
-  $200 = ((($199)) + 208|0);
-  HEAP32[$200>>2] = $198;
- }
- $201 = $5;
- $202 = ((($201)) + 200|0);
- $203 = HEAP16[$202>>1]|0;
- $204 = $8;
- $205 = ((($204)) + 200|0);
- HEAP16[$205>>1] = $203;
- $206 = $8;
- $207 = ((($206)) + 240|0);
- HEAP32[$207>>2] = 0;
- $208 = $8;
- $209 = ((($208)) + 196|0);
- $210 = HEAP32[$209>>2]|0;
- $211 = ($210|0)!=(0|0);
- if ($211) {
-  $212 = $4;
-  $213 = $8;
-  $214 = ((($213)) + 216|0);
-  $215 = HEAP32[$214>>2]|0;
-  (_mrb_debug_info_alloc($212,$215)|0);
-  $216 = $8;
-  $217 = ((($216)) + 196|0);
-  $218 = HEAP32[$217>>2]|0;
-  $219 = $8;
-  $220 = ((($219)) + 216|0);
-  $221 = HEAP32[$220>>2]|0;
-  $222 = ((($221)) + 28|0);
-  HEAP32[$222>>2] = $218;
-  $223 = $8;
-  $224 = ((($223)) + 208|0);
-  $225 = HEAP32[$224>>2]|0;
-  $226 = $8;
-  $227 = ((($226)) + 216|0);
-  $228 = HEAP32[$227>>2]|0;
-  $229 = ((($228)) + 32|0);
-  HEAP32[$229>>2] = $225;
- } else {
-  $230 = $8;
-  $231 = ((($230)) + 216|0);
-  $232 = HEAP32[$231>>2]|0;
-  $233 = ((($232)) + 36|0);
-  HEAP32[$233>>2] = 0;
- }
- $234 = $5;
- $235 = ((($234)) + 248|0);
- $236 = HEAP32[$235>>2]|0;
- $237 = $8;
- $238 = ((($237)) + 248|0);
- HEAP32[$238>>2] = $236;
- $239 = $5;
- $240 = ((($239)) + 244|0);
- $241 = HEAP16[$240>>1]|0;
- $242 = $8;
- $243 = ((($242)) + 244|0);
- HEAP16[$243>>1] = $241;
- $244 = $8;
- $3 = $244;
- $245 = $3;
- STACKTOP = sp;return ($245|0);
-}
-function _codegen($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$byval_copy = 0, $$byval_copy13 = 0, $$byval_copy14 = 0, $$byval_copy15 = 0, $$byval_copy16 = 0, $$byval_copy17 = 0, $$byval_copy18 = 0, $$byval_copy19 = 0, $$byval_copy20 = 0, $$byval_copy21 = 0, $$byval_copy22 = 0, $$byval_copy23 = 0, $$byval_copy24 = 0, $$byval_copy25 = 0, $$byval_copy26 = 0, $$byval_copy27 = 0, $$byval_copy28 = 0, $$byval_copy29 = 0, $$byval_copy30 = 0, $$sink12 = 0;
- var $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $101 = 0.0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0;
- var $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0;
- var $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0;
- var $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $1059 = 0, $106 = 0, $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0;
- var $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0, $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0;
- var $109 = 0.0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1094 = 0, $1095 = 0, $1096 = 0, $1097 = 0, $1098 = 0, $1099 = 0, $11 = 0, $110 = 0, $1100 = 0, $1101 = 0, $1102 = 0, $1103 = 0, $1104 = 0, $1105 = 0, $1106 = 0;
- var $1107 = 0, $1108 = 0, $1109 = 0, $111 = 0, $1110 = 0, $1111 = 0, $1112 = 0, $1113 = 0, $1114 = 0, $1115 = 0, $1116 = 0, $1117 = 0, $1118 = 0, $1119 = 0, $112 = 0, $1120 = 0, $1121 = 0, $1122 = 0, $1123 = 0, $1124 = 0;
- var $1125 = 0, $1126 = 0, $1127 = 0, $1128 = 0, $1129 = 0, $113 = 0, $1130 = 0, $1131 = 0, $1132 = 0, $1133 = 0, $1134 = 0, $1135 = 0, $1136 = 0, $1137 = 0, $1138 = 0, $1139 = 0, $114 = 0, $1140 = 0, $1141 = 0, $1142 = 0;
- var $1143 = 0, $1144 = 0, $1145 = 0, $1146 = 0, $1147 = 0, $1148 = 0, $1149 = 0, $115 = 0, $1150 = 0, $1151 = 0, $1152 = 0, $1153 = 0, $1154 = 0, $1155 = 0, $1156 = 0, $1157 = 0, $1158 = 0, $1159 = 0, $116 = 0, $1160 = 0;
- var $1161 = 0, $1162 = 0, $1163 = 0, $1164 = 0, $1165 = 0, $1166 = 0, $1167 = 0, $1168 = 0, $1169 = 0, $117 = 0, $1170 = 0, $1171 = 0, $1172 = 0, $1173 = 0, $1174 = 0, $1175 = 0, $1176 = 0, $1177 = 0, $1178 = 0, $1179 = 0;
- var $118 = 0, $1180 = 0, $1181 = 0, $1182 = 0, $1183 = 0, $1184 = 0, $1185 = 0, $1186 = 0, $1187 = 0, $1188 = 0, $1189 = 0, $119 = 0, $1190 = 0, $1191 = 0, $1192 = 0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0;
- var $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1202 = 0, $1203 = 0, $1204 = 0, $1205 = 0, $1206 = 0, $1207 = 0, $1208 = 0, $1209 = 0, $121 = 0, $1210 = 0, $1211 = 0, $1212 = 0, $1213 = 0, $1214 = 0;
- var $1215 = 0, $1216 = 0, $1217 = 0, $1218 = 0, $1219 = 0, $122 = 0, $1220 = 0, $1221 = 0, $1222 = 0, $1223 = 0, $1224 = 0, $1225 = 0, $1226 = 0, $1227 = 0, $1228 = 0, $1229 = 0, $123 = 0, $1230 = 0, $1231 = 0, $1232 = 0;
- var $1233 = 0, $1234 = 0, $1235 = 0, $1236 = 0, $1237 = 0, $1238 = 0, $1239 = 0, $124 = 0, $1240 = 0, $1241 = 0, $1242 = 0, $1243 = 0, $1244 = 0, $1245 = 0, $1246 = 0, $1247 = 0, $1248 = 0, $1249 = 0, $125 = 0, $1250 = 0;
- var $1251 = 0, $1252 = 0, $1253 = 0, $1254 = 0, $1255 = 0, $1256 = 0, $1257 = 0, $1258 = 0, $1259 = 0, $126 = 0, $1260 = 0, $1261 = 0, $1262 = 0, $1263 = 0, $1264 = 0, $1265 = 0, $1266 = 0, $1267 = 0, $1268 = 0, $1269 = 0;
- var $127 = 0, $1270 = 0, $1271 = 0, $1272 = 0, $1273 = 0, $1274 = 0, $1275 = 0, $1276 = 0, $1277 = 0, $1278 = 0, $1279 = 0, $128 = 0, $1280 = 0, $1281 = 0, $1282 = 0, $1283 = 0, $1284 = 0, $1285 = 0, $1286 = 0, $1287 = 0;
- var $1288 = 0, $1289 = 0, $129 = 0, $1290 = 0, $1291 = 0, $1292 = 0, $1293 = 0, $1294 = 0, $1295 = 0, $1296 = 0, $1297 = 0, $1298 = 0, $1299 = 0, $13 = 0, $130 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0;
- var $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1311 = 0, $1312 = 0, $1313 = 0, $1314 = 0, $1315 = 0, $1316 = 0, $1317 = 0, $1318 = 0, $1319 = 0, $132 = 0, $1320 = 0, $1321 = 0, $1322 = 0;
- var $1323 = 0, $1324 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $1328 = 0, $1329 = 0, $133 = 0, $1330 = 0, $1331 = 0, $1332 = 0, $1333 = 0, $1334 = 0, $1335 = 0, $1336 = 0, $1337 = 0, $1338 = 0, $1339 = 0, $134 = 0, $1340 = 0;
- var $1341 = 0, $1342 = 0, $1343 = 0, $1344 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $135 = 0, $1350 = 0, $1351 = 0, $1352 = 0, $1353 = 0, $1354 = 0, $1355 = 0, $1356 = 0, $1357 = 0, $1358 = 0, $1359 = 0;
- var $136 = 0, $1360 = 0, $1361 = 0, $1362 = 0, $1363 = 0, $1364 = 0, $1365 = 0, $1366 = 0, $1367 = 0, $1368 = 0, $1369 = 0, $137 = 0, $1370 = 0, $1371 = 0, $1372 = 0, $1373 = 0, $1374 = 0, $1375 = 0, $1376 = 0, $1377 = 0;
- var $1378 = 0, $1379 = 0, $138 = 0, $1380 = 0, $1381 = 0, $1382 = 0, $1383 = 0, $1384 = 0, $1385 = 0, $1386 = 0, $1387 = 0, $1388 = 0, $1389 = 0, $139 = 0, $1390 = 0, $1391 = 0, $1392 = 0, $1393 = 0, $1394 = 0, $1395 = 0;
- var $1396 = 0, $1397 = 0, $1398 = 0, $1399 = 0, $14 = 0, $140 = 0, $1400 = 0, $1401 = 0, $1402 = 0, $1403 = 0, $1404 = 0, $1405 = 0, $1406 = 0, $1407 = 0, $1408 = 0, $1409 = 0, $141 = 0, $1410 = 0, $1411 = 0, $1412 = 0;
- var $1413 = 0, $1414 = 0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1424 = 0, $1425 = 0, $1426 = 0, $1427 = 0, $1428 = 0, $1429 = 0, $143 = 0, $1430 = 0;
- var $1431 = 0, $1432 = 0, $1433 = 0, $1434 = 0, $1435 = 0, $1436 = 0, $1437 = 0, $1438 = 0, $1439 = 0, $144 = 0, $1440 = 0, $1441 = 0, $1442 = 0, $1443 = 0, $1444 = 0, $1445 = 0, $1446 = 0, $1447 = 0, $1448 = 0, $1449 = 0;
- var $145 = 0, $1450 = 0, $1451 = 0, $1452 = 0, $1453 = 0, $1454 = 0, $1455 = 0, $1456 = 0, $1457 = 0, $1458 = 0, $1459 = 0, $146 = 0, $1460 = 0, $1461 = 0, $1462 = 0, $1463 = 0, $1464 = 0, $1465 = 0, $1466 = 0, $1467 = 0;
- var $1468 = 0, $1469 = 0, $147 = 0, $1470 = 0, $1471 = 0, $1472 = 0, $1473 = 0, $1474 = 0, $1475 = 0, $1476 = 0, $1477 = 0, $1478 = 0, $1479 = 0, $148 = 0, $1480 = 0, $1481 = 0, $1482 = 0, $1483 = 0, $1484 = 0, $1485 = 0;
- var $1486 = 0, $1487 = 0, $1488 = 0, $1489 = 0, $149 = 0, $1490 = 0, $1491 = 0, $1492 = 0, $1493 = 0, $1494 = 0, $1495 = 0, $1496 = 0, $1497 = 0, $1498 = 0, $1499 = 0, $15 = 0, $150 = 0, $1500 = 0, $1501 = 0, $1502 = 0;
- var $1503 = 0, $1504 = 0, $1505 = 0, $1506 = 0, $1507 = 0, $1508 = 0, $1509 = 0, $151 = 0, $1510 = 0, $1511 = 0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0, $1520 = 0;
- var $1521 = 0, $1522 = 0, $1523 = 0, $1524 = 0, $1525 = 0, $1526 = 0, $1527 = 0, $1528 = 0, $1529 = 0, $153 = 0, $1530 = 0, $1531 = 0, $1532 = 0, $1533 = 0, $1534 = 0, $1535 = 0, $1536 = 0, $1537 = 0, $1538 = 0, $1539 = 0;
- var $154 = 0, $1540 = 0, $1541 = 0, $1542 = 0, $1543 = 0, $1544 = 0, $1545 = 0, $1546 = 0, $1547 = 0, $1548 = 0, $1549 = 0, $155 = 0, $1550 = 0, $1551 = 0, $1552 = 0, $1553 = 0, $1554 = 0, $1555 = 0, $1556 = 0, $1557 = 0;
- var $1558 = 0, $1559 = 0, $156 = 0, $1560 = 0, $1561 = 0, $1562 = 0, $1563 = 0, $1564 = 0, $1565 = 0, $1566 = 0, $1567 = 0, $1568 = 0, $1569 = 0, $157 = 0, $1570 = 0, $1571 = 0, $1572 = 0, $1573 = 0, $1574 = 0, $1575 = 0;
- var $1576 = 0, $1577 = 0, $1578 = 0, $1579 = 0, $158 = 0, $1580 = 0, $1581 = 0, $1582 = 0, $1583 = 0, $1584 = 0, $1585 = 0, $1586 = 0, $1587 = 0, $1588 = 0, $1589 = 0, $159 = 0, $1590 = 0, $1591 = 0, $1592 = 0, $1593 = 0;
- var $1594 = 0, $1595 = 0, $1596 = 0, $1597 = 0, $1598 = 0, $1599 = 0, $16 = 0, $160 = 0, $1600 = 0, $1601 = 0, $1602 = 0, $1603 = 0, $1604 = 0, $1605 = 0, $1606 = 0, $1607 = 0, $1608 = 0, $1609 = 0, $161 = 0, $1610 = 0;
- var $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $1618 = 0, $1619 = 0, $162 = 0, $1620 = 0, $1621 = 0, $1622 = 0, $1623 = 0, $1624 = 0, $1625 = 0, $1626 = 0, $1627 = 0, $1628 = 0, $1629 = 0;
- var $163 = 0, $1630 = 0, $1631 = 0, $1632 = 0, $1633 = 0, $1634 = 0, $1635 = 0, $1636 = 0, $1637 = 0, $1638 = 0, $1639 = 0, $164 = 0, $1640 = 0, $1641 = 0, $1642 = 0, $1643 = 0, $1644 = 0, $1645 = 0, $1646 = 0, $1647 = 0;
- var $1648 = 0, $1649 = 0, $165 = 0, $1650 = 0, $1651 = 0, $1652 = 0, $1653 = 0, $1654 = 0, $1655 = 0, $1656 = 0, $1657 = 0, $1658 = 0, $1659 = 0, $166 = 0, $1660 = 0, $1661 = 0, $1662 = 0, $1663 = 0, $1664 = 0, $1665 = 0;
- var $1666 = 0, $1667 = 0, $1668 = 0, $1669 = 0, $167 = 0, $1670 = 0, $1671 = 0, $1672 = 0, $1673 = 0, $1674 = 0, $1675 = 0, $1676 = 0, $1677 = 0, $1678 = 0, $1679 = 0, $168 = 0, $1680 = 0, $1681 = 0, $1682 = 0, $1683 = 0;
- var $1684 = 0, $1685 = 0, $1686 = 0, $1687 = 0, $1688 = 0, $1689 = 0, $169 = 0, $1690 = 0, $1691 = 0, $1692 = 0, $1693 = 0, $1694 = 0, $1695 = 0, $1696 = 0, $1697 = 0, $1698 = 0, $1699 = 0, $17 = 0, $170 = 0, $1700 = 0;
- var $1701 = 0, $1702 = 0, $1703 = 0, $1704 = 0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $171 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1714 = 0, $1715 = 0, $1716 = 0, $1717 = 0, $1718 = 0, $1719 = 0;
- var $172 = 0, $1720 = 0, $1721 = 0, $1722 = 0, $1723 = 0, $1724 = 0, $1725 = 0, $1726 = 0, $1727 = 0, $1728 = 0, $1729 = 0, $173 = 0, $1730 = 0, $1731 = 0, $1732 = 0, $1733 = 0, $1734 = 0, $1735 = 0, $1736 = 0, $1737 = 0;
- var $1738 = 0, $1739 = 0, $174 = 0, $1740 = 0, $1741 = 0, $1742 = 0, $1743 = 0, $1744 = 0, $1745 = 0, $1746 = 0, $1747 = 0, $1748 = 0, $1749 = 0, $175 = 0, $1750 = 0, $1751 = 0, $1752 = 0, $1753 = 0, $1754 = 0, $1755 = 0;
- var $1756 = 0, $1757 = 0, $1758 = 0, $1759 = 0, $176 = 0, $1760 = 0, $1761 = 0, $1762 = 0, $1763 = 0, $1764 = 0, $1765 = 0, $1766 = 0, $1767 = 0, $1768 = 0, $1769 = 0, $177 = 0, $1770 = 0, $1771 = 0, $1772 = 0, $1773 = 0;
- var $1774 = 0, $1775 = 0, $1776 = 0, $1777 = 0, $1778 = 0, $1779 = 0, $178 = 0, $1780 = 0, $1781 = 0, $1782 = 0, $1783 = 0, $1784 = 0, $1785 = 0, $1786 = 0, $1787 = 0, $1788 = 0, $1789 = 0, $179 = 0, $1790 = 0, $1791 = 0;
- var $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1797 = 0, $1798 = 0, $1799 = 0, $18 = 0, $180 = 0, $1800 = 0, $1801 = 0, $1802 = 0, $1803 = 0, $1804 = 0, $1805 = 0, $1806 = 0, $1807 = 0, $1808 = 0, $1809 = 0;
- var $181 = 0, $1810 = 0, $1811 = 0, $1812 = 0, $1813 = 0, $1814 = 0, $1815 = 0, $1816 = 0, $1817 = 0, $1818 = 0, $1819 = 0, $182 = 0, $1820 = 0, $1821 = 0, $1822 = 0, $1823 = 0, $1824 = 0, $1825 = 0, $1826 = 0, $1827 = 0;
- var $1828 = 0, $1829 = 0, $183 = 0, $1830 = 0, $1831 = 0, $1832 = 0, $1833 = 0, $1834 = 0, $1835 = 0, $1836 = 0, $1837 = 0, $1838 = 0, $1839 = 0, $184 = 0, $1840 = 0, $1841 = 0, $1842 = 0, $1843 = 0, $1844 = 0, $1845 = 0;
- var $1846 = 0, $1847 = 0, $1848 = 0, $1849 = 0, $185 = 0, $1850 = 0, $1851 = 0, $1852 = 0, $1853 = 0, $1854 = 0, $1855 = 0, $1856 = 0, $1857 = 0, $1858 = 0, $1859 = 0, $186 = 0, $1860 = 0, $1861 = 0, $1862 = 0, $1863 = 0;
- var $1864 = 0, $1865 = 0, $1866 = 0, $1867 = 0, $1868 = 0, $1869 = 0, $187 = 0, $1870 = 0, $1871 = 0, $1872 = 0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $188 = 0, $1880 = 0, $1881 = 0;
- var $1882 = 0, $1883 = 0, $1884 = 0, $1885 = 0, $1886 = 0, $1887 = 0, $1888 = 0, $1889 = 0, $189 = 0, $1890 = 0, $1891 = 0, $1892 = 0, $1893 = 0, $1894 = 0, $1895 = 0, $1896 = 0, $1897 = 0, $1898 = 0, $1899 = 0, $19 = 0;
- var $190 = 0, $1900 = 0, $1901 = 0, $1902 = 0, $1903 = 0, $1904 = 0, $1905 = 0, $1906 = 0, $1907 = 0, $1908 = 0, $1909 = 0, $191 = 0, $1910 = 0, $1911 = 0, $1912 = 0, $1913 = 0, $1914 = 0, $1915 = 0, $1916 = 0, $1917 = 0;
- var $1918 = 0, $1919 = 0, $192 = 0, $1920 = 0, $1921 = 0, $1922 = 0, $1923 = 0, $1924 = 0, $1925 = 0, $1926 = 0, $1927 = 0, $1928 = 0, $1929 = 0, $193 = 0, $1930 = 0, $1931 = 0, $1932 = 0, $1933 = 0, $1934 = 0, $1935 = 0;
- var $1936 = 0, $1937 = 0, $1938 = 0, $1939 = 0, $194 = 0, $1940 = 0, $1941 = 0, $1942 = 0, $1943 = 0, $1944 = 0, $1945 = 0, $1946 = 0, $1947 = 0, $1948 = 0, $1949 = 0, $195 = 0, $1950 = 0, $1951 = 0, $1952 = 0, $1953 = 0;
- var $1954 = 0, $1955 = 0, $1956 = 0, $1957 = 0, $1958 = 0, $1959 = 0, $196 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1966 = 0, $1967 = 0, $1968 = 0, $1969 = 0, $197 = 0, $1970 = 0, $1971 = 0;
- var $1972 = 0, $1973 = 0, $1974 = 0, $1975 = 0, $1976 = 0, $1977 = 0, $1978 = 0, $1979 = 0, $198 = 0, $1980 = 0, $1981 = 0, $1982 = 0, $1983 = 0, $1984 = 0, $1985 = 0, $1986 = 0, $1987 = 0, $1988 = 0, $1989 = 0, $199 = 0;
- var $1990 = 0, $1991 = 0, $1992 = 0, $1993 = 0, $1994 = 0, $1995 = 0, $1996 = 0, $1997 = 0, $1998 = 0, $1999 = 0, $20 = 0, $200 = 0, $2000 = 0, $2001 = 0, $2002 = 0, $2003 = 0, $2004 = 0, $2005 = 0, $2006 = 0, $2007 = 0;
- var $2008 = 0, $2009 = 0, $201 = 0, $2010 = 0, $2011 = 0, $2012 = 0, $2013 = 0, $2014 = 0, $2015 = 0, $2016 = 0, $2017 = 0, $2018 = 0, $2019 = 0, $202 = 0, $2020 = 0, $2021 = 0, $2022 = 0, $2023 = 0, $2024 = 0, $2025 = 0;
- var $2026 = 0, $2027 = 0, $2028 = 0, $2029 = 0, $203 = 0, $2030 = 0, $2031 = 0, $2032 = 0, $2033 = 0, $2034 = 0, $2035 = 0, $2036 = 0, $2037 = 0, $2038 = 0, $2039 = 0, $204 = 0, $2040 = 0, $2041 = 0, $2042 = 0, $2043 = 0;
- var $2044 = 0, $2045 = 0, $2046 = 0, $2047 = 0, $2048 = 0, $2049 = 0, $205 = 0, $2050 = 0, $2051 = 0, $2052 = 0, $2053 = 0, $2054 = 0, $2055 = 0, $2056 = 0, $2057 = 0, $2058 = 0, $2059 = 0, $206 = 0, $2060 = 0, $2061 = 0;
- var $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2068 = 0, $2069 = 0, $207 = 0, $2070 = 0, $2071 = 0, $2072 = 0, $2073 = 0, $2074 = 0, $2075 = 0, $2076 = 0, $2077 = 0, $2078 = 0, $2079 = 0, $208 = 0;
- var $2080 = 0, $2081 = 0, $2082 = 0, $2083 = 0, $2084 = 0, $2085 = 0, $2086 = 0, $2087 = 0, $2088 = 0, $2089 = 0, $209 = 0, $2090 = 0, $2091 = 0, $2092 = 0, $2093 = 0, $2094 = 0, $2095 = 0, $2096 = 0, $2097 = 0, $2098 = 0;
- var $2099 = 0, $21 = 0, $210 = 0, $2100 = 0, $2101 = 0, $2102 = 0, $2103 = 0, $2104 = 0, $2105 = 0, $2106 = 0, $2107 = 0, $2108 = 0, $2109 = 0, $211 = 0, $2110 = 0, $2111 = 0, $2112 = 0, $2113 = 0, $2114 = 0, $2115 = 0;
- var $2116 = 0, $2117 = 0, $2118 = 0, $2119 = 0, $212 = 0, $2120 = 0, $2121 = 0, $2122 = 0, $2123 = 0, $2124 = 0, $2125 = 0, $2126 = 0, $2127 = 0, $2128 = 0, $2129 = 0, $213 = 0, $2130 = 0, $2131 = 0, $2132 = 0, $2133 = 0;
- var $2134 = 0, $2135 = 0, $2136 = 0, $2137 = 0, $2138 = 0, $2139 = 0, $214 = 0, $2140 = 0, $2141 = 0, $2142 = 0, $2143 = 0, $2144 = 0, $2145 = 0, $2146 = 0, $2147 = 0, $2148 = 0, $2149 = 0, $215 = 0, $2150 = 0, $2151 = 0;
- var $2152 = 0, $2153 = 0, $2154 = 0, $2155 = 0, $2156 = 0, $2157 = 0, $2158 = 0, $2159 = 0, $216 = 0, $2160 = 0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0;
- var $2170 = 0, $2171 = 0, $2172 = 0, $2173 = 0, $2174 = 0, $2175 = 0, $2176 = 0, $2177 = 0, $2178 = 0, $2179 = 0, $218 = 0, $2180 = 0, $2181 = 0, $2182 = 0, $2183 = 0, $2184 = 0, $2185 = 0, $2186 = 0, $2187 = 0, $2188 = 0;
- var $2189 = 0, $219 = 0, $2190 = 0, $2191 = 0, $2192 = 0, $2193 = 0, $2194 = 0, $2195 = 0, $2196 = 0, $2197 = 0, $2198 = 0, $2199 = 0, $22 = 0, $220 = 0, $2200 = 0, $2201 = 0, $2202 = 0, $2203 = 0, $2204 = 0, $2205 = 0;
- var $2206 = 0, $2207 = 0, $2208 = 0, $2209 = 0, $221 = 0, $2210 = 0, $2211 = 0, $2212 = 0, $2213 = 0, $2214 = 0, $2215 = 0, $2216 = 0, $2217 = 0, $2218 = 0, $2219 = 0, $222 = 0, $2220 = 0, $2221 = 0, $2222 = 0, $2223 = 0;
- var $2224 = 0, $2225 = 0, $2226 = 0, $2227 = 0, $2228 = 0, $2229 = 0, $223 = 0, $2230 = 0, $2231 = 0, $2232 = 0, $2233 = 0, $2234 = 0, $2235 = 0, $2236 = 0, $2237 = 0, $2238 = 0, $2239 = 0, $224 = 0, $2240 = 0, $2241 = 0;
- var $2242 = 0, $2243 = 0, $2244 = 0, $2245 = 0, $2246 = 0, $2247 = 0, $2248 = 0, $2249 = 0, $225 = 0, $2250 = 0, $2251 = 0, $2252 = 0, $2253 = 0, $2254 = 0, $2255 = 0, $2256 = 0, $2257 = 0, $2258 = 0, $2259 = 0, $226 = 0;
- var $2260 = 0, $2261 = 0, $2262 = 0, $2263 = 0, $2264 = 0, $2265 = 0, $2266 = 0, $2267 = 0, $2268 = 0, $2269 = 0, $227 = 0, $2270 = 0, $2271 = 0, $2272 = 0, $2273 = 0, $2274 = 0, $2275 = 0, $2276 = 0, $2277 = 0, $2278 = 0;
- var $2279 = 0, $228 = 0, $2280 = 0, $2281 = 0, $2282 = 0, $2283 = 0, $2284 = 0, $2285 = 0, $2286 = 0, $2287 = 0, $2288 = 0, $2289 = 0, $229 = 0, $2290 = 0, $2291 = 0, $2292 = 0, $2293 = 0, $2294 = 0, $2295 = 0, $2296 = 0;
- var $2297 = 0.0, $2298 = 0, $2299 = 0, $23 = 0, $230 = 0, $2300 = 0, $2301 = 0.0, $2302 = 0.0, $2303 = 0, $2304 = 0, $2305 = 0, $2306 = 0, $2307 = 0, $2308 = 0, $2309 = 0, $231 = 0, $2310 = 0, $2311 = 0, $2312 = 0, $2313 = 0;
- var $2314 = 0, $2315 = 0, $2316 = 0, $2317 = 0, $2318 = 0, $2319 = 0, $232 = 0, $2320 = 0, $2321 = 0, $2322 = 0, $2323 = 0, $2324 = 0, $2325 = 0, $2326 = 0, $2327 = 0, $2328 = 0, $2329 = 0, $233 = 0, $2330 = 0, $2331 = 0;
- var $2332 = 0, $2333 = 0, $2334 = 0, $2335 = 0, $2336 = 0, $2337 = 0, $2338 = 0, $2339 = 0, $234 = 0, $2340 = 0, $2341 = 0, $2342 = 0, $2343 = 0, $2344 = 0, $2345 = 0, $2346 = 0, $2347 = 0, $2348 = 0, $2349 = 0.0, $235 = 0;
- var $2350 = 0, $2351 = 0, $2352 = 0, $2353 = 0.0, $2354 = 0, $2355 = 0, $2356 = 0, $2357 = 0, $2358 = 0, $2359 = 0, $236 = 0, $2360 = 0, $2361 = 0, $2362 = 0, $2363 = 0, $2364 = 0, $2365 = 0, $2366 = 0, $2367 = 0, $2368 = 0;
- var $2369 = 0, $237 = 0, $2370 = 0, $2371 = 0, $2372 = 0, $2373 = 0, $2374 = 0, $2375 = 0, $2376 = 0.0, $2377 = 0, $2378 = 0, $2379 = 0, $238 = 0, $2380 = 0.0, $2381 = 0.0, $2382 = 0, $2383 = 0, $2384 = 0, $2385 = 0, $2386 = 0;
- var $2387 = 0, $2388 = 0, $2389 = 0, $239 = 0, $2390 = 0, $2391 = 0, $2392 = 0, $2393 = 0, $2394 = 0, $2395 = 0, $2396 = 0, $2397 = 0, $2398 = 0, $2399 = 0, $24 = 0, $240 = 0, $2400 = 0, $2401 = 0, $2402 = 0, $2403 = 0;
- var $2404 = 0, $2405 = 0, $2406 = 0, $2407 = 0, $2408 = 0, $2409 = 0, $241 = 0, $2410 = 0, $2411 = 0.0, $2412 = 0, $2413 = 0, $2414 = 0, $2415 = 0.0, $2416 = 0.0, $2417 = 0.0, $2418 = 0, $2419 = 0, $242 = 0, $2420 = 0, $2421 = 0;
- var $2422 = 0, $2423 = 0, $2424 = 0, $2425 = 0, $2426 = 0, $2427 = 0, $2428 = 0, $2429 = 0, $243 = 0, $2430 = 0, $2431 = 0, $2432 = 0, $2433 = 0, $2434 = 0, $2435 = 0, $2436 = 0, $2437 = 0, $2438 = 0, $2439 = 0, $244 = 0;
- var $2440 = 0, $2441 = 0, $2442 = 0, $2443 = 0, $2444 = 0, $2445 = 0, $2446 = 0, $2447 = 0, $2448 = 0, $2449 = 0, $245 = 0, $2450 = 0, $2451 = 0, $2452 = 0, $2453 = 0, $2454 = 0, $2455 = 0, $2456 = 0, $2457 = 0, $2458 = 0;
- var $2459 = 0, $246 = 0, $2460 = 0, $2461 = 0, $2462 = 0, $2463 = 0, $2464 = 0, $2465 = 0, $2466 = 0, $2467 = 0, $2468 = 0, $2469 = 0, $247 = 0, $2470 = 0, $2471 = 0, $2472 = 0, $2473 = 0, $2474 = 0, $2475 = 0, $2476 = 0;
- var $2477 = 0, $2478 = 0, $2479 = 0, $248 = 0, $2480 = 0, $2481 = 0, $2482 = 0, $2483 = 0, $2484 = 0, $2485 = 0, $2486 = 0, $2487 = 0, $2488 = 0, $2489 = 0, $249 = 0, $2490 = 0, $2491 = 0, $2492 = 0, $2493 = 0, $2494 = 0;
- var $2495 = 0, $2496 = 0, $2497 = 0, $2498 = 0, $2499 = 0, $25 = 0, $250 = 0, $2500 = 0, $2501 = 0, $2502 = 0, $2503 = 0, $2504 = 0, $2505 = 0, $2506 = 0, $2507 = 0, $2508 = 0, $2509 = 0, $251 = 0, $2510 = 0, $2511 = 0;
- var $2512 = 0, $2513 = 0, $2514 = 0, $2515 = 0, $2516 = 0, $2517 = 0, $2518 = 0, $2519 = 0, $252 = 0, $2520 = 0, $2521 = 0, $2522 = 0, $2523 = 0, $2524 = 0, $2525 = 0, $2526 = 0, $2527 = 0, $2528 = 0, $2529 = 0, $253 = 0;
- var $2530 = 0, $2531 = 0, $2532 = 0, $2533 = 0, $2534 = 0, $2535 = 0, $2536 = 0, $2537 = 0, $2538 = 0, $2539 = 0, $254 = 0, $2540 = 0, $2541 = 0, $2542 = 0, $2543 = 0, $2544 = 0, $2545 = 0, $2546 = 0, $2547 = 0, $2548 = 0;
- var $2549 = 0, $255 = 0, $2550 = 0, $2551 = 0, $2552 = 0, $2553 = 0, $2554 = 0, $2555 = 0, $2556 = 0, $2557 = 0, $2558 = 0, $2559 = 0, $256 = 0, $2560 = 0, $2561 = 0, $2562 = 0, $2563 = 0, $2564 = 0, $2565 = 0, $2566 = 0;
- var $2567 = 0, $2568 = 0, $2569 = 0, $257 = 0, $2570 = 0, $2571 = 0, $2572 = 0, $2573 = 0, $2574 = 0, $2575 = 0, $2576 = 0, $2577 = 0, $2578 = 0, $2579 = 0, $258 = 0, $2580 = 0, $2581 = 0, $2582 = 0, $2583 = 0, $2584 = 0;
- var $2585 = 0, $2586 = 0, $2587 = 0, $2588 = 0, $2589 = 0, $259 = 0, $2590 = 0, $2591 = 0, $2592 = 0, $2593 = 0, $2594 = 0, $2595 = 0, $2596 = 0, $2597 = 0, $2598 = 0, $2599 = 0, $26 = 0, $260 = 0, $2600 = 0, $2601 = 0;
- var $2602 = 0, $2603 = 0, $2604 = 0, $2605 = 0, $2606 = 0, $2607 = 0, $2608 = 0, $2609 = 0, $261 = 0, $2610 = 0, $2611 = 0, $2612 = 0, $2613 = 0, $2614 = 0, $2615 = 0, $2616 = 0, $2617 = 0, $2618 = 0, $2619 = 0, $262 = 0;
- var $2620 = 0, $2621 = 0, $2622 = 0, $2623 = 0, $2624 = 0, $2625 = 0, $2626 = 0, $2627 = 0, $2628 = 0, $2629 = 0, $263 = 0, $2630 = 0, $2631 = 0, $2632 = 0, $2633 = 0, $2634 = 0, $2635 = 0, $2636 = 0, $2637 = 0, $2638 = 0;
- var $2639 = 0, $264 = 0, $2640 = 0, $2641 = 0, $2642 = 0, $2643 = 0, $2644 = 0, $2645 = 0, $2646 = 0, $2647 = 0, $2648 = 0, $2649 = 0, $265 = 0, $2650 = 0, $2651 = 0, $2652 = 0, $2653 = 0, $2654 = 0, $2655 = 0, $2656 = 0;
- var $2657 = 0, $2658 = 0, $2659 = 0, $266 = 0, $2660 = 0, $2661 = 0, $2662 = 0, $2663 = 0, $2664 = 0, $2665 = 0, $2666 = 0, $2667 = 0, $2668 = 0, $2669 = 0, $267 = 0, $2670 = 0, $2671 = 0, $2672 = 0, $2673 = 0, $2674 = 0;
- var $2675 = 0, $2676 = 0, $2677 = 0, $2678 = 0, $2679 = 0, $268 = 0, $2680 = 0, $2681 = 0, $2682 = 0, $2683 = 0, $2684 = 0, $2685 = 0, $2686 = 0, $2687 = 0, $2688 = 0, $2689 = 0, $269 = 0, $2690 = 0, $2691 = 0, $2692 = 0;
- var $2693 = 0, $2694 = 0, $2695 = 0, $2696 = 0, $2697 = 0, $2698 = 0, $2699 = 0, $27 = 0, $270 = 0, $2700 = 0, $2701 = 0, $2702 = 0, $2703 = 0, $2704 = 0, $2705 = 0, $2706 = 0, $2707 = 0, $2708 = 0, $2709 = 0, $271 = 0;
- var $2710 = 0, $2711 = 0, $2712 = 0, $2713 = 0, $2714 = 0, $2715 = 0, $2716 = 0, $2717 = 0, $2718 = 0, $2719 = 0, $272 = 0, $2720 = 0, $2721 = 0, $2722 = 0, $2723 = 0, $2724 = 0, $2725 = 0, $2726 = 0, $2727 = 0, $2728 = 0;
- var $2729 = 0, $273 = 0, $2730 = 0, $2731 = 0, $2732 = 0, $2733 = 0, $2734 = 0, $2735 = 0, $2736 = 0, $2737 = 0, $2738 = 0, $2739 = 0, $274 = 0, $2740 = 0, $2741 = 0, $2742 = 0, $2743 = 0, $2744 = 0, $2745 = 0, $2746 = 0;
- var $2747 = 0, $2748 = 0, $2749 = 0, $275 = 0, $2750 = 0, $2751 = 0, $2752 = 0, $2753 = 0, $2754 = 0, $2755 = 0, $2756 = 0, $2757 = 0, $2758 = 0, $2759 = 0, $276 = 0, $2760 = 0, $2761 = 0, $2762 = 0, $2763 = 0, $2764 = 0;
- var $2765 = 0, $2766 = 0, $2767 = 0, $2768 = 0, $2769 = 0, $277 = 0, $2770 = 0, $2771 = 0, $2772 = 0, $2773 = 0, $2774 = 0, $2775 = 0, $2776 = 0, $2777 = 0, $2778 = 0, $2779 = 0, $278 = 0, $2780 = 0, $2781 = 0, $2782 = 0;
- var $2783 = 0, $2784 = 0, $2785 = 0, $2786 = 0, $2787 = 0, $2788 = 0, $2789 = 0, $279 = 0, $2790 = 0, $2791 = 0, $2792 = 0, $2793 = 0, $2794 = 0, $2795 = 0, $2796 = 0, $2797 = 0, $2798 = 0, $2799 = 0, $28 = 0, $280 = 0;
- var $2800 = 0, $2801 = 0, $2802 = 0, $2803 = 0, $2804 = 0, $2805 = 0, $2806 = 0, $2807 = 0, $2808 = 0, $2809 = 0, $281 = 0, $2810 = 0, $2811 = 0, $2812 = 0, $2813 = 0, $2814 = 0, $2815 = 0, $2816 = 0, $2817 = 0, $2818 = 0;
- var $2819 = 0, $282 = 0, $2820 = 0, $2821 = 0, $2822 = 0, $2823 = 0, $2824 = 0, $2825 = 0, $2826 = 0, $2827 = 0, $2828 = 0, $2829 = 0, $283 = 0, $2830 = 0, $2831 = 0, $2832 = 0, $2833 = 0, $2834 = 0, $2835 = 0, $2836 = 0;
- var $2837 = 0, $2838 = 0, $2839 = 0, $284 = 0, $2840 = 0, $2841 = 0, $2842 = 0, $2843 = 0, $2844 = 0, $2845 = 0, $2846 = 0, $2847 = 0, $2848 = 0, $2849 = 0, $285 = 0, $2850 = 0, $2851 = 0, $2852 = 0, $2853 = 0, $2854 = 0;
- var $2855 = 0, $2856 = 0, $2857 = 0, $2858 = 0, $2859 = 0, $286 = 0, $2860 = 0, $2861 = 0, $2862 = 0, $2863 = 0, $2864 = 0, $2865 = 0, $2866 = 0, $2867 = 0, $2868 = 0, $2869 = 0, $287 = 0, $2870 = 0, $2871 = 0, $2872 = 0;
- var $2873 = 0, $2874 = 0, $2875 = 0, $2876 = 0, $2877 = 0, $2878 = 0, $2879 = 0, $288 = 0, $2880 = 0, $2881 = 0, $2882 = 0, $2883 = 0, $2884 = 0, $2885 = 0, $2886 = 0, $2887 = 0, $2888 = 0, $2889 = 0, $289 = 0, $2890 = 0;
- var $2891 = 0, $2892 = 0, $2893 = 0, $2894 = 0, $2895 = 0, $2896 = 0, $2897 = 0, $2898 = 0, $2899 = 0, $29 = 0, $290 = 0, $2900 = 0, $2901 = 0, $2902 = 0, $2903 = 0, $2904 = 0, $2905 = 0, $2906 = 0, $2907 = 0, $2908 = 0;
- var $2909 = 0, $291 = 0, $2910 = 0, $2911 = 0, $2912 = 0, $2913 = 0, $2914 = 0, $2915 = 0, $2916 = 0, $2917 = 0, $2918 = 0, $2919 = 0, $292 = 0, $2920 = 0, $2921 = 0, $2922 = 0, $2923 = 0, $2924 = 0, $2925 = 0, $2926 = 0;
- var $2927 = 0, $2928 = 0, $2929 = 0, $293 = 0, $2930 = 0, $2931 = 0, $2932 = 0, $2933 = 0, $2934 = 0, $2935 = 0, $2936 = 0, $2937 = 0, $2938 = 0, $2939 = 0, $294 = 0, $2940 = 0, $2941 = 0, $2942 = 0, $2943 = 0, $2944 = 0;
- var $2945 = 0, $2946 = 0, $2947 = 0, $2948 = 0, $2949 = 0, $295 = 0, $2950 = 0, $2951 = 0, $2952 = 0, $2953 = 0, $2954 = 0, $2955 = 0, $2956 = 0, $2957 = 0, $2958 = 0, $2959 = 0, $296 = 0, $2960 = 0, $2961 = 0, $2962 = 0;
- var $2963 = 0, $2964 = 0, $2965 = 0, $2966 = 0, $2967 = 0, $2968 = 0, $2969 = 0, $297 = 0, $2970 = 0, $2971 = 0, $2972 = 0, $2973 = 0, $2974 = 0, $2975 = 0, $2976 = 0, $2977 = 0, $2978 = 0, $2979 = 0, $298 = 0, $2980 = 0;
- var $2981 = 0, $2982 = 0, $2983 = 0, $2984 = 0, $2985 = 0, $2986 = 0, $2987 = 0, $2988 = 0, $2989 = 0, $299 = 0, $2990 = 0, $2991 = 0, $2992 = 0, $2993 = 0, $2994 = 0, $2995 = 0, $2996 = 0, $2997 = 0, $2998 = 0, $2999 = 0;
- var $3 = 0, $30 = 0, $300 = 0, $3000 = 0, $3001 = 0, $3002 = 0, $3003 = 0, $3004 = 0, $3005 = 0, $3006 = 0, $3007 = 0, $3008 = 0, $3009 = 0, $301 = 0, $3010 = 0, $3011 = 0, $3012 = 0, $3013 = 0, $3014 = 0, $3015 = 0;
- var $3016 = 0, $3017 = 0, $3018 = 0, $3019 = 0, $302 = 0, $3020 = 0, $3021 = 0, $3022 = 0, $3023 = 0, $3024 = 0, $3025 = 0, $3026 = 0, $3027 = 0, $3028 = 0, $3029 = 0, $303 = 0, $3030 = 0, $3031 = 0, $3032 = 0, $3033 = 0;
- var $3034 = 0, $3035 = 0, $3036 = 0, $3037 = 0, $3038 = 0, $3039 = 0, $304 = 0, $3040 = 0, $3041 = 0, $3042 = 0, $3043 = 0, $3044 = 0, $3045 = 0, $3046 = 0, $3047 = 0, $3048 = 0, $3049 = 0, $305 = 0, $3050 = 0, $3051 = 0;
- var $3052 = 0, $3053 = 0, $3054 = 0, $3055 = 0, $3056 = 0, $3057 = 0, $3058 = 0, $3059 = 0, $306 = 0, $3060 = 0, $3061 = 0, $3062 = 0, $3063 = 0, $3064 = 0, $3065 = 0, $3066 = 0, $3067 = 0, $3068 = 0, $3069 = 0, $307 = 0;
- var $3070 = 0, $3071 = 0, $3072 = 0, $3073 = 0, $3074 = 0, $3075 = 0, $3076 = 0, $3077 = 0, $3078 = 0, $3079 = 0, $308 = 0, $3080 = 0, $3081 = 0, $3082 = 0, $3083 = 0, $3084 = 0, $3085 = 0, $3086 = 0, $3087 = 0, $3088 = 0;
- var $3089 = 0, $309 = 0, $3090 = 0, $3091 = 0, $3092 = 0, $3093 = 0, $3094 = 0, $3095 = 0, $3096 = 0, $3097 = 0, $3098 = 0, $3099 = 0, $31 = 0, $310 = 0, $3100 = 0, $3101 = 0, $3102 = 0, $3103 = 0, $3104 = 0, $3105 = 0;
- var $3106 = 0, $3107 = 0, $3108 = 0, $3109 = 0, $311 = 0, $3110 = 0, $3111 = 0, $3112 = 0, $3113 = 0, $3114 = 0, $3115 = 0, $3116 = 0, $3117 = 0, $3118 = 0, $3119 = 0, $312 = 0, $3120 = 0, $3121 = 0, $3122 = 0, $3123 = 0;
- var $3124 = 0, $3125 = 0, $3126 = 0, $3127 = 0, $3128 = 0, $3129 = 0, $313 = 0, $3130 = 0, $3131 = 0, $3132 = 0, $3133 = 0, $3134 = 0, $3135 = 0, $3136 = 0, $3137 = 0, $3138 = 0, $3139 = 0, $314 = 0, $3140 = 0, $3141 = 0;
- var $3142 = 0, $3143 = 0, $3144 = 0, $3145 = 0, $3146 = 0, $3147 = 0, $3148 = 0, $3149 = 0, $315 = 0, $3150 = 0, $3151 = 0, $3152 = 0, $3153 = 0, $3154 = 0, $3155 = 0, $3156 = 0, $3157 = 0, $3158 = 0, $3159 = 0, $316 = 0;
- var $3160 = 0, $3161 = 0, $3162 = 0, $3163 = 0, $3164 = 0, $3165 = 0, $3166 = 0, $3167 = 0, $3168 = 0, $3169 = 0, $317 = 0, $3170 = 0, $3171 = 0, $3172 = 0, $3173 = 0, $3174 = 0, $3175 = 0, $3176 = 0, $3177 = 0, $3178 = 0;
- var $3179 = 0, $318 = 0, $3180 = 0, $3181 = 0, $3182 = 0, $3183 = 0, $3184 = 0, $3185 = 0, $3186 = 0, $3187 = 0, $3188 = 0, $3189 = 0, $319 = 0, $3190 = 0, $3191 = 0, $3192 = 0, $3193 = 0, $3194 = 0, $3195 = 0, $3196 = 0;
- var $3197 = 0, $3198 = 0, $3199 = 0, $32 = 0, $320 = 0, $3200 = 0, $3201 = 0, $3202 = 0, $3203 = 0, $3204 = 0, $3205 = 0, $3206 = 0, $3207 = 0, $3208 = 0, $3209 = 0, $321 = 0, $3210 = 0, $3211 = 0, $3212 = 0, $3213 = 0;
- var $3214 = 0, $3215 = 0, $3216 = 0, $3217 = 0, $3218 = 0, $3219 = 0, $322 = 0, $3220 = 0, $3221 = 0, $3222 = 0, $3223 = 0, $3224 = 0, $3225 = 0, $3226 = 0, $3227 = 0, $3228 = 0, $3229 = 0, $323 = 0, $3230 = 0, $3231 = 0;
- var $3232 = 0, $3233 = 0, $3234 = 0, $3235 = 0, $3236 = 0, $3237 = 0, $3238 = 0, $3239 = 0, $324 = 0, $3240 = 0, $3241 = 0, $3242 = 0, $3243 = 0, $3244 = 0, $3245 = 0, $3246 = 0, $3247 = 0, $3248 = 0, $3249 = 0, $325 = 0;
- var $3250 = 0, $3251 = 0, $3252 = 0, $3253 = 0, $3254 = 0, $3255 = 0, $3256 = 0, $3257 = 0, $3258 = 0, $3259 = 0, $326 = 0, $3260 = 0, $3261 = 0, $3262 = 0, $3263 = 0, $3264 = 0, $3265 = 0, $3266 = 0, $3267 = 0, $3268 = 0;
- var $3269 = 0, $327 = 0, $3270 = 0, $3271 = 0, $3272 = 0, $3273 = 0, $3274 = 0, $3275 = 0, $3276 = 0, $3277 = 0, $3278 = 0, $3279 = 0, $328 = 0, $3280 = 0, $3281 = 0, $3282 = 0, $3283 = 0, $3284 = 0, $3285 = 0, $3286 = 0;
- var $3287 = 0, $3288 = 0, $3289 = 0, $329 = 0, $3290 = 0, $3291 = 0, $3292 = 0, $3293 = 0, $3294 = 0, $3295 = 0, $3296 = 0, $3297 = 0, $3298 = 0, $3299 = 0, $33 = 0, $330 = 0, $3300 = 0, $3301 = 0, $3302 = 0, $3303 = 0;
- var $3304 = 0, $3305 = 0, $3306 = 0, $3307 = 0, $3308 = 0, $3309 = 0, $331 = 0, $3310 = 0, $3311 = 0, $3312 = 0, $3313 = 0, $3314 = 0, $3315 = 0, $3316 = 0, $3317 = 0, $3318 = 0, $3319 = 0, $332 = 0, $3320 = 0, $3321 = 0;
- var $3322 = 0, $3323 = 0, $3324 = 0, $3325 = 0, $3326 = 0, $3327 = 0, $3328 = 0, $3329 = 0, $333 = 0, $3330 = 0, $3331 = 0, $3332 = 0, $3333 = 0, $3334 = 0, $3335 = 0, $3336 = 0, $3337 = 0, $3338 = 0, $3339 = 0, $334 = 0;
- var $3340 = 0, $3341 = 0, $3342 = 0, $3343 = 0, $3344 = 0, $3345 = 0, $3346 = 0, $3347 = 0, $3348 = 0, $3349 = 0, $335 = 0, $3350 = 0, $3351 = 0, $3352 = 0, $3353 = 0, $3354 = 0, $3355 = 0, $3356 = 0, $3357 = 0, $3358 = 0;
- var $3359 = 0, $336 = 0, $3360 = 0, $3361 = 0, $3362 = 0, $3363 = 0, $3364 = 0, $3365 = 0, $3366 = 0, $3367 = 0, $3368 = 0, $3369 = 0, $337 = 0, $3370 = 0, $3371 = 0, $3372 = 0, $3373 = 0, $3374 = 0, $3375 = 0, $3376 = 0;
- var $3377 = 0, $3378 = 0, $3379 = 0, $338 = 0, $3380 = 0, $3381 = 0, $3382 = 0, $3383 = 0, $3384 = 0, $3385 = 0, $3386 = 0, $3387 = 0, $3388 = 0, $3389 = 0, $339 = 0, $3390 = 0, $3391 = 0, $3392 = 0, $3393 = 0, $3394 = 0;
- var $3395 = 0, $3396 = 0, $3397 = 0, $3398 = 0, $3399 = 0, $34 = 0, $340 = 0, $3400 = 0, $3401 = 0, $3402 = 0, $3403 = 0, $3404 = 0, $3405 = 0, $3406 = 0, $3407 = 0, $3408 = 0, $3409 = 0, $341 = 0, $3410 = 0, $3411 = 0;
- var $3412 = 0, $3413 = 0, $3414 = 0, $3415 = 0, $3416 = 0, $3417 = 0, $3418 = 0, $3419 = 0, $342 = 0, $3420 = 0, $3421 = 0, $3422 = 0, $3423 = 0, $3424 = 0, $3425 = 0, $3426 = 0, $3427 = 0, $3428 = 0, $3429 = 0, $343 = 0;
- var $3430 = 0, $3431 = 0, $3432 = 0, $3433 = 0, $3434 = 0, $3435 = 0, $3436 = 0, $3437 = 0, $3438 = 0, $3439 = 0, $344 = 0, $3440 = 0, $3441 = 0, $3442 = 0, $3443 = 0, $3444 = 0, $3445 = 0, $3446 = 0, $3447 = 0, $3448 = 0;
- var $3449 = 0, $345 = 0, $3450 = 0, $3451 = 0, $3452 = 0, $3453 = 0, $3454 = 0, $3455 = 0, $3456 = 0, $3457 = 0, $3458 = 0, $3459 = 0, $346 = 0, $3460 = 0, $3461 = 0, $3462 = 0, $3463 = 0, $3464 = 0, $3465 = 0, $3466 = 0;
- var $3467 = 0, $3468 = 0, $3469 = 0, $347 = 0, $3470 = 0, $3471 = 0, $3472 = 0, $3473 = 0, $3474 = 0, $3475 = 0, $3476 = 0, $3477 = 0, $3478 = 0, $3479 = 0, $348 = 0, $3480 = 0, $3481 = 0, $3482 = 0, $3483 = 0, $3484 = 0;
- var $3485 = 0, $3486 = 0, $3487 = 0, $3488 = 0, $3489 = 0, $349 = 0, $3490 = 0, $3491 = 0, $3492 = 0, $3493 = 0, $3494 = 0, $3495 = 0, $3496 = 0, $3497 = 0, $3498 = 0, $3499 = 0, $35 = 0, $350 = 0, $3500 = 0, $3501 = 0;
- var $3502 = 0, $3503 = 0, $3504 = 0, $3505 = 0, $3506 = 0, $3507 = 0, $3508 = 0, $3509 = 0, $351 = 0, $3510 = 0, $3511 = 0, $3512 = 0, $3513 = 0, $3514 = 0, $3515 = 0, $3516 = 0, $3517 = 0, $3518 = 0, $3519 = 0, $352 = 0;
- var $3520 = 0, $3521 = 0, $3522 = 0, $3523 = 0, $3524 = 0, $3525 = 0, $3526 = 0, $3527 = 0, $3528 = 0, $3529 = 0, $353 = 0, $3530 = 0, $3531 = 0, $3532 = 0, $3533 = 0, $3534 = 0, $3535 = 0, $3536 = 0, $3537 = 0, $3538 = 0;
- var $3539 = 0, $354 = 0, $3540 = 0, $3541 = 0, $3542 = 0, $3543 = 0, $3544 = 0, $3545 = 0, $3546 = 0, $3547 = 0, $3548 = 0, $3549 = 0, $355 = 0, $3550 = 0, $3551 = 0, $3552 = 0, $3553 = 0, $3554 = 0, $3555 = 0, $3556 = 0;
- var $3557 = 0, $3558 = 0, $3559 = 0, $356 = 0, $3560 = 0, $3561 = 0, $3562 = 0, $3563 = 0, $3564 = 0, $3565 = 0, $3566 = 0, $3567 = 0, $3568 = 0, $3569 = 0, $357 = 0, $3570 = 0, $3571 = 0, $3572 = 0, $3573 = 0, $3574 = 0;
- var $3575 = 0, $3576 = 0, $3577 = 0, $3578 = 0, $3579 = 0, $358 = 0, $3580 = 0, $3581 = 0, $3582 = 0, $3583 = 0, $3584 = 0, $3585 = 0, $3586 = 0, $3587 = 0, $3588 = 0, $3589 = 0, $359 = 0, $3590 = 0, $3591 = 0, $3592 = 0;
- var $3593 = 0, $3594 = 0, $3595 = 0, $3596 = 0, $3597 = 0, $3598 = 0, $3599 = 0, $36 = 0, $360 = 0, $3600 = 0, $3601 = 0, $3602 = 0, $3603 = 0, $3604 = 0, $3605 = 0, $3606 = 0, $3607 = 0, $3608 = 0, $3609 = 0, $361 = 0;
- var $3610 = 0, $3611 = 0, $3612 = 0, $3613 = 0, $3614 = 0, $3615 = 0, $3616 = 0, $3617 = 0, $3618 = 0, $3619 = 0, $362 = 0, $3620 = 0, $3621 = 0, $3622 = 0, $3623 = 0, $3624 = 0, $3625 = 0, $3626 = 0, $3627 = 0, $3628 = 0;
- var $3629 = 0, $363 = 0, $3630 = 0, $3631 = 0, $3632 = 0, $3633 = 0, $3634 = 0, $3635 = 0, $3636 = 0, $3637 = 0, $3638 = 0, $3639 = 0, $364 = 0, $3640 = 0, $3641 = 0, $3642 = 0, $3643 = 0, $3644 = 0, $3645 = 0, $3646 = 0;
- var $3647 = 0, $3648 = 0, $3649 = 0, $365 = 0, $3650 = 0, $3651 = 0, $3652 = 0, $3653 = 0, $3654 = 0, $3655 = 0, $3656 = 0, $3657 = 0, $3658 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0;
- var $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0;
- var $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0;
- var $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0;
- var $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0;
- var $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0;
- var $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0;
- var $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0;
- var $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0;
- var $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0;
- var $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0;
- var $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0;
- var $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0;
- var $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0;
- var $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0, $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0;
- var $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0, $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0;
- var $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0;
- var $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0;
- var $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0, $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0;
- var $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0, $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0;
- var $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0, $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0;
- var $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0, $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0;
- var $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0, $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0;
- var $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0;
- var $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0;
- var $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0, $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0;
- var $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0, $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0;
- var $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0, $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0;
- var $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0, $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0;
- var $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0, $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0;
- var $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0, $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0.0, $910 = 0, $911 = 0;
- var $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0, $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0;
- var $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0, $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0;
- var $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0;
- var $967 = 0, $968 = 0, $969 = 0, $97 = 0.0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0;
- var $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond3 = 0, $or$cond7 = 0;
- var $or$cond9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 944|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(944|0);
- $$byval_copy30 = sp + 920|0;
- $$byval_copy29 = sp + 912|0;
- $$byval_copy28 = sp + 904|0;
- $$byval_copy27 = sp + 896|0;
- $$byval_copy26 = sp + 888|0;
- $$byval_copy25 = sp + 880|0;
- $$byval_copy24 = sp + 872|0;
- $$byval_copy23 = sp + 864|0;
- $$byval_copy22 = sp + 856|0;
- $$byval_copy21 = sp + 848|0;
- $$byval_copy20 = sp + 840|0;
- $$byval_copy19 = sp + 832|0;
- $$byval_copy18 = sp + 824|0;
- $$byval_copy17 = sp + 816|0;
- $$byval_copy16 = sp + 808|0;
- $$byval_copy15 = sp + 800|0;
- $$byval_copy14 = sp + 792|0;
- $$byval_copy13 = sp + 784|0;
- $$byval_copy = sp + 776|0;
- $49 = sp + 588|0;
- $75 = sp + 930|0;
- $76 = sp + 480|0;
- $78 = sp + 464|0;
- $81 = sp + 448|0;
- $82 = sp + 440|0;
- $83 = sp + 432|0;
- $84 = sp + 424|0;
- $85 = sp + 416|0;
- $90 = sp + 929|0;
- $93 = sp + 384|0;
- $95 = sp + 368|0;
- $99 = sp + 344|0;
- $103 = sp + 320|0;
- $108 = sp + 928|0;
- $111 = sp + 288|0;
- $113 = sp + 272|0;
- $119 = sp + 240|0;
- $130 = sp + 192|0;
- $137 = sp + 160|0;
- $139 = sp + 144|0;
- $140 = sp + 136|0;
- $147 = sp + 104|0;
- $149 = sp + 88|0;
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $167 = $4;
- $168 = ($167|0)!=(0|0);
- if (!($168)) {
-  STACKTOP = sp;return;
- }
- $169 = $3;
- $170 = ((($169)) + 216|0);
- $171 = HEAP32[$170>>2]|0;
- $172 = ($171|0)!=(0|0);
- if ($172) {
-  $173 = $3;
-  $174 = ((($173)) + 244|0);
-  $175 = HEAP16[$174>>1]|0;
-  $176 = $175&65535;
-  $177 = $4;
-  $178 = ((($177)) + 10|0);
-  $179 = HEAP16[$178>>1]|0;
-  $180 = $179&65535;
-  $181 = ($176|0)!=($180|0);
-  if ($181) {
-   $182 = $3;
-   $183 = ((($182)) + 248|0);
-   $184 = HEAP32[$183>>2]|0;
-   $185 = $3;
-   $186 = ((($185)) + 244|0);
-   $187 = HEAP16[$186>>1]|0;
-   $188 = (_mrb_parser_get_filename($184,$187)|0);
-   $189 = $3;
-   $190 = ((($189)) + 216|0);
-   $191 = HEAP32[$190>>2]|0;
-   $192 = ((($191)) + 28|0);
-   HEAP32[$192>>2] = $188;
-   $193 = $3;
-   $194 = HEAP32[$193>>2]|0;
-   $195 = $3;
-   $196 = ((($195)) + 216|0);
-   $197 = HEAP32[$196>>2]|0;
-   $198 = $3;
-   $199 = ((($198)) + 240|0);
-   $200 = HEAP32[$199>>2]|0;
-   $201 = $3;
-   $202 = ((($201)) + 176|0);
-   $203 = HEAP32[$202>>2]|0;
-   (_mrb_debug_info_append_file($194,$197,$200,$203)|0);
-   $204 = $3;
-   $205 = ((($204)) + 176|0);
-   $206 = HEAP32[$205>>2]|0;
-   $207 = $3;
-   $208 = ((($207)) + 240|0);
-   HEAP32[$208>>2] = $206;
-   $209 = $4;
-   $210 = ((($209)) + 10|0);
-   $211 = HEAP16[$210>>1]|0;
-   $212 = $3;
-   $213 = ((($212)) + 244|0);
-   HEAP16[$213>>1] = $211;
-   $214 = $3;
-   $215 = ((($214)) + 248|0);
-   $216 = HEAP32[$215>>2]|0;
-   $217 = $4;
-   $218 = ((($217)) + 10|0);
-   $219 = HEAP16[$218>>1]|0;
-   $220 = (_mrb_parser_get_filename($216,$219)|0);
-   $221 = $3;
-   $222 = ((($221)) + 196|0);
-   HEAP32[$222>>2] = $220;
-  }
- }
- $223 = $4;
- $224 = HEAP32[$223>>2]|0;
- $225 = $224;
- $6 = $225;
- $226 = $4;
- $227 = ((($226)) + 8|0);
- $228 = HEAP16[$227>>1]|0;
- $229 = $3;
- $230 = ((($229)) + 200|0);
- HEAP16[$230>>1] = $228;
- $231 = $4;
- $232 = ((($231)) + 4|0);
- $233 = HEAP32[$232>>2]|0;
- $4 = $233;
- $234 = $6;
- do {
-  switch ($234|0) {
-  case 17:  {
-   $235 = $5;
-   $236 = ($235|0)==(0);
-   $237 = $4;
-   $238 = ($237|0)!=(0|0);
-   $or$cond = $236 | $238;
-   if (!($or$cond)) {
-    $239 = $3;
-    $240 = $3;
-    $241 = ((($240)) + 172|0);
-    $242 = HEAP32[$241>>2]|0;
-    $243 = $242 & 511;
-    $244 = $243 << 23;
-    $245 = 5 | $244;
-    (_genop($239,$245)|0);
-    $246 = $3;
-    _push_($246);
-   }
-   while(1) {
-    $247 = $4;
-    $248 = ($247|0)!=(0|0);
-    if (!($248)) {
-     break;
-    }
-    $249 = $3;
-    $250 = $4;
-    $251 = HEAP32[$250>>2]|0;
-    $252 = $4;
-    $253 = ((($252)) + 4|0);
-    $254 = HEAP32[$253>>2]|0;
-    $255 = ($254|0)!=(0|0);
-    $256 = $5;
-    $257 = $255 ? 0 : $256;
-    _codegen($249,$251,$257);
-    $258 = $4;
-    $259 = ((($258)) + 4|0);
-    $260 = HEAP32[$259>>2]|0;
-    $4 = $260;
-   }
-   STACKTOP = sp;return;
-   break;
-  }
-  case 18:  {
-   $261 = $3;
-   $262 = (_genop($261,26)|0);
-   $7 = $262;
-   $263 = $3;
-   $264 = (_loop_push($263,3)|0);
-   $13 = $264;
-   $265 = $7;
-   $266 = $13;
-   $267 = ((($266)) + 4|0);
-   HEAP32[$267>>2] = $265;
-   $268 = $4;
-   $269 = HEAP32[$268>>2]|0;
-   $270 = ($269|0)!=(0|0);
-   if ($270) {
-    $271 = $3;
-    $272 = $4;
-    $273 = HEAP32[$272>>2]|0;
-    $274 = $5;
-    _codegen($271,$273,$274);
-    $275 = $5;
-    $276 = ($275|0)!=(0);
-    if ($276) {
-     $277 = $3;
-     $278 = ((($277)) + 172|0);
-     $279 = HEAP32[$278>>2]|0;
-     $280 = (($279) + -1)|0;
-     HEAP32[$278>>2] = $280;
-    }
-   }
-   $281 = $13;
-   HEAP32[$281>>2] = 4;
-   $282 = $3;
-   $283 = (_genop($282,23)|0);
-   $8 = $283;
-   $284 = $3;
-   $285 = $7;
-   _dispatch($284,$285);
-   $286 = $4;
-   $287 = ((($286)) + 4|0);
-   $288 = HEAP32[$287>>2]|0;
-   $4 = $288;
-   $9 = 0;
-   $10 = 0;
-   $289 = $4;
-   $290 = HEAP32[$289>>2]|0;
-   $291 = ($290|0)!=(0|0);
-   if ($291) {
-    $292 = $4;
-    $293 = HEAP32[$292>>2]|0;
-    $14 = $293;
-    $294 = $3;
-    $295 = ((($294)) + 172|0);
-    $296 = HEAP32[$295>>2]|0;
-    $15 = $296;
-    $297 = $3;
-    $298 = $15;
-    $299 = $298 & 511;
-    $300 = $299 << 23;
-    $301 = 27 | $300;
-    (_genop($297,$301)|0);
-    $302 = $3;
-    _push_($302);
-    while(1) {
-     $303 = $14;
-     $304 = ($303|0)!=(0|0);
-     if (!($304)) {
-      break;
-     }
-     $305 = $14;
-     $306 = HEAP32[$305>>2]|0;
-     $16 = $306;
-     $307 = $16;
-     $308 = HEAP32[$307>>2]|0;
-     $17 = $308;
-     $309 = $10;
-     $310 = ($309|0)!=(0);
-     if ($310) {
-      $311 = $3;
-      $312 = $10;
-      _dispatch($311,$312);
-     }
-     $11 = 0;
-     while(1) {
-      $313 = $17;
-      $314 = ($313|0)!=(0|0);
-      $315 = $3;
-      if ($314) {
-       $316 = $17;
-       $317 = HEAP32[$316>>2]|0;
-       _codegen($315,$317,1);
-      } else {
-       $318 = $3;
-       $319 = ((($318)) + 172|0);
-       $320 = HEAP32[$319>>2]|0;
-       $321 = $320 & 511;
-       $322 = $321 << 23;
-       $323 = 17 | $322;
-       $324 = $3;
-       $325 = $3;
-       $326 = HEAP32[$325>>2]|0;
-       $327 = (_mrb_intern_static($326,69566,13)|0);
-       $328 = (_new_msym($324,$327)|0);
-       $329 = $328 & 65535;
-       $330 = $329 << 7;
-       $331 = $323 | $330;
-       (_genop($315,$331)|0);
-       $332 = $3;
-       _push_($332);
-      }
-      $333 = $3;
-      $334 = $3;
-      $335 = ((($334)) + 172|0);
-      $336 = HEAP32[$335>>2]|0;
-      $337 = $336 & 511;
-      $338 = $337 << 23;
-      $339 = 1 | $338;
-      $340 = $15;
-      $341 = $340 & 511;
-      $342 = $341 << 14;
-      $343 = $339 | $342;
-      (_genop($333,$343)|0);
-      $344 = $3;
-      $345 = ((($344)) + 172|0);
-      $346 = HEAP32[$345>>2]|0;
-      $347 = (($346) + -1)|0;
-      HEAP32[$345>>2] = $347;
-      $348 = $17;
-      $349 = ($348|0)!=(0|0);
-      if ($349) {
-       $350 = $17;
-       $351 = HEAP32[$350>>2]|0;
-       $352 = ($351|0)!=(0|0);
-       if ($352) {
-        $353 = $17;
-        $354 = HEAP32[$353>>2]|0;
-        $355 = HEAP32[$354>>2]|0;
-        $356 = $355;
-        $357 = ($356|0)==(66);
-        if ($357) {
-         $358 = $3;
-         $359 = $3;
-         $360 = ((($359)) + 172|0);
-         $361 = HEAP32[$360>>2]|0;
-         $362 = $361 & 511;
-         $363 = $362 << 23;
-         $364 = 32 | $363;
-         $365 = $3;
-         $366 = $3;
-         $367 = HEAP32[$366>>2]|0;
-         $368 = (_mrb_intern_static($367,69580,10)|0);
-         $369 = (_new_msym($365,$368)|0);
-         $370 = $369 & 511;
-         $371 = $370 << 14;
-         $372 = $364 | $371;
-         $373 = $372 | 128;
-         (_genop($358,$373)|0);
-        } else {
-         label = 26;
-        }
-       } else {
-        label = 26;
-       }
-      } else {
-       label = 26;
-      }
-      if ((label|0) == 26) {
-       label = 0;
-       $374 = $3;
-       $375 = $3;
-       $376 = ((($375)) + 172|0);
-       $377 = HEAP32[$376>>2]|0;
-       $378 = $377 & 511;
-       $379 = $378 << 23;
-       $380 = 32 | $379;
-       $381 = $3;
-       $382 = $3;
-       $383 = HEAP32[$382>>2]|0;
-       $384 = (_mrb_intern_static($383,69591,3)|0);
-       $385 = (_new_msym($381,$384)|0);
-       $386 = $385 & 511;
-       $387 = $386 << 14;
-       $388 = $380 | $387;
-       $389 = $388 | 128;
-       (_genop($374,$389)|0);
-      }
-      $390 = $3;
-      $391 = $3;
-      $392 = ((($391)) + 172|0);
-      $393 = HEAP32[$392>>2]|0;
-      $394 = $393 & 511;
-      $395 = $394 << 23;
-      $396 = 24 | $395;
-      $397 = $11;
-      $398 = (($397) + 32767)|0;
-      $399 = $398 & 65535;
-      $400 = $399 << 7;
-      $401 = $396 | $400;
-      $402 = (_genop($390,$401)|0);
-      $12 = $402;
-      $403 = $12;
-      $11 = $403;
-      $404 = $17;
-      $405 = ($404|0)!=(0|0);
-      if ($405) {
-       $406 = $17;
-       $407 = ((($406)) + 4|0);
-       $408 = HEAP32[$407>>2]|0;
-       $17 = $408;
-      }
-      $409 = $17;
-      $410 = ($409|0)!=(0|0);
-      if (!($410)) {
-       break;
-      }
-     }
-     $411 = $3;
-     $412 = (_genop($411,4194199)|0);
-     $10 = $412;
-     $413 = $3;
-     $414 = $11;
-     _dispatch_linked($413,$414);
-     $415 = $3;
-     $416 = ((($415)) + 172|0);
-     $417 = HEAP32[$416>>2]|0;
-     $418 = (($417) + -1)|0;
-     HEAP32[$416>>2] = $418;
-     $419 = $16;
-     $420 = ((($419)) + 4|0);
-     $421 = HEAP32[$420>>2]|0;
-     $422 = HEAP32[$421>>2]|0;
-     $423 = ($422|0)!=(0|0);
-     if ($423) {
-      $424 = $3;
-      $425 = $16;
-      $426 = ((($425)) + 4|0);
-      $427 = HEAP32[$426>>2]|0;
-      $428 = HEAP32[$427>>2]|0;
-      $429 = $15;
-      _gen_assignment($424,$428,$429,0);
-     }
-     $430 = $16;
-     $431 = ((($430)) + 4|0);
-     $432 = HEAP32[$431>>2]|0;
-     $433 = ((($432)) + 4|0);
-     $434 = HEAP32[$433>>2]|0;
-     $435 = HEAP32[$434>>2]|0;
-     $436 = ($435|0)!=(0|0);
-     if ($436) {
-      $437 = $3;
-      $438 = $16;
-      $439 = ((($438)) + 4|0);
-      $440 = HEAP32[$439>>2]|0;
-      $441 = ((($440)) + 4|0);
-      $442 = HEAP32[$441>>2]|0;
-      $443 = HEAP32[$442>>2]|0;
-      $444 = $5;
-      _codegen($437,$443,$444);
-      $445 = $5;
-      $446 = ($445|0)!=(0);
-      if ($446) {
-       $447 = $3;
-       $448 = ((($447)) + 172|0);
-       $449 = HEAP32[$448>>2]|0;
-       $450 = (($449) + -1)|0;
-       HEAP32[$448>>2] = $450;
-      }
-     }
-     $451 = $3;
-     $452 = $9;
-     $453 = (($452) + 32767)|0;
-     $454 = $453 & 65535;
-     $455 = $454 << 7;
-     $456 = 23 | $455;
-     $457 = (_genop($451,$456)|0);
-     $12 = $457;
-     $458 = $12;
-     $9 = $458;
-     $459 = $14;
-     $460 = ((($459)) + 4|0);
-     $461 = HEAP32[$460>>2]|0;
-     $14 = $461;
-     $462 = $3;
-     _push_($462);
-    }
-    $463 = $10;
-    $464 = ($463|0)!=(0);
-    if ($464) {
-     $465 = $3;
-     $466 = $10;
-     _dispatch($465,$466);
-     $467 = $3;
-     $468 = $15;
-     $469 = $468 & 511;
-     $470 = $469 << 23;
-     $471 = 29 | $470;
-     (_genop($467,$471)|0);
-    }
-   }
-   $472 = $3;
-   $473 = ((($472)) + 172|0);
-   $474 = HEAP32[$473>>2]|0;
-   $475 = (($474) + -1)|0;
-   HEAP32[$473>>2] = $475;
-   $476 = $4;
-   $477 = ((($476)) + 4|0);
-   $478 = HEAP32[$477>>2]|0;
-   $4 = $478;
-   $479 = $3;
-   $480 = $8;
-   _dispatch($479,$480);
-   $481 = $3;
-   (_genop($481,8388636)|0);
-   $482 = $4;
-   $483 = HEAP32[$482>>2]|0;
-   $484 = ($483|0)!=(0|0);
-   if ($484) {
-    $485 = $3;
-    $486 = $4;
-    $487 = HEAP32[$486>>2]|0;
-    $488 = $5;
-    _codegen($485,$487,$488);
-   } else {
-    $489 = $5;
-    $490 = ($489|0)!=(0);
-    if ($490) {
-     $491 = $3;
-     _push_($491);
-    }
-   }
-   $492 = $3;
-   $493 = $9;
-   _dispatch_linked($492,$493);
-   $494 = $3;
-   _loop_pop($494,0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 19:  {
-   $495 = $3;
-   $496 = ((($495)) + 176|0);
-   $497 = HEAP32[$496>>2]|0;
-   $19 = $497;
-   $498 = $3;
-   (_genop($498,30)|0);
-   $499 = $3;
-   $500 = ((($499)) + 192|0);
-   $501 = HEAP32[$500>>2]|0;
-   $502 = (($501) + 1)|0;
-   HEAP32[$500>>2] = $502;
-   $503 = $3;
-   $504 = $4;
-   $505 = HEAP32[$504>>2]|0;
-   $506 = $5;
-   _codegen($503,$505,$506);
-   $507 = $3;
-   $508 = $4;
-   $509 = ((($508)) + 4|0);
-   $510 = HEAP32[$509>>2]|0;
-   $511 = (_scope_body($507,$510,0)|0);
-   $18 = $511;
-   $512 = $18;
-   $513 = $512 & 65535;
-   $514 = $513 << 7;
-   $515 = 30 | $514;
-   $516 = $3;
-   $517 = ((($516)) + 204|0);
-   $518 = HEAP32[$517>>2]|0;
-   $519 = $19;
-   $520 = (($518) + ($519<<2)|0);
-   HEAP32[$520>>2] = $515;
-   $521 = $3;
-   $522 = ((($521)) + 192|0);
-   $523 = HEAP32[$522>>2]|0;
-   $524 = (($523) + -1)|0;
-   HEAP32[$522>>2] = $524;
-   $525 = $3;
-   (_genop_peep($525,8388639,0)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 53:  {
-   $526 = $3;
-   $527 = $4;
-   $528 = (_lambda_body($526,$527,1)|0);
-   $20 = $528;
-   $529 = $3;
-   $530 = $3;
-   $531 = ((($530)) + 172|0);
-   $532 = HEAP32[$531>>2]|0;
-   $533 = $532 & 511;
-   $534 = $533 << 23;
-   $535 = 64 | $534;
-   $536 = $20;
-   $537 = $536 & 16383;
-   $538 = $537 << 9;
-   $539 = $538 | 384;
-   $540 = $535 | $539;
-   (_genop($529,$540)|0);
-   $541 = $3;
-   _push_($541);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 4:  {
-   $542 = $3;
-   $543 = $4;
-   $544 = (_lambda_body($542,$543,1)|0);
-   $21 = $544;
-   $545 = $3;
-   $546 = $3;
-   $547 = ((($546)) + 172|0);
-   $548 = HEAP32[$547>>2]|0;
-   $549 = $548 & 511;
-   $550 = $549 << 23;
-   $551 = 64 | $550;
-   $552 = $21;
-   $553 = $552 & 16383;
-   $554 = $553 << 9;
-   $555 = $554 | 256;
-   $556 = $551 | $555;
-   (_genop($545,$556)|0);
-   $557 = $3;
-   _push_($557);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 5:  {
-   $558 = $4;
-   $559 = ((($558)) + 4|0);
-   $560 = HEAP32[$559>>2]|0;
-   $561 = ((($560)) + 4|0);
-   $562 = HEAP32[$561>>2]|0;
-   $563 = HEAP32[$562>>2]|0;
-   $24 = $563;
-   $564 = $4;
-   $565 = HEAP32[$564>>2]|0;
-   $566 = HEAP32[$565>>2]|0;
-   $567 = $566;
-   switch ($567|0) {
-   case 55: case 50: case 87:  {
-    $568 = $3;
-    $569 = $4;
-    $570 = ((($569)) + 4|0);
-    $571 = HEAP32[$570>>2]|0;
-    $572 = HEAP32[$571>>2]|0;
-    $573 = $5;
-    _codegen($568,$572,$573);
-    STACKTOP = sp;return;
-    break;
-   }
-   case 86: case 88:  {
-    $574 = $3;
-    $575 = $24;
-    $576 = $5;
-    _codegen($574,$575,$576);
-    STACKTOP = sp;return;
-    break;
-   }
-   default: {
-    $577 = $3;
-    $578 = $4;
-    $579 = HEAP32[$578>>2]|0;
-    _codegen($577,$579,1);
-    $580 = $3;
-    $581 = ((($580)) + 172|0);
-    $582 = HEAP32[$581>>2]|0;
-    $583 = (($582) + -1)|0;
-    HEAP32[$581>>2] = $583;
-    $584 = $3;
-    $585 = $3;
-    $586 = ((($585)) + 172|0);
-    $587 = HEAP32[$586>>2]|0;
-    $588 = $587 & 511;
-    $589 = $588 << 23;
-    $590 = 25 | $589;
-    $591 = $590 | 4194176;
-    $592 = (_genop_peep($584,$591,0)|0);
-    $22 = $592;
-    $593 = $3;
-    $594 = $4;
-    $595 = ((($594)) + 4|0);
-    $596 = HEAP32[$595>>2]|0;
-    $597 = HEAP32[$596>>2]|0;
-    $598 = $5;
-    _codegen($593,$597,$598);
-    $599 = $5;
-    $600 = ($599|0)!=(0);
-    if ($600) {
-     $601 = $4;
-     $602 = ((($601)) + 4|0);
-     $603 = HEAP32[$602>>2]|0;
-     $604 = HEAP32[$603>>2]|0;
-     $605 = ($604|0)!=(0|0);
-     if (!($605)) {
-      $606 = $3;
-      $607 = $3;
-      $608 = ((($607)) + 172|0);
-      $609 = HEAP32[$608>>2]|0;
-      $610 = $609 & 511;
-      $611 = $610 << 23;
-      $612 = 5 | $611;
-      (_genop($606,$612)|0);
-      $613 = $3;
-      _push_($613);
-     }
-    }
-    $614 = $24;
-    $615 = ($614|0)!=(0|0);
-    $616 = $5;
-    $617 = ($616|0)!=(0);
-    if ($615) {
-     if ($617) {
-      $618 = $3;
-      $619 = ((($618)) + 172|0);
-      $620 = HEAP32[$619>>2]|0;
-      $621 = (($620) + -1)|0;
-      HEAP32[$619>>2] = $621;
-     }
-     $622 = $3;
-     $623 = (_genop($622,4194199)|0);
-     $23 = $623;
-     $624 = $3;
-     $625 = $22;
-     _dispatch($624,$625);
-     $626 = $3;
-     $627 = $24;
-     $628 = $5;
-     _codegen($626,$627,$628);
-     $629 = $3;
-     $630 = $23;
-     _dispatch($629,$630);
-     STACKTOP = sp;return;
-    }
-    $631 = $3;
-    if ($617) {
-     $632 = ((($631)) + 172|0);
-     $633 = HEAP32[$632>>2]|0;
-     $634 = (($633) + -1)|0;
-     HEAP32[$632>>2] = $634;
-     $635 = $3;
-     $636 = (_genop($635,4194199)|0);
-     $23 = $636;
-     $637 = $3;
-     $638 = $22;
-     _dispatch($637,$638);
-     $639 = $3;
-     $640 = $3;
-     $641 = ((($640)) + 172|0);
-     $642 = HEAP32[$641>>2]|0;
-     $643 = $642 & 511;
-     $644 = $643 << 23;
-     $645 = 5 | $644;
-     (_genop($639,$645)|0);
-     $646 = $3;
-     $647 = $23;
-     _dispatch($646,$647);
-     $648 = $3;
-     _push_($648);
-     STACKTOP = sp;return;
-    } else {
-     $649 = $22;
-     _dispatch($631,$649);
-     STACKTOP = sp;return;
-    }
-   }
-   }
-   break;
-  }
-  case 20:  {
-   $650 = $3;
-   $651 = $4;
-   $652 = HEAP32[$651>>2]|0;
-   _codegen($650,$652,1);
-   $653 = $3;
-   $654 = ((($653)) + 172|0);
-   $655 = HEAP32[$654>>2]|0;
-   $656 = (($655) + -1)|0;
-   HEAP32[$654>>2] = $656;
-   $657 = $3;
-   $658 = $3;
-   $659 = ((($658)) + 172|0);
-   $660 = HEAP32[$659>>2]|0;
-   $661 = $660 & 511;
-   $662 = $661 << 23;
-   $663 = 25 | $662;
-   $664 = $663 | 4194176;
-   $665 = (_genop($657,$664)|0);
-   $25 = $665;
-   $666 = $3;
-   $667 = $4;
-   $668 = ((($667)) + 4|0);
-   $669 = HEAP32[$668>>2]|0;
-   $670 = $5;
-   _codegen($666,$669,$670);
-   $671 = $3;
-   $672 = $25;
-   _dispatch($671,$672);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 21:  {
-   $673 = $3;
-   $674 = $4;
-   $675 = HEAP32[$674>>2]|0;
-   _codegen($673,$675,1);
-   $676 = $3;
-   $677 = ((($676)) + 172|0);
-   $678 = HEAP32[$677>>2]|0;
-   $679 = (($678) + -1)|0;
-   HEAP32[$677>>2] = $679;
-   $680 = $3;
-   $681 = $3;
-   $682 = ((($681)) + 172|0);
-   $683 = HEAP32[$682>>2]|0;
-   $684 = $683 & 511;
-   $685 = $684 << 23;
-   $686 = 24 | $685;
-   $687 = $686 | 4194176;
-   $688 = (_genop($680,$687)|0);
-   $26 = $688;
-   $689 = $3;
-   $690 = $4;
-   $691 = ((($690)) + 4|0);
-   $692 = HEAP32[$691>>2]|0;
-   $693 = $5;
-   _codegen($689,$692,$693);
-   $694 = $3;
-   $695 = $26;
-   _dispatch($694,$695);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 9:  {
-   $696 = $3;
-   $697 = (_loop_push($696,0)|0);
-   $27 = $697;
-   $698 = $3;
-   $699 = (_genop($698,4194199)|0);
-   $700 = $27;
-   $701 = ((($700)) + 4|0);
-   HEAP32[$701>>2] = $699;
-   $702 = $3;
-   $703 = (_new_label($702)|0);
-   $704 = $27;
-   $705 = ((($704)) + 8|0);
-   HEAP32[$705>>2] = $703;
-   $706 = $3;
-   $707 = $4;
-   $708 = ((($707)) + 4|0);
-   $709 = HEAP32[$708>>2]|0;
-   _codegen($706,$709,0);
-   $710 = $3;
-   $711 = $27;
-   $712 = ((($711)) + 4|0);
-   $713 = HEAP32[$712>>2]|0;
-   _dispatch($710,$713);
-   $714 = $3;
-   $715 = $4;
-   $716 = HEAP32[$715>>2]|0;
-   _codegen($714,$716,1);
-   $717 = $3;
-   $718 = ((($717)) + 172|0);
-   $719 = HEAP32[$718>>2]|0;
-   $720 = (($719) + -1)|0;
-   HEAP32[$718>>2] = $720;
-   $721 = $3;
-   $722 = $3;
-   $723 = ((($722)) + 172|0);
-   $724 = HEAP32[$723>>2]|0;
-   $725 = $724 & 511;
-   $726 = $725 << 23;
-   $727 = 24 | $726;
-   $728 = $27;
-   $729 = ((($728)) + 8|0);
-   $730 = HEAP32[$729>>2]|0;
-   $731 = $3;
-   $732 = ((($731)) + 176|0);
-   $733 = HEAP32[$732>>2]|0;
-   $734 = (($730) - ($733))|0;
-   $735 = (($734) + 32767)|0;
-   $736 = $735 & 65535;
-   $737 = $736 << 7;
-   $738 = $727 | $737;
-   (_genop($721,$738)|0);
-   $739 = $3;
-   $740 = $5;
-   _loop_pop($739,$740);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 10:  {
-   $741 = $3;
-   $742 = (_loop_push($741,0)|0);
-   $28 = $742;
-   $743 = $3;
-   $744 = (_genop($743,4194199)|0);
-   $745 = $28;
-   $746 = ((($745)) + 4|0);
-   HEAP32[$746>>2] = $744;
-   $747 = $3;
-   $748 = (_new_label($747)|0);
-   $749 = $28;
-   $750 = ((($749)) + 8|0);
-   HEAP32[$750>>2] = $748;
-   $751 = $3;
-   $752 = $4;
-   $753 = ((($752)) + 4|0);
-   $754 = HEAP32[$753>>2]|0;
-   _codegen($751,$754,0);
-   $755 = $3;
-   $756 = $28;
-   $757 = ((($756)) + 4|0);
-   $758 = HEAP32[$757>>2]|0;
-   _dispatch($755,$758);
-   $759 = $3;
-   $760 = $4;
-   $761 = HEAP32[$760>>2]|0;
-   _codegen($759,$761,1);
-   $762 = $3;
-   $763 = ((($762)) + 172|0);
-   $764 = HEAP32[$763>>2]|0;
-   $765 = (($764) + -1)|0;
-   HEAP32[$763>>2] = $765;
-   $766 = $3;
-   $767 = $3;
-   $768 = ((($767)) + 172|0);
-   $769 = HEAP32[$768>>2]|0;
-   $770 = $769 & 511;
-   $771 = $770 << 23;
-   $772 = 25 | $771;
-   $773 = $28;
-   $774 = ((($773)) + 8|0);
-   $775 = HEAP32[$774>>2]|0;
-   $776 = $3;
-   $777 = ((($776)) + 176|0);
-   $778 = HEAP32[$777>>2]|0;
-   $779 = (($775) - ($778))|0;
-   $780 = (($779) + 32767)|0;
-   $781 = $780 & 65535;
-   $782 = $781 << 7;
-   $783 = $772 | $782;
-   (_genop($766,$783)|0);
-   $784 = $3;
-   $785 = $5;
-   _loop_pop($784,$785);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 12:  {
-   $786 = $3;
-   $787 = $4;
-   _for_body($786,$787);
-   $788 = $5;
-   $789 = ($788|0)!=(0);
-   if (!($789)) {
-    STACKTOP = sp;return;
-   }
-   $790 = $3;
-   _push_($790);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 6:  {
-   $29 = 0;
-   $32 = 0;
-   $791 = $4;
-   $792 = HEAP32[$791>>2]|0;
-   $793 = ($792|0)!=(0|0);
-   if ($793) {
-    $794 = $3;
-    $795 = ((($794)) + 172|0);
-    $796 = HEAP32[$795>>2]|0;
-    $29 = $796;
-    $797 = $3;
-    $798 = $4;
-    $799 = HEAP32[$798>>2]|0;
-    _codegen($797,$799,1);
-   }
-   $800 = $4;
-   $801 = ((($800)) + 4|0);
-   $802 = HEAP32[$801>>2]|0;
-   $4 = $802;
-   while(1) {
-    $803 = $4;
-    $804 = ($803|0)!=(0|0);
-    if (!($804)) {
-     break;
-    }
-    $805 = $4;
-    $806 = HEAP32[$805>>2]|0;
-    $807 = HEAP32[$806>>2]|0;
-    $34 = $807;
-    $31 = 0;
-    $30 = 0;
-    while(1) {
-     $808 = $34;
-     $809 = ($808|0)!=(0|0);
-     if (!($809)) {
-      break;
-     }
-     $810 = $3;
-     $811 = $34;
-     $812 = HEAP32[$811>>2]|0;
-     _codegen($810,$812,1);
-     $813 = $29;
-     $814 = ($813|0)!=(0);
-     $815 = $3;
-     do {
-      if ($814) {
-       $816 = $3;
-       $817 = ((($816)) + 172|0);
-       $818 = HEAP32[$817>>2]|0;
-       $819 = $818 & 511;
-       $820 = $819 << 23;
-       $821 = 1 | $820;
-       $822 = $29;
-       $823 = $822 & 511;
-       $824 = $823 << 14;
-       $825 = $821 | $824;
-       (_genop($815,$825)|0);
-       $826 = $3;
-       $827 = ((($826)) + 172|0);
-       $828 = HEAP32[$827>>2]|0;
-       $829 = (($828) + -1)|0;
-       HEAP32[$827>>2] = $829;
-       $830 = $34;
-       $831 = HEAP32[$830>>2]|0;
-       $832 = HEAP32[$831>>2]|0;
-       $833 = $832;
-       $834 = ($833|0)==(66);
-       $835 = $3;
-       $836 = $3;
-       $837 = ((($836)) + 172|0);
-       $838 = HEAP32[$837>>2]|0;
-       $839 = $838 & 511;
-       $840 = $839 << 23;
-       $841 = 32 | $840;
-       $842 = $3;
-       $843 = $3;
-       $844 = HEAP32[$843>>2]|0;
-       if ($834) {
-        $845 = (_mrb_intern_static($844,69580,10)|0);
-        $846 = (_new_msym($842,$845)|0);
-        $847 = $846 & 511;
-        $848 = $847 << 14;
-        $849 = $841 | $848;
-        $850 = $849 | 128;
-        (_genop($835,$850)|0);
-        break;
-       } else {
-        $851 = (_mrb_intern_static($844,69591,3)|0);
-        $852 = (_new_msym($842,$851)|0);
-        $853 = $852 & 511;
-        $854 = $853 << 14;
-        $855 = $841 | $854;
-        $856 = $855 | 128;
-        (_genop($835,$856)|0);
-        break;
-       }
-      } else {
-       $857 = ((($815)) + 172|0);
-       $858 = HEAP32[$857>>2]|0;
-       $859 = (($858) + -1)|0;
-       HEAP32[$857>>2] = $859;
-      }
-     } while(0);
-     $860 = $3;
-     $861 = $3;
-     $862 = ((($861)) + 172|0);
-     $863 = HEAP32[$862>>2]|0;
-     $864 = $863 & 511;
-     $865 = $864 << 23;
-     $866 = 24 | $865;
-     $867 = $31;
-     $868 = (($867) + 32767)|0;
-     $869 = $868 & 65535;
-     $870 = $869 << 7;
-     $871 = $866 | $870;
-     $872 = (_genop($860,$871)|0);
-     $33 = $872;
-     $873 = $33;
-     $31 = $873;
-     $874 = $34;
-     $875 = ((($874)) + 4|0);
-     $876 = HEAP32[$875>>2]|0;
-     $34 = $876;
-    }
-    $877 = $4;
-    $878 = HEAP32[$877>>2]|0;
-    $879 = HEAP32[$878>>2]|0;
-    $880 = ($879|0)!=(0|0);
-    if ($880) {
-     $881 = $3;
-     $882 = (_genop($881,4194199)|0);
-     $30 = $882;
-     $883 = $3;
-     $884 = $31;
-     _dispatch_linked($883,$884);
-    }
-    $885 = $3;
-    $886 = $4;
-    $887 = HEAP32[$886>>2]|0;
-    $888 = ((($887)) + 4|0);
-    $889 = HEAP32[$888>>2]|0;
-    $890 = $5;
-    _codegen($885,$889,$890);
-    $891 = $5;
-    $892 = ($891|0)!=(0);
-    if ($892) {
-     $893 = $3;
-     $894 = ((($893)) + 172|0);
-     $895 = HEAP32[$894>>2]|0;
-     $896 = (($895) + -1)|0;
-     HEAP32[$894>>2] = $896;
-    }
-    $897 = $3;
-    $898 = $32;
-    $899 = (($898) + 32767)|0;
-    $900 = $899 & 65535;
-    $901 = $900 << 7;
-    $902 = 23 | $901;
-    $903 = (_genop($897,$902)|0);
-    $33 = $903;
-    $904 = $33;
-    $32 = $904;
-    $905 = $30;
-    $906 = ($905|0)!=(0);
-    if ($906) {
-     $907 = $3;
-     $908 = $30;
-     _dispatch($907,$908);
-    }
-    $909 = $4;
-    $910 = ((($909)) + 4|0);
-    $911 = HEAP32[$910>>2]|0;
-    $4 = $911;
-   }
-   $912 = $5;
-   $913 = ($912|0)!=(0);
-   if ($913) {
-    $914 = $3;
-    $915 = ((($914)) + 172|0);
-    $916 = HEAP32[$915>>2]|0;
-    $35 = $916;
-    $917 = $3;
-    $918 = $3;
-    $919 = ((($918)) + 172|0);
-    $920 = HEAP32[$919>>2]|0;
-    $921 = $920 & 511;
-    $922 = $921 << 23;
-    $923 = 5 | $922;
-    (_genop($917,$923)|0);
-    $924 = $32;
-    $925 = ($924|0)!=(0);
-    if ($925) {
-     $926 = $3;
-     $927 = $32;
-     _dispatch_linked($926,$927);
-    }
-    $928 = $29;
-    $929 = ($928|0)!=(0);
-    if ($929) {
-     $930 = $3;
-     $931 = ((($930)) + 172|0);
-     $932 = HEAP32[$931>>2]|0;
-     $933 = (($932) + -1)|0;
-     HEAP32[$931>>2] = $933;
-    }
-    $934 = $3;
-    $935 = $3;
-    $936 = ((($935)) + 172|0);
-    $937 = HEAP32[$936>>2]|0;
-    $938 = $937 & 511;
-    $939 = $938 << 23;
-    $940 = 1 | $939;
-    $941 = $35;
-    $942 = $941 & 511;
-    $943 = $942 << 14;
-    $944 = $940 | $943;
-    (_genop($934,$944)|0);
-    $945 = $3;
-    _push_($945);
-    STACKTOP = sp;return;
-   } else {
-    $946 = $32;
-    $947 = ($946|0)!=(0);
-    if ($947) {
-     $948 = $3;
-     $949 = $32;
-     _dispatch_linked($948,$949);
-    }
-    $950 = $29;
-    $951 = ($950|0)!=(0);
-    if (!($951)) {
-     STACKTOP = sp;return;
-    }
-    $952 = $3;
-    $953 = ((($952)) + 172|0);
-    $954 = HEAP32[$953>>2]|0;
-    $955 = (($954) + -1)|0;
-    HEAP32[$953>>2] = $955;
-    STACKTOP = sp;return;
-   }
-   break;
-  }
-  case 3:  {
-   $956 = $3;
-   $957 = $4;
-   (_scope_body($956,$957,0)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 29: case 30:  {
-   $958 = $3;
-   $959 = $4;
-   $960 = $5;
-   _gen_call($958,$959,0,0,$960);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 80:  {
-   $961 = $3;
-   $962 = $4;
-   $963 = HEAP32[$962>>2]|0;
-   $964 = $5;
-   _codegen($961,$963,$964);
-   $965 = $3;
-   $966 = $4;
-   $967 = ((($966)) + 4|0);
-   $968 = HEAP32[$967>>2]|0;
-   $969 = $5;
-   _codegen($965,$968,$969);
-   $970 = $5;
-   $971 = ($970|0)!=(0);
-   if (!($971)) {
-    STACKTOP = sp;return;
-   }
-   $972 = $3;
-   $973 = ((($972)) + 172|0);
-   $974 = HEAP32[$973>>2]|0;
-   $975 = (($974) + -1)|0;
-   HEAP32[$973>>2] = $975;
-   $976 = $3;
-   $977 = ((($976)) + 172|0);
-   $978 = HEAP32[$977>>2]|0;
-   $979 = (($978) + -1)|0;
-   HEAP32[$977>>2] = $979;
-   $980 = $3;
-   $981 = $3;
-   $982 = ((($981)) + 172|0);
-   $983 = HEAP32[$982>>2]|0;
-   $984 = $983 & 511;
-   $985 = $984 << 23;
-   $986 = 65 | $985;
-   $987 = $3;
-   $988 = ((($987)) + 172|0);
-   $989 = HEAP32[$988>>2]|0;
-   $990 = $989 & 511;
-   $991 = $990 << 14;
-   $992 = $986 | $991;
-   (_genop($980,$992)|0);
-   $993 = $3;
-   _push_($993);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 81:  {
-   $994 = $3;
-   $995 = $4;
-   $996 = HEAP32[$995>>2]|0;
-   $997 = $5;
-   _codegen($994,$996,$997);
-   $998 = $3;
-   $999 = $4;
-   $1000 = ((($999)) + 4|0);
-   $1001 = HEAP32[$1000>>2]|0;
-   $1002 = $5;
-   _codegen($998,$1001,$1002);
-   $1003 = $5;
-   $1004 = ($1003|0)!=(0);
-   if (!($1004)) {
-    STACKTOP = sp;return;
-   }
-   $1005 = $3;
-   $1006 = ((($1005)) + 172|0);
-   $1007 = HEAP32[$1006>>2]|0;
-   $1008 = (($1007) + -1)|0;
-   HEAP32[$1006>>2] = $1008;
-   $1009 = $3;
-   $1010 = ((($1009)) + 172|0);
-   $1011 = HEAP32[$1010>>2]|0;
-   $1012 = (($1011) + -1)|0;
-   HEAP32[$1010>>2] = $1012;
-   $1013 = $3;
-   $1014 = $3;
-   $1015 = ((($1014)) + 172|0);
-   $1016 = HEAP32[$1015>>2]|0;
-   $1017 = $1016 & 511;
-   $1018 = $1017 << 23;
-   $1019 = 65 | $1018;
-   $1020 = $3;
-   $1021 = ((($1020)) + 172|0);
-   $1022 = HEAP32[$1021>>2]|0;
-   $1023 = $1022 & 511;
-   $1024 = $1023 << 14;
-   $1025 = $1019 | $1024;
-   $1026 = $1025 | 128;
-   (_genop($1013,$1026)|0);
-   $1027 = $3;
-   _push_($1027);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 77:  {
-   $1028 = $3;
-   $1029 = $4;
-   $1030 = ((($1029)) + 4|0);
-   $1031 = HEAP32[$1030>>2]|0;
-   $1032 = $1031;
-   $1033 = (_new_sym_1167($1028,$1032)|0);
-   $36 = $1033;
-   $1034 = $3;
-   $1035 = $4;
-   $1036 = HEAP32[$1035>>2]|0;
-   _codegen($1034,$1036,1);
-   $1037 = $3;
-   $1038 = ((($1037)) + 172|0);
-   $1039 = HEAP32[$1038>>2]|0;
-   $1040 = (($1039) + -1)|0;
-   HEAP32[$1038>>2] = $1040;
-   $1041 = $3;
-   $1042 = $3;
-   $1043 = ((($1042)) + 172|0);
-   $1044 = HEAP32[$1043>>2]|0;
-   $1045 = $1044 & 511;
-   $1046 = $1045 << 23;
-   $1047 = 19 | $1046;
-   $1048 = $36;
-   $1049 = $1048 & 65535;
-   $1050 = $1049 << 7;
-   $1051 = $1047 | $1050;
-   (_genop($1041,$1051)|0);
-   $1052 = $5;
-   $1053 = ($1052|0)!=(0);
-   if (!($1053)) {
-    STACKTOP = sp;return;
-   }
-   $1054 = $3;
-   _push_($1054);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 78:  {
-   $1055 = $3;
-   $1056 = $4;
-   $1057 = $1056;
-   $1058 = (_new_sym_1167($1055,$1057)|0);
-   $37 = $1058;
-   $1059 = $3;
-   $1060 = $3;
-   $1061 = ((($1060)) + 172|0);
-   $1062 = HEAP32[$1061>>2]|0;
-   $1063 = $1062 & 511;
-   $1064 = $1063 << 23;
-   $1065 = 66 | $1064;
-   (_genop($1059,$1065)|0);
-   $1066 = $3;
-   $1067 = $3;
-   $1068 = ((($1067)) + 172|0);
-   $1069 = HEAP32[$1068>>2]|0;
-   $1070 = $1069 & 511;
-   $1071 = $1070 << 23;
-   $1072 = 19 | $1071;
-   $1073 = $37;
-   $1074 = $1073 & 65535;
-   $1075 = $1074 << 7;
-   $1076 = $1072 | $1075;
-   (_genop($1066,$1076)|0);
-   $1077 = $5;
-   $1078 = ($1077|0)!=(0);
-   if (!($1078)) {
-    STACKTOP = sp;return;
-   }
-   $1079 = $3;
-   _push_($1079);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 34:  {
-   $1080 = $3;
-   $1081 = $4;
-   $1082 = $5;
-   $1083 = (_gen_values($1080,$1081,$1082)|0);
-   $38 = $1083;
-   $1084 = $38;
-   $1085 = ($1084|0)>=(0);
-   $1086 = $5;
-   $1087 = ($1086|0)!=(0);
-   if ($1085) {
-    if (!($1087)) {
-     STACKTOP = sp;return;
-    }
-    $1088 = $38;
-    $1089 = $3;
-    $1090 = ((($1089)) + 172|0);
-    $1091 = HEAP32[$1090>>2]|0;
-    $1092 = (($1091) - ($1088))|0;
-    HEAP32[$1090>>2] = $1092;
-    $1093 = $3;
-    $1094 = $3;
-    $1095 = ((($1094)) + 172|0);
-    $1096 = HEAP32[$1095>>2]|0;
-    $1097 = $1096 & 511;
-    $1098 = $1097 << 23;
-    $1099 = 55 | $1098;
-    $1100 = $3;
-    $1101 = ((($1100)) + 172|0);
-    $1102 = HEAP32[$1101>>2]|0;
-    $1103 = $1102 & 511;
-    $1104 = $1103 << 14;
-    $1105 = $1099 | $1104;
-    $1106 = $38;
-    $1107 = $1106 & 127;
-    $1108 = $1107 << 7;
-    $1109 = $1105 | $1108;
-    (_genop($1093,$1109)|0);
-    $1110 = $3;
-    _push_($1110);
-    STACKTOP = sp;return;
-   } else {
-    if (!($1087)) {
-     STACKTOP = sp;return;
-    }
-    $1111 = $3;
-    _push_($1111);
-    STACKTOP = sp;return;
-   }
-   break;
-  }
-  case 36:  {
-   $39 = 0;
-   $40 = 0;
-   while(1) {
-    $1112 = $4;
-    $1113 = ($1112|0)!=(0|0);
-    if (!($1113)) {
-     break;
-    }
-    $1114 = $3;
-    $1115 = $4;
-    $1116 = HEAP32[$1115>>2]|0;
-    $1117 = HEAP32[$1116>>2]|0;
-    $1118 = $5;
-    _codegen($1114,$1117,$1118);
-    $1119 = $3;
-    $1120 = $4;
-    $1121 = HEAP32[$1120>>2]|0;
-    $1122 = ((($1121)) + 4|0);
-    $1123 = HEAP32[$1122>>2]|0;
-    $1124 = $5;
-    _codegen($1119,$1123,$1124);
-    $1125 = $39;
-    $1126 = (($1125) + 1)|0;
-    $39 = $1126;
-    $1127 = $4;
-    $1128 = ((($1127)) + 4|0);
-    $1129 = HEAP32[$1128>>2]|0;
-    $4 = $1129;
-    $1130 = $5;
-    $1131 = ($1130|0)!=(0);
-    $1132 = $39;
-    $1133 = ($1132|0)==(126);
-    $or$cond3 = $1131 & $1133;
-    if (!($or$cond3)) {
-     continue;
-    }
-    $1134 = $39;
-    $1135 = $1134<<1;
-    $1136 = $3;
-    $1137 = ((($1136)) + 172|0);
-    $1138 = HEAP32[$1137>>2]|0;
-    $1139 = (($1138) - ($1135))|0;
-    HEAP32[$1137>>2] = $1139;
-    $1140 = $3;
-    $1141 = $3;
-    $1142 = ((($1141)) + 172|0);
-    $1143 = HEAP32[$1142>>2]|0;
-    $1144 = $1143 & 511;
-    $1145 = $1144 << 23;
-    $1146 = 63 | $1145;
-    $1147 = $3;
-    $1148 = ((($1147)) + 172|0);
-    $1149 = HEAP32[$1148>>2]|0;
-    $1150 = $1149 & 511;
-    $1151 = $1150 << 14;
-    $1152 = $1146 | $1151;
-    $1153 = $39;
-    $1154 = $1153 & 127;
-    $1155 = $1154 << 7;
-    $1156 = $1152 | $1155;
-    (_genop($1140,$1156)|0);
-    $1157 = $40;
-    $1158 = ($1157<<24>>24)!=(0);
-    if ($1158) {
-     $1159 = $3;
-     $1160 = ((($1159)) + 172|0);
-     $1161 = HEAP32[$1160>>2]|0;
-     $1162 = (($1161) + -1)|0;
-     HEAP32[$1160>>2] = $1162;
-     $1163 = $3;
-     $1164 = $3;
-     $1165 = ((($1164)) + 172|0);
-     $1166 = HEAP32[$1165>>2]|0;
-     $1167 = $1166 & 511;
-     $1168 = $1167 << 23;
-     $1169 = 32 | $1168;
-     $1170 = $3;
-     $1171 = $3;
-     $1172 = HEAP32[$1171>>2]|0;
-     $1173 = (_mrb_intern_static($1172,69595,8)|0);
-     $1174 = (_new_msym($1170,$1173)|0);
-     $1175 = $1174 & 511;
-     $1176 = $1175 << 14;
-     $1177 = $1169 | $1176;
-     $1178 = $1177 | 128;
-     (_genop($1163,$1178)|0);
-    }
-    $1179 = $3;
-    _push_($1179);
-    $40 = 1;
-    $39 = 0;
-   }
-   $1180 = $5;
-   $1181 = ($1180|0)!=(0);
-   if (!($1181)) {
-    STACKTOP = sp;return;
-   }
-   $1182 = $39;
-   $1183 = $1182<<1;
-   $1184 = $3;
-   $1185 = ((($1184)) + 172|0);
-   $1186 = HEAP32[$1185>>2]|0;
-   $1187 = (($1186) - ($1183))|0;
-   HEAP32[$1185>>2] = $1187;
-   $1188 = $3;
-   $1189 = $3;
-   $1190 = ((($1189)) + 172|0);
-   $1191 = HEAP32[$1190>>2]|0;
-   $1192 = $1191 & 511;
-   $1193 = $1192 << 23;
-   $1194 = 63 | $1193;
-   $1195 = $3;
-   $1196 = ((($1195)) + 172|0);
-   $1197 = HEAP32[$1196>>2]|0;
-   $1198 = $1197 & 511;
-   $1199 = $1198 << 14;
-   $1200 = $1194 | $1199;
-   $1201 = $39;
-   $1202 = $1201 & 127;
-   $1203 = $1202 << 7;
-   $1204 = $1200 | $1203;
-   (_genop($1188,$1204)|0);
-   $1205 = $40;
-   $1206 = ($1205<<24>>24)!=(0);
-   if ($1206) {
-    $1207 = $3;
-    $1208 = ((($1207)) + 172|0);
-    $1209 = HEAP32[$1208>>2]|0;
-    $1210 = (($1209) + -1)|0;
-    HEAP32[$1208>>2] = $1210;
-    $1211 = $3;
-    $1212 = $3;
-    $1213 = ((($1212)) + 172|0);
-    $1214 = HEAP32[$1213>>2]|0;
-    $1215 = $1214 & 511;
-    $1216 = $1215 << 23;
-    $1217 = 32 | $1216;
-    $1218 = $3;
-    $1219 = $3;
-    $1220 = HEAP32[$1219>>2]|0;
-    $1221 = (_mrb_intern_static($1220,69595,8)|0);
-    $1222 = (_new_msym($1218,$1221)|0);
-    $1223 = $1222 & 511;
-    $1224 = $1223 << 14;
-    $1225 = $1217 | $1224;
-    $1226 = $1225 | 128;
-    (_genop($1211,$1226)|0);
-   }
-   $1227 = $3;
-   _push_($1227);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 66:  {
-   $1228 = $3;
-   $1229 = $4;
-   _codegen($1228,$1229,1);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 24:  {
-   $1230 = $3;
-   $1231 = $4;
-   $1232 = ((($1231)) + 4|0);
-   $1233 = HEAP32[$1232>>2]|0;
-   _codegen($1230,$1233,1);
-   $1234 = $3;
-   $1235 = ((($1234)) + 172|0);
-   $1236 = HEAP32[$1235>>2]|0;
-   $1237 = (($1236) + -1)|0;
-   HEAP32[$1235>>2] = $1237;
-   $1238 = $3;
-   $1239 = $4;
-   $1240 = HEAP32[$1239>>2]|0;
-   $1241 = $3;
-   $1242 = ((($1241)) + 172|0);
-   $1243 = HEAP32[$1242>>2]|0;
-   $1244 = $5;
-   _gen_assignment($1238,$1240,$1243,$1244);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 23:  {
-   $41 = 0;
-   $42 = 0;
-   $43 = 0;
-   $1245 = $4;
-   $1246 = ((($1245)) + 4|0);
-   $1247 = HEAP32[$1246>>2]|0;
-   $44 = $1247;
-   $1248 = $3;
-   $1249 = ((($1248)) + 172|0);
-   $1250 = HEAP32[$1249>>2]|0;
-   $46 = $1250;
-   $1251 = $44;
-   $1252 = HEAP32[$1251>>2]|0;
-   $1253 = $1252;
-   $1254 = ($1253|0)==(34);
-   if ($1254) {
-    $1255 = $44;
-    $1256 = ((($1255)) + 4|0);
-    $1257 = HEAP32[$1256>>2]|0;
-    $1258 = (_nosplat($1257)|0);
-    $1259 = $1258&255;
-    $1260 = ($1259|0)!=(0);
-    if ($1260) {
-     $1261 = $44;
-     $1262 = ((($1261)) + 4|0);
-     $1263 = HEAP32[$1262>>2]|0;
-     $44 = $1263;
-     while(1) {
-      $1264 = $44;
-      $1265 = ($1264|0)!=(0|0);
-      if (!($1265)) {
-       break;
-      }
-      $1266 = $3;
-      $1267 = $44;
-      $1268 = HEAP32[$1267>>2]|0;
-      _codegen($1266,$1268,1);
-      $1269 = $41;
-      $1270 = (($1269) + 1)|0;
-      $41 = $1270;
-      $1271 = $44;
-      $1272 = ((($1271)) + 4|0);
-      $1273 = HEAP32[$1272>>2]|0;
-      $44 = $1273;
-     }
-     $1274 = $4;
-     $1275 = HEAP32[$1274>>2]|0;
-     $4 = $1275;
-     $1276 = $4;
-     $1277 = HEAP32[$1276>>2]|0;
-     $1278 = ($1277|0)!=(0|0);
-     L213: do {
-      if ($1278) {
-       $1279 = $4;
-       $1280 = HEAP32[$1279>>2]|0;
-       $44 = $1280;
-       $42 = 0;
-       while(1) {
-        $1281 = $44;
-        $1282 = ($1281|0)!=(0|0);
-        if (!($1282)) {
-         break L213;
-        }
-        $1283 = $3;
-        $1284 = $44;
-        $1285 = HEAP32[$1284>>2]|0;
-        $1286 = $46;
-        $1287 = $42;
-        $1288 = (($1286) + ($1287))|0;
-        _gen_assignment($1283,$1285,$1288,0);
-        $1289 = $42;
-        $1290 = (($1289) + 1)|0;
-        $42 = $1290;
-        $1291 = $44;
-        $1292 = ((($1291)) + 4|0);
-        $1293 = HEAP32[$1292>>2]|0;
-        $44 = $1293;
-       }
-      }
-     } while(0);
-     $1294 = $4;
-     $1295 = ((($1294)) + 4|0);
-     $1296 = HEAP32[$1295>>2]|0;
-     $44 = $1296;
-     $1297 = $44;
-     $1298 = ($1297|0)!=(0|0);
-     L219: do {
-      if ($1298) {
-       $1299 = $44;
-       $1300 = ((($1299)) + 4|0);
-       $1301 = HEAP32[$1300>>2]|0;
-       $1302 = ($1301|0)!=(0|0);
-       L221: do {
-        if ($1302) {
-         $1303 = $44;
-         $1304 = ((($1303)) + 4|0);
-         $1305 = HEAP32[$1304>>2]|0;
-         $1306 = HEAP32[$1305>>2]|0;
-         $45 = $1306;
-         while(1) {
-          $1307 = $45;
-          $1308 = ($1307|0)!=(0|0);
-          if (!($1308)) {
-           break L221;
-          }
-          $1309 = $43;
-          $1310 = (($1309) + 1)|0;
-          $43 = $1310;
-          $1311 = $45;
-          $1312 = ((($1311)) + 4|0);
-          $1313 = HEAP32[$1312>>2]|0;
-          $45 = $1313;
-         }
-        }
-       } while(0);
-       $1314 = $44;
-       $1315 = HEAP32[$1314>>2]|0;
-       $1316 = ($1315|0)!=(0|0);
-       if ($1316) {
-        $1317 = $41;
-        $1318 = $43;
-        $1319 = $42;
-        $1320 = (($1318) + ($1319))|0;
-        $1321 = ($1317|0)<($1320|0);
-        if ($1321) {
-         $47 = 0;
-        } else {
-         $1322 = $41;
-         $1323 = $43;
-         $1324 = (($1322) - ($1323))|0;
-         $1325 = $42;
-         $1326 = (($1324) - ($1325))|0;
-         $47 = $1326;
-        }
-        $1327 = $3;
-        $1328 = $3;
-        $1329 = ((($1328)) + 172|0);
-        $1330 = HEAP32[$1329>>2]|0;
-        $1331 = $1330 & 511;
-        $1332 = $1331 << 23;
-        $1333 = 55 | $1332;
-        $1334 = $46;
-        $1335 = $42;
-        $1336 = (($1334) + ($1335))|0;
-        $1337 = $1336 & 511;
-        $1338 = $1337 << 14;
-        $1339 = $1333 | $1338;
-        $1340 = $47;
-        $1341 = $1340 & 127;
-        $1342 = $1341 << 7;
-        $1343 = $1339 | $1342;
-        (_genop($1327,$1343)|0);
-        $1344 = $3;
-        $1345 = $44;
-        $1346 = HEAP32[$1345>>2]|0;
-        $1347 = $3;
-        $1348 = ((($1347)) + 172|0);
-        $1349 = HEAP32[$1348>>2]|0;
-        _gen_assignment($1344,$1346,$1349,0);
-        $1350 = $47;
-        $1351 = $42;
-        $1352 = (($1351) + ($1350))|0;
-        $42 = $1352;
-       }
-       $1353 = $44;
-       $1354 = ((($1353)) + 4|0);
-       $1355 = HEAP32[$1354>>2]|0;
-       $1356 = ($1355|0)!=(0|0);
-       if ($1356) {
-        $1357 = $44;
-        $1358 = ((($1357)) + 4|0);
-        $1359 = HEAP32[$1358>>2]|0;
-        $1360 = HEAP32[$1359>>2]|0;
-        $1361 = ($1360|0)!=(0|0);
-        if ($1361) {
-         $1362 = $44;
-         $1363 = ((($1362)) + 4|0);
-         $1364 = HEAP32[$1363>>2]|0;
-         $1365 = HEAP32[$1364>>2]|0;
-         $44 = $1365;
-         while(1) {
-          $1366 = $42;
-          $1367 = $41;
-          $1368 = ($1366|0)<($1367|0);
-          if (!($1368)) {
-           break L219;
-          }
-          $1369 = $3;
-          $1370 = $44;
-          $1371 = HEAP32[$1370>>2]|0;
-          $1372 = $46;
-          $1373 = $42;
-          $1374 = (($1372) + ($1373))|0;
-          _gen_assignment($1369,$1371,$1374,0);
-          $1375 = $44;
-          $1376 = ((($1375)) + 4|0);
-          $1377 = HEAP32[$1376>>2]|0;
-          $44 = $1377;
-          $1378 = $42;
-          $1379 = (($1378) + 1)|0;
-          $42 = $1379;
-         }
-        }
-       }
-      }
-     } while(0);
-     $1380 = $41;
-     $1381 = $3;
-     $1382 = ((($1381)) + 172|0);
-     $1383 = HEAP32[$1382>>2]|0;
-     $1384 = (($1383) - ($1380))|0;
-     HEAP32[$1382>>2] = $1384;
-     $1385 = $5;
-     $1386 = ($1385|0)!=(0);
-     if (!($1386)) {
-      STACKTOP = sp;return;
-     }
-     $1387 = $3;
-     $1388 = $46;
-     $1389 = $1388 & 511;
-     $1390 = $1389 << 23;
-     $1391 = 55 | $1390;
-     $1392 = $46;
-     $1393 = $1392 & 511;
-     $1394 = $1393 << 14;
-     $1395 = $1391 | $1394;
-     $1396 = $41;
-     $1397 = $1396 & 127;
-     $1398 = $1397 << 7;
-     $1399 = $1395 | $1398;
-     (_genop($1387,$1399)|0);
-     $1400 = $3;
-     _push_($1400);
-     STACKTOP = sp;return;
-    }
-   }
-   $1401 = $3;
-   $1402 = $44;
-   _codegen($1401,$1402,1);
-   $1403 = $3;
-   $1404 = $4;
-   $1405 = HEAP32[$1404>>2]|0;
-   $1406 = $46;
-   $1407 = $5;
-   _gen_vmassignment($1403,$1405,$1406,$1407);
-   $1408 = $5;
-   $1409 = ($1408|0)!=(0);
-   if ($1409) {
-    STACKTOP = sp;return;
-   }
-   $1410 = $3;
-   $1411 = ((($1410)) + 172|0);
-   $1412 = HEAP32[$1411>>2]|0;
-   $1413 = (($1412) + -1)|0;
-   HEAP32[$1411>>2] = $1413;
-   STACKTOP = sp;return;
-   break;
-  }
-  case 28:  {
-   $1414 = $4;
-   $1415 = ((($1414)) + 4|0);
-   $1416 = HEAP32[$1415>>2]|0;
-   $1417 = HEAP32[$1416>>2]|0;
-   $1418 = $1417;
-   $48 = $1418;
-   $1419 = $3;
-   $1420 = HEAP32[$1419>>2]|0;
-   $1421 = $48;
-   $1422 = (_mrb_sym2name_len($1420,$1421,$49)|0);
-   $50 = $1422;
-   $1423 = $3;
-   $1424 = $4;
-   $1425 = HEAP32[$1424>>2]|0;
-   _codegen($1423,$1425,1);
-   $1426 = HEAP32[$49>>2]|0;
-   $1427 = ($1426|0)==(2);
-   do {
-    if ($1427) {
-     $1428 = $50;
-     $1429 = HEAP8[$1428>>0]|0;
-     $1430 = $1429 << 24 >> 24;
-     $1431 = ($1430|0)==(124);
-     if ($1431) {
-      $1432 = $50;
-      $1433 = ((($1432)) + 1|0);
-      $1434 = HEAP8[$1433>>0]|0;
-      $1435 = $1434 << 24 >> 24;
-      $1436 = ($1435|0)==(124);
-      if (!($1436)) {
-       label = 152;
-      }
-     } else {
-      label = 152;
-     }
-     if ((label|0) == 152) {
-      $1437 = $50;
-      $1438 = HEAP8[$1437>>0]|0;
-      $1439 = $1438 << 24 >> 24;
-      $1440 = ($1439|0)==(38);
-      if (!($1440)) {
-       break;
-      }
-      $1441 = $50;
-      $1442 = ((($1441)) + 1|0);
-      $1443 = HEAP8[$1442>>0]|0;
-      $1444 = $1443 << 24 >> 24;
-      $1445 = ($1444|0)==(38);
-      if (!($1445)) {
-       break;
-      }
-     }
-     $1446 = $3;
-     $1447 = ((($1446)) + 172|0);
-     $1448 = HEAP32[$1447>>2]|0;
-     $1449 = (($1448) + -1)|0;
-     HEAP32[$1447>>2] = $1449;
-     $1450 = $3;
-     $1451 = $50;
-     $1452 = HEAP8[$1451>>0]|0;
-     $1453 = $1452 << 24 >> 24;
-     $1454 = ($1453|0)==(124);
-     $1455 = $1454 ? 24 : 25;
-     $1456 = $1455 & 127;
-     $1457 = $3;
-     $1458 = ((($1457)) + 172|0);
-     $1459 = HEAP32[$1458>>2]|0;
-     $1460 = $1459 & 511;
-     $1461 = $1460 << 23;
-     $1462 = $1456 | $1461;
-     $1463 = $1462 | 4194176;
-     $1464 = (_genop_peep($1450,$1463,0)|0);
-     $52 = $1464;
-     $1465 = $3;
-     $1466 = $4;
-     $1467 = ((($1466)) + 4|0);
-     $1468 = HEAP32[$1467>>2]|0;
-     $1469 = ((($1468)) + 4|0);
-     $1470 = HEAP32[$1469>>2]|0;
-     $1471 = HEAP32[$1470>>2]|0;
-     _codegen($1465,$1471,1);
-     $1472 = $3;
-     $1473 = ((($1472)) + 172|0);
-     $1474 = HEAP32[$1473>>2]|0;
-     $1475 = (($1474) + -1)|0;
-     HEAP32[$1473>>2] = $1475;
-     $1476 = $3;
-     $1477 = $4;
-     $1478 = HEAP32[$1477>>2]|0;
-     $1479 = $3;
-     $1480 = ((($1479)) + 172|0);
-     $1481 = HEAP32[$1480>>2]|0;
-     $1482 = $5;
-     _gen_assignment($1476,$1478,$1481,$1482);
-     $1483 = $3;
-     $1484 = $52;
-     _dispatch($1483,$1484);
-     STACKTOP = sp;return;
-    }
-   } while(0);
-   $1485 = $3;
-   $1486 = $4;
-   $1487 = ((($1486)) + 4|0);
-   $1488 = HEAP32[$1487>>2]|0;
-   $1489 = ((($1488)) + 4|0);
-   $1490 = HEAP32[$1489>>2]|0;
-   $1491 = HEAP32[$1490>>2]|0;
-   _codegen($1485,$1491,1);
-   $1492 = $3;
-   _push_($1492);
-   $1493 = $3;
-   $1494 = ((($1493)) + 172|0);
-   $1495 = HEAP32[$1494>>2]|0;
-   $1496 = (($1495) + -1)|0;
-   HEAP32[$1494>>2] = $1496;
-   $1497 = $3;
-   $1498 = ((($1497)) + 172|0);
-   $1499 = HEAP32[$1498>>2]|0;
-   $1500 = (($1499) + -1)|0;
-   HEAP32[$1498>>2] = $1500;
-   $1501 = $3;
-   $1502 = ((($1501)) + 172|0);
-   $1503 = HEAP32[$1502>>2]|0;
-   $1504 = (($1503) + -1)|0;
-   HEAP32[$1502>>2] = $1504;
-   $1505 = $3;
-   $1506 = $48;
-   $1507 = (_new_msym($1505,$1506)|0);
-   $51 = $1507;
-   $1508 = HEAP32[$49>>2]|0;
-   $1509 = ($1508|0)==(1);
-   if ($1509) {
-    $1510 = $50;
-    $1511 = HEAP8[$1510>>0]|0;
-    $1512 = $1511 << 24 >> 24;
-    $1513 = ($1512|0)==(43);
-    if ($1513) {
-     $1514 = $3;
-     $1515 = $3;
-     $1516 = ((($1515)) + 172|0);
-     $1517 = HEAP32[$1516>>2]|0;
-     $1518 = $1517 & 511;
-     $1519 = $1518 << 23;
-     $1520 = 44 | $1519;
-     $1521 = $51;
-     $1522 = $1521 & 511;
-     $1523 = $1522 << 14;
-     $1524 = $1520 | $1523;
-     $1525 = $1524 | 128;
-     $1526 = $5;
-     (_genop_peep($1514,$1525,$1526)|0);
-    } else {
-     label = 158;
-    }
-   } else {
-    label = 158;
-   }
-   do {
-    if ((label|0) == 158) {
-     $1527 = HEAP32[$49>>2]|0;
-     $1528 = ($1527|0)==(1);
-     if ($1528) {
-      $1529 = $50;
-      $1530 = HEAP8[$1529>>0]|0;
-      $1531 = $1530 << 24 >> 24;
-      $1532 = ($1531|0)==(45);
-      if ($1532) {
-       $1533 = $3;
-       $1534 = $3;
-       $1535 = ((($1534)) + 172|0);
-       $1536 = HEAP32[$1535>>2]|0;
-       $1537 = $1536 & 511;
-       $1538 = $1537 << 23;
-       $1539 = 46 | $1538;
-       $1540 = $51;
-       $1541 = $1540 & 511;
-       $1542 = $1541 << 14;
-       $1543 = $1539 | $1542;
-       $1544 = $1543 | 128;
-       $1545 = $5;
-       (_genop_peep($1533,$1544,$1545)|0);
-       break;
-      }
-     }
-     $1546 = HEAP32[$49>>2]|0;
-     $1547 = ($1546|0)==(1);
-     if ($1547) {
-      $1548 = $50;
-      $1549 = HEAP8[$1548>>0]|0;
-      $1550 = $1549 << 24 >> 24;
-      $1551 = ($1550|0)==(42);
-      if ($1551) {
-       $1552 = $3;
-       $1553 = $3;
-       $1554 = ((($1553)) + 172|0);
-       $1555 = HEAP32[$1554>>2]|0;
-       $1556 = $1555 & 511;
-       $1557 = $1556 << 23;
-       $1558 = 48 | $1557;
-       $1559 = $51;
-       $1560 = $1559 & 511;
-       $1561 = $1560 << 14;
-       $1562 = $1558 | $1561;
-       $1563 = $1562 | 128;
-       (_genop($1552,$1563)|0);
-       break;
-      }
-     }
-     $1564 = HEAP32[$49>>2]|0;
-     $1565 = ($1564|0)==(1);
-     if ($1565) {
-      $1566 = $50;
-      $1567 = HEAP8[$1566>>0]|0;
-      $1568 = $1567 << 24 >> 24;
-      $1569 = ($1568|0)==(47);
-      if ($1569) {
-       $1570 = $3;
-       $1571 = $3;
-       $1572 = ((($1571)) + 172|0);
-       $1573 = HEAP32[$1572>>2]|0;
-       $1574 = $1573 & 511;
-       $1575 = $1574 << 23;
-       $1576 = 49 | $1575;
-       $1577 = $51;
-       $1578 = $1577 & 511;
-       $1579 = $1578 << 14;
-       $1580 = $1576 | $1579;
-       $1581 = $1580 | 128;
-       (_genop($1570,$1581)|0);
-       break;
-      }
-     }
-     $1582 = HEAP32[$49>>2]|0;
-     $1583 = ($1582|0)==(1);
-     if ($1583) {
-      $1584 = $50;
-      $1585 = HEAP8[$1584>>0]|0;
-      $1586 = $1585 << 24 >> 24;
-      $1587 = ($1586|0)==(60);
-      if ($1587) {
-       $1588 = $3;
-       $1589 = $3;
-       $1590 = ((($1589)) + 172|0);
-       $1591 = HEAP32[$1590>>2]|0;
-       $1592 = $1591 & 511;
-       $1593 = $1592 << 23;
-       $1594 = 51 | $1593;
-       $1595 = $51;
-       $1596 = $1595 & 511;
-       $1597 = $1596 << 14;
-       $1598 = $1594 | $1597;
-       $1599 = $1598 | 128;
-       (_genop($1588,$1599)|0);
-       break;
-      }
-     }
-     $1600 = HEAP32[$49>>2]|0;
-     $1601 = ($1600|0)==(2);
-     if ($1601) {
-      $1602 = $50;
-      $1603 = HEAP8[$1602>>0]|0;
-      $1604 = $1603 << 24 >> 24;
-      $1605 = ($1604|0)==(60);
-      if ($1605) {
-       $1606 = $50;
-       $1607 = ((($1606)) + 1|0);
-       $1608 = HEAP8[$1607>>0]|0;
-       $1609 = $1608 << 24 >> 24;
-       $1610 = ($1609|0)==(61);
-       if ($1610) {
-        $1611 = $3;
-        $1612 = $3;
-        $1613 = ((($1612)) + 172|0);
-        $1614 = HEAP32[$1613>>2]|0;
-        $1615 = $1614 & 511;
-        $1616 = $1615 << 23;
-        $1617 = 52 | $1616;
-        $1618 = $51;
-        $1619 = $1618 & 511;
-        $1620 = $1619 << 14;
-        $1621 = $1617 | $1620;
-        $1622 = $1621 | 128;
-        (_genop($1611,$1622)|0);
-        break;
-       }
-      }
-     }
-     $1623 = HEAP32[$49>>2]|0;
-     $1624 = ($1623|0)==(1);
-     if ($1624) {
-      $1625 = $50;
-      $1626 = HEAP8[$1625>>0]|0;
-      $1627 = $1626 << 24 >> 24;
-      $1628 = ($1627|0)==(62);
-      if ($1628) {
-       $1629 = $3;
-       $1630 = $3;
-       $1631 = ((($1630)) + 172|0);
-       $1632 = HEAP32[$1631>>2]|0;
-       $1633 = $1632 & 511;
-       $1634 = $1633 << 23;
-       $1635 = 53 | $1634;
-       $1636 = $51;
-       $1637 = $1636 & 511;
-       $1638 = $1637 << 14;
-       $1639 = $1635 | $1638;
-       $1640 = $1639 | 128;
-       (_genop($1629,$1640)|0);
-       break;
-      }
-     }
-     $1641 = HEAP32[$49>>2]|0;
-     $1642 = ($1641|0)==(2);
-     if ($1642) {
-      $1643 = $50;
-      $1644 = HEAP8[$1643>>0]|0;
-      $1645 = $1644 << 24 >> 24;
-      $1646 = ($1645|0)==(62);
-      if ($1646) {
-       $1647 = $50;
-       $1648 = ((($1647)) + 1|0);
-       $1649 = HEAP8[$1648>>0]|0;
-       $1650 = $1649 << 24 >> 24;
-       $1651 = ($1650|0)==(61);
-       if ($1651) {
-        $1652 = $3;
-        $1653 = $3;
-        $1654 = ((($1653)) + 172|0);
-        $1655 = HEAP32[$1654>>2]|0;
-        $1656 = $1655 & 511;
-        $1657 = $1656 << 23;
-        $1658 = 54 | $1657;
-        $1659 = $51;
-        $1660 = $1659 & 511;
-        $1661 = $1660 << 14;
-        $1662 = $1658 | $1661;
-        $1663 = $1662 | 128;
-        (_genop($1652,$1663)|0);
-        break;
-       }
-      }
-     }
-     $1664 = $3;
-     $1665 = $3;
-     $1666 = ((($1665)) + 172|0);
-     $1667 = HEAP32[$1666>>2]|0;
-     $1668 = $1667 & 511;
-     $1669 = $1668 << 23;
-     $1670 = 32 | $1669;
-     $1671 = $51;
-     $1672 = $1671 & 511;
-     $1673 = $1672 << 14;
-     $1674 = $1670 | $1673;
-     $1675 = $1674 | 128;
-     (_genop($1664,$1675)|0);
-    }
-   } while(0);
-   $1676 = $3;
-   $1677 = $4;
-   $1678 = HEAP32[$1677>>2]|0;
-   $1679 = $3;
-   $1680 = ((($1679)) + 172|0);
-   $1681 = HEAP32[$1680>>2]|0;
-   $1682 = $5;
-   _gen_assignment($1676,$1678,$1681,$1682);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 32:  {
-   $53 = 0;
-   $54 = 0;
-   $55 = 0;
-   $1683 = $3;
-   _push_($1683);
-   $1684 = $4;
-   $1685 = ($1684|0)!=(0|0);
-   if ($1685) {
-    $1686 = $4;
-    $1687 = HEAP32[$1686>>2]|0;
-    $56 = $1687;
-    $1688 = $56;
-    $1689 = ($1688|0)!=(0|0);
-    if ($1689) {
-     $1690 = $3;
-     $1691 = $56;
-     $1692 = (_gen_values($1690,$1691,1)|0);
-     $53 = $1692;
-     $1693 = $53;
-     $1694 = ($1693|0)<(0);
-     if ($1694) {
-      $55 = 1;
-      $54 = 1;
-      $53 = 1;
-      $1695 = $3;
-      _push_($1695);
-     }
-    }
-   }
-   $1696 = $4;
-   $1697 = ($1696|0)!=(0|0);
-   if ($1697) {
-    $1698 = $4;
-    $1699 = ((($1698)) + 4|0);
-    $1700 = HEAP32[$1699>>2]|0;
-    $1701 = ($1700|0)!=(0|0);
-    if ($1701) {
-     $1702 = $3;
-     $1703 = $4;
-     $1704 = ((($1703)) + 4|0);
-     $1705 = HEAP32[$1704>>2]|0;
-     _codegen($1702,$1705,1);
-     $1706 = $3;
-     $$sink12 = $1706;
-    } else {
-     label = 190;
-    }
-   } else {
-    label = 190;
-   }
-   if ((label|0) == 190) {
-    $1707 = $3;
-    $1708 = $3;
-    $1709 = ((($1708)) + 172|0);
-    $1710 = HEAP32[$1709>>2]|0;
-    $1711 = $1710 & 511;
-    $1712 = $1711 << 23;
-    $1713 = 5 | $1712;
-    (_genop($1707,$1713)|0);
-    $1714 = $3;
-    _push_($1714);
-    $1715 = $3;
-    $$sink12 = $1715;
-   }
-   $1716 = ((($$sink12)) + 172|0);
-   $1717 = HEAP32[$1716>>2]|0;
-   $1718 = (($1717) + -1)|0;
-   HEAP32[$1716>>2] = $1718;
-   $1719 = $53;
-   $1720 = (($1719) + 1)|0;
-   $1721 = $3;
-   $1722 = ((($1721)) + 172|0);
-   $1723 = HEAP32[$1722>>2]|0;
-   $1724 = (($1723) - ($1720))|0;
-   HEAP32[$1722>>2] = $1724;
-   $1725 = $55;
-   $1726 = ($1725|0)!=(0);
-   if ($1726) {
-    $53 = 127;
-   }
-   $1727 = $3;
-   $1728 = $3;
-   $1729 = ((($1728)) + 172|0);
-   $1730 = HEAP32[$1729>>2]|0;
-   $1731 = $1730 & 511;
-   $1732 = $1731 << 23;
-   $1733 = 36 | $1732;
-   $1734 = $53;
-   $1735 = $1734 & 127;
-   $1736 = $1735 << 7;
-   $1737 = $1733 | $1736;
-   (_genop($1727,$1737)|0);
-   $1738 = $5;
-   $1739 = ($1738|0)!=(0);
-   if (!($1739)) {
-    STACKTOP = sp;return;
-   }
-   $1740 = $3;
-   _push_($1740);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 33:  {
-   $1741 = $3;
-   $57 = $1741;
-   $58 = 0;
-   $59 = 0;
-   $1742 = $3;
-   _push_($1742);
-   while(1) {
-    $1743 = $57;
-    $1744 = ((($1743)) + 184|0);
-    $1745 = HEAP16[$1744>>1]|0;
-    $1746 = ($1745&65535) >>> 15;
-    $1747 = $1746&255;
-    $1748 = ($1747<<24>>24)!=(0);
-    $1749 = $1748 ^ 1;
-    if (!($1749)) {
-     break;
-    }
-    $1750 = $58;
-    $1751 = (($1750) + 1)|0;
-    $58 = $1751;
-    $1752 = $57;
-    $1753 = ((($1752)) + 164|0);
-    $1754 = HEAP32[$1753>>2]|0;
-    $57 = $1754;
-    $1755 = $57;
-    $1756 = ($1755|0)!=(0|0);
-    if (!($1756)) {
-     break;
-    }
-   }
-   $1757 = $57;
-   $1758 = ($1757|0)!=(0|0);
-   if ($1758) {
-    $1759 = $57;
-    $1760 = ((($1759)) + 184|0);
-    $1761 = HEAP16[$1760>>1]|0;
-    $1762 = ($1761 << 1)&65535;
-    $1763 = ($1762<<16>>16) >> 1;
-    $1764 = $1763 << 16 >> 16;
-    $59 = $1764;
-   }
-   $1765 = $3;
-   $1766 = $3;
-   $1767 = ((($1766)) + 172|0);
-   $1768 = HEAP32[$1767>>2]|0;
-   $1769 = $1768 & 511;
-   $1770 = $1769 << 23;
-   $1771 = 37 | $1770;
-   $1772 = $59;
-   $1773 = $1772 << 4;
-   $1774 = $58;
-   $1775 = $1774 & 15;
-   $1776 = $1773 | $1775;
-   $1777 = $1776 & 65535;
-   $1778 = $1777 << 7;
-   $1779 = $1771 | $1778;
-   (_genop($1765,$1779)|0);
-   $1780 = $3;
-   _push_($1780);
-   $1781 = $3;
-   _push_($1781);
-   $1782 = $3;
-   $1783 = ((($1782)) + 172|0);
-   $1784 = HEAP32[$1783>>2]|0;
-   $1785 = (($1784) + -1)|0;
-   HEAP32[$1783>>2] = $1785;
-   $1786 = $4;
-   $1787 = ($1786|0)!=(0|0);
-   if ($1787) {
-    $1788 = $4;
-    $1789 = ((($1788)) + 4|0);
-    $1790 = HEAP32[$1789>>2]|0;
-    $1791 = ($1790|0)!=(0|0);
-    if ($1791) {
-     $1792 = $3;
-     $1793 = $4;
-     $1794 = ((($1793)) + 4|0);
-     $1795 = HEAP32[$1794>>2]|0;
-     _codegen($1792,$1795,1);
-     $1796 = $3;
-     $1797 = ((($1796)) + 172|0);
-     $1798 = HEAP32[$1797>>2]|0;
-     $1799 = (($1798) + -1)|0;
-     HEAP32[$1797>>2] = $1799;
-    }
-   }
-   $1800 = $3;
-   $1801 = ((($1800)) + 172|0);
-   $1802 = HEAP32[$1801>>2]|0;
-   $1803 = (($1802) + -1)|0;
-   HEAP32[$1801>>2] = $1803;
-   $1804 = $3;
-   $1805 = ((($1804)) + 172|0);
-   $1806 = HEAP32[$1805>>2]|0;
-   $1807 = (($1806) + -1)|0;
-   HEAP32[$1805>>2] = $1807;
-   $1808 = $3;
-   $1809 = $3;
-   $1810 = ((($1809)) + 172|0);
-   $1811 = HEAP32[$1810>>2]|0;
-   $1812 = $1811 & 511;
-   $1813 = $1812 << 23;
-   $1814 = 36 | $1813;
-   $1815 = $1814 | 16256;
-   (_genop($1808,$1815)|0);
-   $1816 = $5;
-   $1817 = ($1816|0)!=(0);
-   if (!($1817)) {
-    STACKTOP = sp;return;
-   }
-   $1818 = $3;
-   _push_($1818);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 37:  {
-   $1819 = $4;
-   $1820 = ($1819|0)!=(0|0);
-   $1821 = $3;
-   if ($1820) {
-    $1822 = $4;
-    _codegen($1821,$1822,1);
-    $1823 = $3;
-    $1824 = ((($1823)) + 172|0);
-    $1825 = HEAP32[$1824>>2]|0;
-    $1826 = (($1825) + -1)|0;
-    HEAP32[$1824>>2] = $1826;
-   } else {
-    $1827 = $3;
-    $1828 = ((($1827)) + 172|0);
-    $1829 = HEAP32[$1828>>2]|0;
-    $1830 = $1829 & 511;
-    $1831 = $1830 << 23;
-    $1832 = 5 | $1831;
-    (_genop($1821,$1832)|0);
-   }
-   $1833 = $3;
-   $1834 = ((($1833)) + 188|0);
-   $1835 = HEAP32[$1834>>2]|0;
-   $1836 = ($1835|0)!=(0|0);
-   $1837 = $3;
-   $1838 = $3;
-   $1839 = ((($1838)) + 172|0);
-   $1840 = HEAP32[$1839>>2]|0;
-   $1841 = $1840 & 511;
-   $1842 = $1841 << 23;
-   $1843 = 41 | $1842;
-   if ($1836) {
-    $1844 = $1843 | 32768;
-    (_genop($1837,$1844)|0);
-   } else {
-    (_genop_peep($1837,$1843,0)|0);
-   }
-   $1845 = $5;
-   $1846 = ($1845|0)!=(0);
-   if (!($1846)) {
-    STACKTOP = sp;return;
-   }
-   $1847 = $3;
-   _push_($1847);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 38:  {
-   $1848 = $3;
-   $60 = $1848;
-   $61 = 0;
-   $62 = 0;
-   $63 = 0;
-   $64 = 0;
-   while(1) {
-    $1849 = $60;
-    $1850 = ((($1849)) + 184|0);
-    $1851 = HEAP16[$1850>>1]|0;
-    $1852 = ($1851&65535) >>> 15;
-    $1853 = $1852&255;
-    $1854 = ($1853<<24>>24)!=(0);
-    $1855 = $1854 ^ 1;
-    if (!($1855)) {
-     break;
-    }
-    $1856 = $61;
-    $1857 = (($1856) + 1)|0;
-    $61 = $1857;
-    $1858 = $60;
-    $1859 = ((($1858)) + 164|0);
-    $1860 = HEAP32[$1859>>2]|0;
-    $60 = $1860;
-    $1861 = $60;
-    $1862 = ($1861|0)!=(0|0);
-    if (!($1862)) {
-     break;
-    }
-   }
-   $1863 = $60;
-   $1864 = ($1863|0)!=(0|0);
-   if ($1864) {
-    $1865 = $60;
-    $1866 = ((($1865)) + 184|0);
-    $1867 = HEAP16[$1866>>1]|0;
-    $1868 = ($1867 << 1)&65535;
-    $1869 = ($1868<<16>>16) >> 1;
-    $1870 = $1869 << 16 >> 16;
-    $62 = $1870;
-   }
-   $1871 = $3;
-   $1872 = $3;
-   $1873 = ((($1872)) + 172|0);
-   $1874 = HEAP32[$1873>>2]|0;
-   $1875 = $1874 & 511;
-   $1876 = $1875 << 23;
-   $1877 = 43 | $1876;
-   $1878 = $62;
-   $1879 = $1878 << 4;
-   $1880 = $61;
-   $1881 = $1880 & 15;
-   $1882 = $1879 | $1881;
-   $1883 = $1882 & 65535;
-   $1884 = $1883 << 7;
-   $1885 = $1877 | $1884;
-   (_genop($1871,$1885)|0);
-   $1886 = $3;
-   _push_($1886);
-   $1887 = $4;
-   $1888 = ($1887|0)!=(0|0);
-   if ($1888) {
-    $1889 = $3;
-    $1890 = $4;
-    $1891 = (_gen_values($1889,$1890,1)|0);
-    $63 = $1891;
-    $1892 = $63;
-    $1893 = ($1892|0)<(0);
-    if ($1893) {
-     $64 = 1;
-     $63 = 1;
-     $1894 = $3;
-     _push_($1894);
-    }
-   }
-   $1895 = $63;
-   $1896 = (($1895) + 1)|0;
-   $1897 = $3;
-   $1898 = ((($1897)) + 172|0);
-   $1899 = HEAP32[$1898>>2]|0;
-   $1900 = (($1899) - ($1896))|0;
-   HEAP32[$1898>>2] = $1900;
-   $1901 = $64;
-   $1902 = ($1901|0)!=(0);
-   if ($1902) {
-    $63 = 127;
-   }
-   $1903 = $3;
-   $1904 = $3;
-   $1905 = ((($1904)) + 172|0);
-   $1906 = HEAP32[$1905>>2]|0;
-   $1907 = $1906 & 511;
-   $1908 = $1907 << 23;
-   $1909 = 32 | $1908;
-   $1910 = $3;
-   $1911 = $3;
-   $1912 = HEAP32[$1911>>2]|0;
-   $1913 = (_mrb_intern_static($1912,69604,4)|0);
-   $1914 = (_new_msym($1910,$1913)|0);
-   $1915 = $1914 & 511;
-   $1916 = $1915 << 14;
-   $1917 = $1909 | $1916;
-   $1918 = $63;
-   $1919 = $1918 & 127;
-   $1920 = $1919 << 7;
-   $1921 = $1917 | $1920;
-   (_genop($1903,$1921)|0);
-   $1922 = $5;
-   $1923 = ($1922|0)!=(0);
-   if (!($1923)) {
-    STACKTOP = sp;return;
-   }
-   $1924 = $3;
-   _push_($1924);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 13:  {
-   $1925 = $3;
-   $1926 = $4;
-   _loop_break($1925,$1926);
-   $1927 = $5;
-   $1928 = ($1927|0)!=(0);
-   if (!($1928)) {
-    STACKTOP = sp;return;
-   }
-   $1929 = $3;
-   _push_($1929);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 14:  {
-   $1930 = $3;
-   $1931 = ((($1930)) + 188|0);
-   $1932 = HEAP32[$1931>>2]|0;
-   $1933 = ($1932|0)!=(0|0);
-   $1934 = $3;
-   do {
-    if ($1933) {
-     $1935 = ((($1934)) + 188|0);
-     $1936 = HEAP32[$1935>>2]|0;
-     $1937 = HEAP32[$1936>>2]|0;
-     $1938 = ($1937|0)==(0);
-     if ($1938) {
-      $1939 = $3;
-      $1940 = ((($1939)) + 192|0);
-      $1941 = HEAP32[$1940>>2]|0;
-      $1942 = $3;
-      $1943 = ((($1942)) + 188|0);
-      $1944 = HEAP32[$1943>>2]|0;
-      $1945 = ((($1944)) + 20|0);
-      $1946 = HEAP32[$1945>>2]|0;
-      $1947 = ($1941|0)>($1946|0);
-      if ($1947) {
-       $1948 = $3;
-       $1949 = $3;
-       $1950 = ((($1949)) + 192|0);
-       $1951 = HEAP32[$1950>>2]|0;
-       $1952 = $3;
-       $1953 = ((($1952)) + 188|0);
-       $1954 = HEAP32[$1953>>2]|0;
-       $1955 = ((($1954)) + 20|0);
-       $1956 = HEAP32[$1955>>2]|0;
-       $1957 = (($1951) - ($1956))|0;
-       $1958 = $1957 & 511;
-       $1959 = $1958 << 23;
-       $1960 = 31 | $1959;
-       (_genop_peep($1948,$1960,0)|0);
-      }
-      $1961 = $3;
-      $1962 = $4;
-      _codegen($1961,$1962,0);
-      $1963 = $3;
-      $1964 = $3;
-      $1965 = ((($1964)) + 188|0);
-      $1966 = HEAP32[$1965>>2]|0;
-      $1967 = ((($1966)) + 4|0);
-      $1968 = HEAP32[$1967>>2]|0;
-      $1969 = $3;
-      $1970 = ((($1969)) + 176|0);
-      $1971 = HEAP32[$1970>>2]|0;
-      $1972 = (($1968) - ($1971))|0;
-      $1973 = (($1972) + 32767)|0;
-      $1974 = $1973 & 65535;
-      $1975 = $1974 << 7;
-      $1976 = 23 | $1975;
-      (_genop($1963,$1976)|0);
-      break;
-     }
-     $1977 = $4;
-     $1978 = ($1977|0)!=(0|0);
-     $1979 = $3;
-     if ($1978) {
-      $1980 = $4;
-      _codegen($1979,$1980,1);
-      $1981 = $3;
-      $1982 = ((($1981)) + 172|0);
-      $1983 = HEAP32[$1982>>2]|0;
-      $1984 = (($1983) + -1)|0;
-      HEAP32[$1982>>2] = $1984;
-     } else {
-      $1985 = $3;
-      $1986 = ((($1985)) + 172|0);
-      $1987 = HEAP32[$1986>>2]|0;
-      $1988 = $1987 & 511;
-      $1989 = $1988 << 23;
-      $1990 = 5 | $1989;
-      (_genop($1979,$1990)|0);
-     }
-     $1991 = $3;
-     $1992 = $3;
-     $1993 = ((($1992)) + 172|0);
-     $1994 = HEAP32[$1993>>2]|0;
-     $1995 = $1994 & 511;
-     $1996 = $1995 << 23;
-     $1997 = 41 | $1996;
-     (_genop_peep($1991,$1997,0)|0);
-    } else {
-     _raise_error($1934,69609);
-    }
-   } while(0);
-   $1998 = $5;
-   $1999 = ($1998|0)!=(0);
-   if (!($1999)) {
-    STACKTOP = sp;return;
-   }
-   $2000 = $3;
-   _push_($2000);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 15:  {
-   $2001 = $3;
-   $2002 = ((($2001)) + 188|0);
-   $2003 = HEAP32[$2002>>2]|0;
-   $2004 = ($2003|0)!=(0|0);
-   $2005 = $3;
-   if (!($2004)) {
-    _raise_error($2005,69625);
-    STACKTOP = sp;return;
-   }
-   $2006 = ((($2005)) + 192|0);
-   $2007 = HEAP32[$2006>>2]|0;
-   $2008 = $3;
-   $2009 = ((($2008)) + 188|0);
-   $2010 = HEAP32[$2009>>2]|0;
-   $2011 = ((($2010)) + 20|0);
-   $2012 = HEAP32[$2011>>2]|0;
-   $2013 = ($2007|0)>($2012|0);
-   if ($2013) {
-    $2014 = $3;
-    $2015 = $3;
-    $2016 = ((($2015)) + 192|0);
-    $2017 = HEAP32[$2016>>2]|0;
-    $2018 = $3;
-    $2019 = ((($2018)) + 188|0);
-    $2020 = HEAP32[$2019>>2]|0;
-    $2021 = ((($2020)) + 20|0);
-    $2022 = HEAP32[$2021>>2]|0;
-    $2023 = (($2017) - ($2022))|0;
-    $2024 = $2023 & 511;
-    $2025 = $2024 << 23;
-    $2026 = 31 | $2025;
-    (_genop_peep($2014,$2026,0)|0);
-   }
-   $2027 = $3;
-   $2028 = $3;
-   $2029 = ((($2028)) + 188|0);
-   $2030 = HEAP32[$2029>>2]|0;
-   $2031 = ((($2030)) + 8|0);
-   $2032 = HEAP32[$2031>>2]|0;
-   $2033 = $3;
-   $2034 = ((($2033)) + 176|0);
-   $2035 = HEAP32[$2034>>2]|0;
-   $2036 = (($2032) - ($2035))|0;
-   $2037 = (($2036) + 32767)|0;
-   $2038 = $2037 & 65535;
-   $2039 = $2038 << 7;
-   $2040 = 23 | $2039;
-   (_genop($2027,$2040)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 16:  {
-   $65 = 69641;
-   $2041 = $3;
-   $2042 = ((($2041)) + 188|0);
-   $2043 = HEAP32[$2042>>2]|0;
-   $2044 = ($2043|0)!=(0|0);
-   $2045 = $3;
-   if (!($2044)) {
-    $2046 = $65;
-    _raise_error($2045,$2046);
-    STACKTOP = sp;return;
-   }
-   $2047 = ((($2045)) + 188|0);
-   $2048 = HEAP32[$2047>>2]|0;
-   $66 = $2048;
-   $67 = 0;
-   while(1) {
-    $2049 = $66;
-    $2050 = ($2049|0)!=(0|0);
-    if ($2050) {
-     $2051 = $66;
-     $2052 = HEAP32[$2051>>2]|0;
-     $2053 = ($2052|0)!=(4);
-     $3658 = $2053;
-    } else {
-     $3658 = 0;
-    }
-    $2054 = $66;
-    if (!($3658)) {
-     break;
-    }
-    $2055 = HEAP32[$2054>>2]|0;
-    $2056 = ($2055|0)==(3);
-    if ($2056) {
-     $2057 = $67;
-     $2058 = (($2057) + 1)|0;
-     $67 = $2058;
-    }
-    $2059 = $66;
-    $2060 = ((($2059)) + 24|0);
-    $2061 = HEAP32[$2060>>2]|0;
-    $66 = $2061;
-   }
-   $2062 = ($2054|0)!=(0|0);
-   if (!($2062)) {
-    $2063 = $3;
-    $2064 = $65;
-    _raise_error($2063,$2064);
-    STACKTOP = sp;return;
-   }
-   $2065 = $67;
-   $2066 = ($2065|0)>(0);
-   L416: do {
-    if ($2066) {
-     while(1) {
-      $2067 = $67;
-      $2068 = (($2067) + -1)|0;
-      $67 = $2068;
-      $2069 = ($2067|0)!=(0);
-      if (!($2069)) {
-       break L416;
-      }
-      $2070 = $3;
-      (_genop_peep($2070,8388636,0)|0);
-     }
-    }
-   } while(0);
-   $2071 = $3;
-   $2072 = ((($2071)) + 192|0);
-   $2073 = HEAP32[$2072>>2]|0;
-   $2074 = $66;
-   $2075 = ((($2074)) + 20|0);
-   $2076 = HEAP32[$2075>>2]|0;
-   $2077 = ($2073|0)>($2076|0);
-   if ($2077) {
-    $2078 = $3;
-    $2079 = $3;
-    $2080 = ((($2079)) + 192|0);
-    $2081 = HEAP32[$2080>>2]|0;
-    $2082 = $66;
-    $2083 = ((($2082)) + 20|0);
-    $2084 = HEAP32[$2083>>2]|0;
-    $2085 = (($2081) - ($2084))|0;
-    $2086 = $2085 & 511;
-    $2087 = $2086 << 23;
-    $2088 = 31 | $2087;
-    (_genop_peep($2078,$2088,0)|0);
-   }
-   $2089 = $3;
-   $2090 = $66;
-   $2091 = ((($2090)) + 4|0);
-   $2092 = HEAP32[$2091>>2]|0;
-   $2093 = $3;
-   $2094 = ((($2093)) + 176|0);
-   $2095 = HEAP32[$2094>>2]|0;
-   $2096 = (($2092) - ($2095))|0;
-   $2097 = (($2096) + 32767)|0;
-   $2098 = $2097 & 65535;
-   $2099 = $2098 << 7;
-   $2100 = 23 | $2099;
-   (_genop($2089,$2100)|0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 39:  {
-   $2101 = $5;
-   $2102 = ($2101|0)!=(0);
-   if (!($2102)) {
-    STACKTOP = sp;return;
-   }
-   $2103 = $3;
-   $2104 = $4;
-   $2105 = $2104;
-   $2106 = (_lv_idx($2103,$2105)|0);
-   $68 = $2106;
-   $2107 = $68;
-   $2108 = ($2107|0)>(0);
-   L429: do {
-    if ($2108) {
-     $2109 = $3;
-     $2110 = $3;
-     $2111 = ((($2110)) + 172|0);
-     $2112 = HEAP32[$2111>>2]|0;
-     $2113 = $2112 & 511;
-     $2114 = $2113 << 23;
-     $2115 = 1 | $2114;
-     $2116 = $68;
-     $2117 = $2116 & 511;
-     $2118 = $2117 << 14;
-     $2119 = $2115 | $2118;
-     (_genop_peep($2109,$2119,0)|0);
-    } else {
-     $69 = 0;
-     $2120 = $3;
-     $2121 = ((($2120)) + 164|0);
-     $2122 = HEAP32[$2121>>2]|0;
-     $70 = $2122;
-     while(1) {
-      $2123 = $70;
-      $2124 = ($2123|0)!=(0|0);
-      if (!($2124)) {
-       break L429;
-      }
-      $2125 = $70;
-      $2126 = $4;
-      $2127 = $2126;
-      $2128 = (_lv_idx($2125,$2127)|0);
-      $68 = $2128;
-      $2129 = $68;
-      $2130 = ($2129|0)>(0);
-      if ($2130) {
-       break;
-      }
-      $2146 = $69;
-      $2147 = (($2146) + 1)|0;
-      $69 = $2147;
-      $2148 = $70;
-      $2149 = ((($2148)) + 164|0);
-      $2150 = HEAP32[$2149>>2]|0;
-      $70 = $2150;
-     }
-     $2131 = $3;
-     $2132 = $3;
-     $2133 = ((($2132)) + 172|0);
-     $2134 = HEAP32[$2133>>2]|0;
-     $2135 = $2134 & 511;
-     $2136 = $2135 << 23;
-     $2137 = 21 | $2136;
-     $2138 = $68;
-     $2139 = $2138 & 511;
-     $2140 = $2139 << 14;
-     $2141 = $2137 | $2140;
-     $2142 = $69;
-     $2143 = $2142 & 127;
-     $2144 = $2143 << 7;
-     $2145 = $2141 | $2144;
-     (_genop($2131,$2145)|0);
-    }
-   } while(0);
-   $2151 = $3;
-   _push_($2151);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 41:  {
-   $2152 = $5;
-   $2153 = ($2152|0)!=(0);
-   if (!($2153)) {
-    STACKTOP = sp;return;
-   }
-   $2154 = $3;
-   $2155 = $4;
-   $2156 = $2155;
-   $2157 = (_new_sym_1167($2154,$2156)|0);
-   $71 = $2157;
-   $2158 = $3;
-   $2159 = $3;
-   $2160 = ((($2159)) + 172|0);
-   $2161 = HEAP32[$2160>>2]|0;
-   $2162 = $2161 & 511;
-   $2163 = $2162 << 23;
-   $2164 = 9 | $2163;
-   $2165 = $71;
-   $2166 = $2165 & 65535;
-   $2167 = $2166 << 7;
-   $2168 = $2164 | $2167;
-   (_genop($2158,$2168)|0);
-   $2169 = $3;
-   _push_($2169);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 42:  {
-   $2170 = $5;
-   $2171 = ($2170|0)!=(0);
-   if (!($2171)) {
-    STACKTOP = sp;return;
-   }
-   $2172 = $3;
-   $2173 = $4;
-   $2174 = $2173;
-   $2175 = (_new_sym_1167($2172,$2174)|0);
-   $72 = $2175;
-   $2176 = $3;
-   $2177 = $3;
-   $2178 = ((($2177)) + 172|0);
-   $2179 = HEAP32[$2178>>2]|0;
-   $2180 = $2179 & 511;
-   $2181 = $2180 << 23;
-   $2182 = 13 | $2181;
-   $2183 = $72;
-   $2184 = $2183 & 65535;
-   $2185 = $2184 << 7;
-   $2186 = $2182 | $2185;
-   (_genop($2176,$2186)|0);
-   $2187 = $3;
-   _push_($2187);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 44:  {
-   $2188 = $5;
-   $2189 = ($2188|0)!=(0);
-   if (!($2189)) {
-    STACKTOP = sp;return;
-   }
-   $2190 = $3;
-   $2191 = $4;
-   $2192 = $2191;
-   $2193 = (_new_sym_1167($2190,$2192)|0);
-   $73 = $2193;
-   $2194 = $3;
-   $2195 = $3;
-   $2196 = ((($2195)) + 172|0);
-   $2197 = HEAP32[$2196>>2]|0;
-   $2198 = $2197 & 511;
-   $2199 = $2198 << 23;
-   $2200 = 15 | $2199;
-   $2201 = $73;
-   $2202 = $2201 & 65535;
-   $2203 = $2202 << 7;
-   $2204 = $2200 | $2203;
-   (_genop($2194,$2204)|0);
-   $2205 = $3;
-   _push_($2205);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 43:  {
-   $2206 = $3;
-   $2207 = $4;
-   $2208 = $2207;
-   $2209 = (_new_sym_1167($2206,$2208)|0);
-   $74 = $2209;
-   $2210 = $3;
-   $2211 = $3;
-   $2212 = ((($2211)) + 172|0);
-   $2213 = HEAP32[$2212>>2]|0;
-   $2214 = $2213 & 511;
-   $2215 = $2214 << 23;
-   $2216 = 17 | $2215;
-   $2217 = $74;
-   $2218 = $2217 & 65535;
-   $2219 = $2218 << 7;
-   $2220 = $2216 | $2219;
-   (_genop($2210,$2220)|0);
-   $2221 = $5;
-   $2222 = ($2221|0)!=(0);
-   if (!($2222)) {
-    STACKTOP = sp;return;
-   }
-   $2223 = $3;
-   _push_($2223);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 89:  {
-   $2224 = $3;
-   $2225 = $4;
-   _codegen($2224,$2225,1);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 46:  {
-   $2226 = $5;
-   $2227 = ($2226|0)!=(0);
-   if (!($2227)) {
-    STACKTOP = sp;return;
-   }
-   ;HEAP8[$75>>0]=HEAP8[69658>>0]|0;HEAP8[$75+1>>0]=HEAP8[69658+1>>0]|0;
-   $2228 = $4;
-   $2229 = $2228;
-   $2230 = $2229&255;
-   $2231 = ((($75)) + 1|0);
-   HEAP8[$2231>>0] = $2230;
-   $2232 = $3;
-   $2233 = HEAP32[$2232>>2]|0;
-   _mrb_str_new($78,$2233,$75,2);
-   ;HEAP32[$76>>2]=HEAP32[$78>>2]|0;HEAP32[$76+4>>2]=HEAP32[$78+4>>2]|0;
-   $2234 = $3;
-   $2235 = $3;
-   $2236 = HEAP32[$2235>>2]|0;
-   ;HEAP32[$$byval_copy>>2]=HEAP32[$76>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$76+4>>2]|0;
-   $2237 = (_mrb_intern_str($2236,$$byval_copy)|0);
-   $2238 = (_new_sym_1167($2234,$2237)|0);
-   $77 = $2238;
-   $2239 = $3;
-   $2240 = $3;
-   $2241 = ((($2240)) + 172|0);
-   $2242 = HEAP32[$2241>>2]|0;
-   $2243 = $2242 & 511;
-   $2244 = $2243 << 23;
-   $2245 = 9 | $2244;
-   $2246 = $77;
-   $2247 = $2246 & 65535;
-   $2248 = $2247 << 7;
-   $2249 = $2245 | $2248;
-   (_genop($2239,$2249)|0);
-   $2250 = $3;
-   _push_($2250);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 45:  {
-   $2251 = $5;
-   $2252 = ($2251|0)!=(0);
-   if (!($2252)) {
-    STACKTOP = sp;return;
-   }
-   $2253 = $3;
-   $2254 = HEAP32[$2253>>2]|0;
-   $80 = $2254;
-   $2255 = $4;
-   $2256 = $2255;
-   _mrb_fixnum_value_1173($81,$2256);
-   $2257 = $80;
-   _mrb_str_buf_new($82,$2257,4);
-   $2258 = $80;
-   ;HEAP32[$$byval_copy13>>2]=HEAP32[$82>>2]|0;HEAP32[$$byval_copy13+4>>2]=HEAP32[$82+4>>2]|0;
-   _mrb_str_cat($83,$2258,$$byval_copy13,69658,1);
-   $2259 = $80;
-   $2260 = $80;
-   ;HEAP32[$$byval_copy14>>2]=HEAP32[$81>>2]|0;HEAP32[$$byval_copy14+4>>2]=HEAP32[$81+4>>2]|0;
-   _mrb_fixnum_to_str($84,$2260,$$byval_copy14,10);
-   ;HEAP32[$$byval_copy15>>2]=HEAP32[$82>>2]|0;HEAP32[$$byval_copy15+4>>2]=HEAP32[$82+4>>2]|0;
-   ;HEAP32[$$byval_copy16>>2]=HEAP32[$84>>2]|0;HEAP32[$$byval_copy16+4>>2]=HEAP32[$84+4>>2]|0;
-   _mrb_str_cat_str($85,$2259,$$byval_copy15,$$byval_copy16);
-   $2261 = $3;
-   $2262 = $80;
-   ;HEAP32[$$byval_copy17>>2]=HEAP32[$82>>2]|0;HEAP32[$$byval_copy17+4>>2]=HEAP32[$82+4>>2]|0;
-   $2263 = (_mrb_intern_str($2262,$$byval_copy17)|0);
-   $2264 = (_new_sym_1167($2261,$2263)|0);
-   $79 = $2264;
-   $2265 = $3;
-   $2266 = $3;
-   $2267 = ((($2266)) + 172|0);
-   $2268 = HEAP32[$2267>>2]|0;
-   $2269 = $2268 & 511;
-   $2270 = $2269 << 23;
-   $2271 = 9 | $2270;
-   $2272 = $79;
-   $2273 = $2272 & 65535;
-   $2274 = $2273 << 7;
-   $2275 = $2271 | $2274;
-   (_genop($2265,$2275)|0);
-   $2276 = $3;
-   _push_($2276);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 91:  {
-   $3656 = $3;
-   $3657 = $4;
-   _codegen($3656,$3657,0);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 69:  {
-   $2277 = $3;
-   $2278 = $4;
-   _codegen($2277,$2278,1);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 50:  {
-   $2279 = $5;
-   $2280 = ($2279|0)!=(0);
-   if (!($2280)) {
-    STACKTOP = sp;return;
-   }
-   $2281 = $4;
-   $2282 = HEAP32[$2281>>2]|0;
-   $86 = $2282;
-   $2283 = $4;
-   $2284 = ((($2283)) + 4|0);
-   $2285 = HEAP32[$2284>>2]|0;
-   $2286 = HEAP32[$2285>>2]|0;
-   $2287 = $2286;
-   $87 = $2287;
-   $2288 = $3;
-   $2289 = $86;
-   $2290 = $87;
-   $2291 = (_readint_mrb_int($2288,$2289,$2290,0,$90)|0);
-   $88 = $2291;
-   $2292 = HEAP8[$90>>0]|0;
-   $2293 = ($2292<<24>>24)!=(0);
-   if ($2293) {
-    $2294 = $3;
-    $2295 = $86;
-    $2296 = $87;
-    $2297 = (+_readint_float($2294,$2295,$2296));
-    $91 = $2297;
-    $2298 = $3;
-    $2299 = $3;
-    $2300 = HEAP32[$2299>>2]|0;
-    $2301 = $91;
-    $2302 = $2301;
-    _mrb_float_value_1175($93,$2300,$2302);
-    ;HEAP32[$$byval_copy18>>2]=HEAP32[$93>>2]|0;HEAP32[$$byval_copy18+4>>2]=HEAP32[$93+4>>2]|0;
-    $2303 = (_new_lit($2298,$$byval_copy18)|0);
-    $92 = $2303;
-    $2304 = $3;
-    $2305 = $3;
-    $2306 = ((($2305)) + 172|0);
-    $2307 = HEAP32[$2306>>2]|0;
-    $2308 = $2307 & 511;
-    $2309 = $2308 << 23;
-    $2310 = 2 | $2309;
-    $2311 = $92;
-    $2312 = $2311 & 65535;
-    $2313 = $2312 << 7;
-    $2314 = $2310 | $2313;
-    (_genop($2304,$2314)|0);
-   } else {
-    $2315 = $88;
-    $2316 = ($2315|0)<(32767);
-    $2317 = $88;
-    $2318 = ($2317|0)>(-32767);
-    $or$cond7 = $2316 & $2318;
-    $2319 = $3;
-    if ($or$cond7) {
-     $2320 = ((($2319)) + 172|0);
-     $2321 = HEAP32[$2320>>2]|0;
-     $2322 = $2321 & 511;
-     $2323 = $2322 << 23;
-     $2324 = 3 | $2323;
-     $2325 = $88;
-     $2326 = (($2325) + 32767)|0;
-     $2327 = $2326 & 65535;
-     $2328 = $2327 << 7;
-     $2329 = $2324 | $2328;
-     $89 = $2329;
-    } else {
-     $2330 = $88;
-     _mrb_fixnum_value_1173($95,$2330);
-     ;HEAP32[$$byval_copy19>>2]=HEAP32[$95>>2]|0;HEAP32[$$byval_copy19+4>>2]=HEAP32[$95+4>>2]|0;
-     $2331 = (_new_lit($2319,$$byval_copy19)|0);
-     $94 = $2331;
-     $2332 = $3;
-     $2333 = ((($2332)) + 172|0);
-     $2334 = HEAP32[$2333>>2]|0;
-     $2335 = $2334 & 511;
-     $2336 = $2335 << 23;
-     $2337 = 2 | $2336;
-     $2338 = $94;
-     $2339 = $2338 & 65535;
-     $2340 = $2339 << 7;
-     $2341 = $2337 | $2340;
-     $89 = $2341;
-    }
-    $2342 = $3;
-    $2343 = $89;
-    (_genop($2342,$2343)|0);
-   }
-   $2344 = $3;
-   _push_($2344);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 51:  {
-   $2345 = $5;
-   $2346 = ($2345|0)!=(0);
-   if (!($2346)) {
-    STACKTOP = sp;return;
-   }
-   $2347 = $4;
-   $96 = $2347;
-   $2348 = $96;
-   $2349 = (+_strtof($2348,0));
-   $97 = $2349;
-   $2350 = $3;
-   $2351 = $3;
-   $2352 = HEAP32[$2351>>2]|0;
-   $2353 = $97;
-   _mrb_float_value_1175($99,$2352,$2353);
-   ;HEAP32[$$byval_copy20>>2]=HEAP32[$99>>2]|0;HEAP32[$$byval_copy20+4>>2]=HEAP32[$99+4>>2]|0;
-   $2354 = (_new_lit($2350,$$byval_copy20)|0);
-   $98 = $2354;
-   $2355 = $3;
-   $2356 = $3;
-   $2357 = ((($2356)) + 172|0);
-   $2358 = HEAP32[$2357>>2]|0;
-   $2359 = $2358 & 511;
-   $2360 = $2359 << 23;
-   $2361 = 2 | $2360;
-   $2362 = $98;
-   $2363 = $2362 & 65535;
-   $2364 = $2363 << 7;
-   $2365 = $2361 | $2364;
-   (_genop($2355,$2365)|0);
-   $2366 = $3;
-   _push_($2366);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 52:  {
-   $2367 = $4;
-   $2368 = HEAP32[$2367>>2]|0;
-   $2369 = $2368;
-   $6 = $2369;
-   $2370 = $4;
-   $2371 = ((($2370)) + 4|0);
-   $2372 = HEAP32[$2371>>2]|0;
-   $4 = $2372;
-   $2373 = $6;
-   switch ($2373|0) {
-   case 51:  {
-    $2374 = $4;
-    $100 = $2374;
-    $2375 = $100;
-    $2376 = (+_strtof($2375,0));
-    $101 = $2376;
-    $2377 = $3;
-    $2378 = $3;
-    $2379 = HEAP32[$2378>>2]|0;
-    $2380 = $101;
-    $2381 = -$2380;
-    _mrb_float_value_1175($103,$2379,$2381);
-    ;HEAP32[$$byval_copy21>>2]=HEAP32[$103>>2]|0;HEAP32[$$byval_copy21+4>>2]=HEAP32[$103+4>>2]|0;
-    $2382 = (_new_lit($2377,$$byval_copy21)|0);
-    $102 = $2382;
-    $2383 = $3;
-    $2384 = $3;
-    $2385 = ((($2384)) + 172|0);
-    $2386 = HEAP32[$2385>>2]|0;
-    $2387 = $2386 & 511;
-    $2388 = $2387 << 23;
-    $2389 = 2 | $2388;
-    $2390 = $102;
-    $2391 = $2390 & 65535;
-    $2392 = $2391 << 7;
-    $2393 = $2389 | $2392;
-    (_genop($2383,$2393)|0);
-    $2394 = $3;
-    _push_($2394);
-    STACKTOP = sp;return;
-    break;
-   }
-   case 50:  {
-    $2395 = $4;
-    $2396 = HEAP32[$2395>>2]|0;
-    $104 = $2396;
-    $2397 = $4;
-    $2398 = ((($2397)) + 4|0);
-    $2399 = HEAP32[$2398>>2]|0;
-    $2400 = HEAP32[$2399>>2]|0;
-    $2401 = $2400;
-    $105 = $2401;
-    $2402 = $3;
-    $2403 = $104;
-    $2404 = $105;
-    $2405 = (_readint_mrb_int($2402,$2403,$2404,1,$108)|0);
-    $106 = $2405;
-    $2406 = HEAP8[$108>>0]|0;
-    $2407 = ($2406<<24>>24)!=(0);
-    if ($2407) {
-     $2408 = $3;
-     $2409 = $104;
-     $2410 = $105;
-     $2411 = (+_readint_float($2408,$2409,$2410));
-     $109 = $2411;
-     $2412 = $3;
-     $2413 = $3;
-     $2414 = HEAP32[$2413>>2]|0;
-     $2415 = $109;
-     $2416 = -$2415;
-     $2417 = $2416;
-     _mrb_float_value_1175($111,$2414,$2417);
-     ;HEAP32[$$byval_copy22>>2]=HEAP32[$111>>2]|0;HEAP32[$$byval_copy22+4>>2]=HEAP32[$111+4>>2]|0;
-     $2418 = (_new_lit($2412,$$byval_copy22)|0);
-     $110 = $2418;
-     $2419 = $3;
-     $2420 = $3;
-     $2421 = ((($2420)) + 172|0);
-     $2422 = HEAP32[$2421>>2]|0;
-     $2423 = $2422 & 511;
-     $2424 = $2423 << 23;
-     $2425 = 2 | $2424;
-     $2426 = $110;
-     $2427 = $2426 & 65535;
-     $2428 = $2427 << 7;
-     $2429 = $2425 | $2428;
-     (_genop($2419,$2429)|0);
-    } else {
-     $2430 = $106;
-     $2431 = ($2430|0)<(32767);
-     $2432 = $106;
-     $2433 = ($2432|0)>(-32767);
-     $or$cond9 = $2431 & $2433;
-     $2434 = $3;
-     if ($or$cond9) {
-      $2435 = ((($2434)) + 172|0);
-      $2436 = HEAP32[$2435>>2]|0;
-      $2437 = $2436 & 511;
-      $2438 = $2437 << 23;
-      $2439 = 3 | $2438;
-      $2440 = $106;
-      $2441 = (($2440) + 32767)|0;
-      $2442 = $2441 & 65535;
-      $2443 = $2442 << 7;
-      $2444 = $2439 | $2443;
-      $107 = $2444;
-     } else {
-      $2445 = $106;
-      _mrb_fixnum_value_1173($113,$2445);
-      ;HEAP32[$$byval_copy23>>2]=HEAP32[$113>>2]|0;HEAP32[$$byval_copy23+4>>2]=HEAP32[$113+4>>2]|0;
-      $2446 = (_new_lit($2434,$$byval_copy23)|0);
-      $112 = $2446;
-      $2447 = $3;
-      $2448 = ((($2447)) + 172|0);
-      $2449 = HEAP32[$2448>>2]|0;
-      $2450 = $2449 & 511;
-      $2451 = $2450 << 23;
-      $2452 = 2 | $2451;
-      $2453 = $112;
-      $2454 = $2453 & 65535;
-      $2455 = $2454 << 7;
-      $2456 = $2452 | $2455;
-      $107 = $2456;
-     }
-     $2457 = $3;
-     $2458 = $107;
-     (_genop($2457,$2458)|0);
-    }
-    $2459 = $3;
-    _push_($2459);
-    STACKTOP = sp;return;
-    break;
-   }
-   default: {
-    $2460 = $3;
-    $2461 = $3;
-    $2462 = HEAP32[$2461>>2]|0;
-    $2463 = (_mrb_intern_static($2462,69660,1)|0);
-    $2464 = (_new_msym($2460,$2463)|0);
-    $114 = $2464;
-    $2465 = $3;
-    $2466 = $3;
-    $2467 = ((($2466)) + 172|0);
-    $2468 = HEAP32[$2467>>2]|0;
-    $2469 = $2468 & 511;
-    $2470 = $2469 << 23;
-    $2471 = 3 | $2470;
-    (_genop($2465,$2471)|0);
-    $2472 = $3;
-    _push_($2472);
-    $2473 = $3;
-    $2474 = $4;
-    _codegen($2473,$2474,1);
-    $2475 = $3;
-    $2476 = ((($2475)) + 172|0);
-    $2477 = HEAP32[$2476>>2]|0;
-    $2478 = (($2477) + -1)|0;
-    HEAP32[$2476>>2] = $2478;
-    $2479 = $3;
-    $2480 = ((($2479)) + 172|0);
-    $2481 = HEAP32[$2480>>2]|0;
-    $2482 = (($2481) + -1)|0;
-    HEAP32[$2480>>2] = $2482;
-    $2483 = $3;
-    $2484 = $3;
-    $2485 = ((($2484)) + 172|0);
-    $2486 = HEAP32[$2485>>2]|0;
-    $2487 = $2486 & 511;
-    $2488 = $2487 << 23;
-    $2489 = 46 | $2488;
-    $2490 = $114;
-    $2491 = $2490 & 511;
-    $2492 = $2491 << 14;
-    $2493 = $2489 | $2492;
-    $2494 = $2493 | 256;
-    (_genop($2483,$2494)|0);
-    STACKTOP = sp;return;
-   }
-   }
-   break;
-  }
-  case 55:  {
-   $2495 = $5;
-   $2496 = ($2495|0)!=(0);
-   if (!($2496)) {
-    STACKTOP = sp;return;
-   }
-   $2497 = $4;
-   $2498 = HEAP32[$2497>>2]|0;
-   $115 = $2498;
-   $2499 = $4;
-   $2500 = ((($2499)) + 4|0);
-   $2501 = HEAP32[$2500>>2]|0;
-   $2502 = $2501;
-   $116 = $2502;
-   $2503 = $3;
-   $2504 = HEAP32[$2503>>2]|0;
-   $2505 = (_mrb_gc_arena_save($2504)|0);
-   $117 = $2505;
-   $2506 = $3;
-   $2507 = $3;
-   $2508 = HEAP32[$2507>>2]|0;
-   $2509 = $115;
-   $2510 = $116;
-   _mrb_str_new($119,$2508,$2509,$2510);
-   ;HEAP32[$$byval_copy24>>2]=HEAP32[$119>>2]|0;HEAP32[$$byval_copy24+4>>2]=HEAP32[$119+4>>2]|0;
-   $2511 = (_new_lit($2506,$$byval_copy24)|0);
-   $118 = $2511;
-   $2512 = $3;
-   $2513 = HEAP32[$2512>>2]|0;
-   $2514 = $117;
-   _mrb_gc_arena_restore($2513,$2514);
-   $2515 = $3;
-   $2516 = $3;
-   $2517 = ((($2516)) + 172|0);
-   $2518 = HEAP32[$2517>>2]|0;
-   $2519 = $2518 & 511;
-   $2520 = $2519 << 23;
-   $2521 = 61 | $2520;
-   $2522 = $118;
-   $2523 = $2522 & 65535;
-   $2524 = $2523 << 7;
-   $2525 = $2521 | $2524;
-   (_genop($2515,$2525)|0);
-   $2526 = $3;
-   _push_($2526);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 99:  {
-   $2527 = $4;
-   $2528 = ((($2527)) + 16|0);
-   $2529 = HEAP32[$2528>>2]|0;
-   $4 = $2529;
-   break;
-  }
-  case 56:  {
-   break;
-  }
-  case 101:  {
-   $2585 = $3;
-   $2586 = $4;
-   $2587 = $5;
-   _gen_literal_array($2585,$2586,0,$2587);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 102:  {
-   $2588 = $3;
-   $2589 = $4;
-   $2590 = $5;
-   _gen_literal_array($2588,$2589,1,$2590);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 58:  {
-   $2591 = $3;
-   $2592 = HEAP32[$2591>>2]|0;
-   $2593 = (_mrb_gc_arena_save($2592)|0);
-   $123 = $2593;
-   $2594 = $3;
-   $2595 = $3;
-   $2596 = HEAP32[$2595>>2]|0;
-   $2597 = (_mrb_intern_static($2596,69662,6)|0);
-   $2598 = (_new_sym_1167($2594,$2597)|0);
-   $124 = $2598;
-   $2599 = $5;
-   $2600 = ($2599|0)==(0);
-   if ($2600) {
-    $2601 = $3;
-    _push_($2601);
-   }
-   $2602 = $3;
-   $2603 = $3;
-   $2604 = ((($2603)) + 172|0);
-   $2605 = HEAP32[$2604>>2]|0;
-   $2606 = $2605 & 511;
-   $2607 = $2606 << 23;
-   $2608 = 66 | $2607;
-   (_genop($2602,$2608)|0);
-   $2609 = $3;
-   $2610 = $3;
-   $2611 = ((($2610)) + 172|0);
-   $2612 = HEAP32[$2611>>2]|0;
-   $2613 = $2612 & 511;
-   $2614 = $2613 << 23;
-   $2615 = 19 | $2614;
-   $2616 = $124;
-   $2617 = $2616 & 65535;
-   $2618 = $2617 << 7;
-   $2619 = $2615 | $2618;
-   (_genop($2609,$2619)|0);
-   $2620 = $3;
-   _push_($2620);
-   $2621 = $3;
-   $2622 = $4;
-   $2623 = HEAP32[$2622>>2]|0;
-   _codegen($2621,$2623,1);
-   $2624 = $4;
-   $2625 = ((($2624)) + 4|0);
-   $2626 = HEAP32[$2625>>2]|0;
-   $122 = $2626;
-   while(1) {
-    $2627 = $122;
-    $2628 = ($2627|0)!=(0|0);
-    if (!($2628)) {
-     break;
-    }
-    $2629 = $122;
-    $2630 = HEAP32[$2629>>2]|0;
-    $2631 = HEAP32[$2630>>2]|0;
-    $2632 = $2631;
-    $2633 = ($2632|0)==(57);
-    if ($2633) {
-     $2634 = $122;
-     $2635 = HEAP32[$2634>>2]|0;
-     HEAP32[$2635>>2] = (55);
-    }
-    $2636 = $3;
-    $2637 = $122;
-    $2638 = HEAP32[$2637>>2]|0;
-    _codegen($2636,$2638,1);
-    $2639 = $3;
-    $2640 = ((($2639)) + 172|0);
-    $2641 = HEAP32[$2640>>2]|0;
-    $2642 = (($2641) + -1)|0;
-    HEAP32[$2640>>2] = $2642;
-    $2643 = $3;
-    $2644 = ((($2643)) + 172|0);
-    $2645 = HEAP32[$2644>>2]|0;
-    $2646 = (($2645) + -1)|0;
-    HEAP32[$2644>>2] = $2646;
-    $2647 = $3;
-    $2648 = $3;
-    $2649 = ((($2648)) + 172|0);
-    $2650 = HEAP32[$2649>>2]|0;
-    $2651 = $2650 & 511;
-    $2652 = $2651 << 23;
-    $2653 = 62 | $2652;
-    $2654 = $3;
-    $2655 = ((($2654)) + 172|0);
-    $2656 = HEAP32[$2655>>2]|0;
-    $2657 = (($2656) + 1)|0;
-    $2658 = $2657 & 511;
-    $2659 = $2658 << 14;
-    $2660 = $2653 | $2659;
-    (_genop_peep($2647,$2660,1)|0);
-    $2661 = $3;
-    _push_($2661);
-    $2662 = $122;
-    $2663 = ((($2662)) + 4|0);
-    $2664 = HEAP32[$2663>>2]|0;
-    $122 = $2664;
-   }
-   $2665 = $3;
-   $2666 = ((($2665)) + 172|0);
-   $2667 = HEAP32[$2666>>2]|0;
-   $2668 = (($2667) + -1)|0;
-   HEAP32[$2666>>2] = $2668;
-   $2669 = $3;
-   $2670 = ((($2669)) + 172|0);
-   $2671 = HEAP32[$2670>>2]|0;
-   $2672 = (($2671) + -1)|0;
-   HEAP32[$2670>>2] = $2672;
-   $2673 = $3;
-   $2674 = $3;
-   $2675 = HEAP32[$2674>>2]|0;
-   $2676 = (_mrb_intern_static($2675,69669,1)|0);
-   $2677 = (_new_sym_1167($2673,$2676)|0);
-   $124 = $2677;
-   $2678 = $3;
-   $2679 = $3;
-   $2680 = ((($2679)) + 172|0);
-   $2681 = HEAP32[$2680>>2]|0;
-   $2682 = $2681 & 511;
-   $2683 = $2682 << 23;
-   $2684 = 32 | $2683;
-   $2685 = $124;
-   $2686 = $2685 & 511;
-   $2687 = $2686 << 14;
-   $2688 = $2684 | $2687;
-   $2689 = $2688 | 128;
-   (_genop($2678,$2689)|0);
-   $2690 = $5;
-   $2691 = ($2690|0)==(0);
-   $2692 = $3;
-   if ($2691) {
-    $2693 = ((($2692)) + 172|0);
-    $2694 = HEAP32[$2693>>2]|0;
-    $2695 = (($2694) + -1)|0;
-    HEAP32[$2693>>2] = $2695;
-   } else {
-    _push_($2692);
-   }
-   $2696 = $3;
-   $2697 = HEAP32[$2696>>2]|0;
-   $2698 = $123;
-   _mrb_gc_arena_restore($2697,$2698);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 57:  {
-   $2699 = $4;
-   $2700 = HEAP32[$2699>>2]|0;
-   $125 = $2700;
-   $2701 = $4;
-   $2702 = ((($2701)) + 4|0);
-   $2703 = HEAP32[$2702>>2]|0;
-   $2704 = $2703;
-   $126 = $2704;
-   $2705 = $3;
-   $2706 = HEAP32[$2705>>2]|0;
-   $2707 = (_mrb_gc_arena_save($2706)|0);
-   $127 = $2707;
-   $2708 = $3;
-   $2709 = $3;
-   $2710 = HEAP32[$2709>>2]|0;
-   $2711 = (_mrb_intern_static($2710,69662,6)|0);
-   $2712 = (_new_sym_1167($2708,$2711)|0);
-   $128 = $2712;
-   $2713 = $3;
-   $2714 = $3;
-   $2715 = HEAP32[$2714>>2]|0;
-   $2716 = $125;
-   $2717 = $126;
-   _mrb_str_new($130,$2715,$2716,$2717);
-   ;HEAP32[$$byval_copy25>>2]=HEAP32[$130>>2]|0;HEAP32[$$byval_copy25+4>>2]=HEAP32[$130+4>>2]|0;
-   $2718 = (_new_lit($2713,$$byval_copy25)|0);
-   $129 = $2718;
-   $2719 = $5;
-   $2720 = ($2719|0)==(0);
-   if ($2720) {
-    $2721 = $3;
-    _push_($2721);
-   }
-   $2722 = $3;
-   $2723 = $3;
-   $2724 = ((($2723)) + 172|0);
-   $2725 = HEAP32[$2724>>2]|0;
-   $2726 = $2725 & 511;
-   $2727 = $2726 << 23;
-   $2728 = 66 | $2727;
-   (_genop($2722,$2728)|0);
-   $2729 = $3;
-   $2730 = $3;
-   $2731 = ((($2730)) + 172|0);
-   $2732 = HEAP32[$2731>>2]|0;
-   $2733 = $2732 & 511;
-   $2734 = $2733 << 23;
-   $2735 = 19 | $2734;
-   $2736 = $128;
-   $2737 = $2736 & 65535;
-   $2738 = $2737 << 7;
-   $2739 = $2735 | $2738;
-   (_genop($2729,$2739)|0);
-   $2740 = $3;
-   _push_($2740);
-   $2741 = $3;
-   $2742 = $3;
-   $2743 = ((($2742)) + 172|0);
-   $2744 = HEAP32[$2743>>2]|0;
-   $2745 = $2744 & 511;
-   $2746 = $2745 << 23;
-   $2747 = 61 | $2746;
-   $2748 = $129;
-   $2749 = $2748 & 65535;
-   $2750 = $2749 << 7;
-   $2751 = $2747 | $2750;
-   (_genop($2741,$2751)|0);
-   $2752 = $3;
-   $2753 = ((($2752)) + 172|0);
-   $2754 = HEAP32[$2753>>2]|0;
-   $2755 = (($2754) + -1)|0;
-   HEAP32[$2753>>2] = $2755;
-   $2756 = $3;
-   $2757 = $3;
-   $2758 = HEAP32[$2757>>2]|0;
-   $2759 = (_mrb_intern_static($2758,69669,1)|0);
-   $2760 = (_new_sym_1167($2756,$2759)|0);
-   $128 = $2760;
-   $2761 = $3;
-   $2762 = $3;
-   $2763 = ((($2762)) + 172|0);
-   $2764 = HEAP32[$2763>>2]|0;
-   $2765 = $2764 & 511;
-   $2766 = $2765 << 23;
-   $2767 = 32 | $2766;
-   $2768 = $128;
-   $2769 = $2768 & 511;
-   $2770 = $2769 << 14;
-   $2771 = $2767 | $2770;
-   $2772 = $2771 | 128;
-   (_genop($2761,$2772)|0);
-   $2773 = $5;
-   $2774 = ($2773|0)==(0);
-   $2775 = $3;
-   if ($2774) {
-    $2776 = ((($2775)) + 172|0);
-    $2777 = HEAP32[$2776>>2]|0;
-    $2778 = (($2777) + -1)|0;
-    HEAP32[$2776>>2] = $2778;
-   } else {
-    _push_($2775);
-   }
-   $2779 = $3;
-   $2780 = HEAP32[$2779>>2]|0;
-   $2781 = $127;
-   _mrb_gc_arena_restore($2780,$2781);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 59:  {
-   $2782 = $5;
-   $2783 = ($2782|0)!=(0);
-   if (!($2783)) {
-    STACKTOP = sp;return;
-   }
-   $2784 = $4;
-   $2785 = HEAP32[$2784>>2]|0;
-   $131 = $2785;
-   $2786 = $4;
-   $2787 = ((($2786)) + 4|0);
-   $2788 = HEAP32[$2787>>2]|0;
-   $2789 = HEAP32[$2788>>2]|0;
-   $132 = $2789;
-   $2790 = $4;
-   $2791 = ((($2790)) + 4|0);
-   $2792 = HEAP32[$2791>>2]|0;
-   $2793 = ((($2792)) + 4|0);
-   $2794 = HEAP32[$2793>>2]|0;
-   $133 = $2794;
-   $2795 = $3;
-   $2796 = HEAP32[$2795>>2]|0;
-   $2797 = (_mrb_gc_arena_save($2796)|0);
-   $134 = $2797;
-   $2798 = $3;
-   $2799 = $3;
-   $2800 = HEAP32[$2799>>2]|0;
-   $2801 = (_mrb_intern_static($2800,69671,6)|0);
-   $2802 = (_new_sym_1167($2798,$2801)|0);
-   $135 = $2802;
-   $2803 = $3;
-   $2804 = $3;
-   $2805 = HEAP32[$2804>>2]|0;
-   $2806 = $131;
-   _mrb_str_new_cstr($137,$2805,$2806);
-   ;HEAP32[$$byval_copy26>>2]=HEAP32[$137>>2]|0;HEAP32[$$byval_copy26+4>>2]=HEAP32[$137+4>>2]|0;
-   $2807 = (_new_lit($2803,$$byval_copy26)|0);
-   $136 = $2807;
-   $138 = 1;
-   $2808 = $3;
-   $2809 = $3;
-   $2810 = ((($2809)) + 172|0);
-   $2811 = HEAP32[$2810>>2]|0;
-   $2812 = $2811 & 511;
-   $2813 = $2812 << 23;
-   $2814 = 66 | $2813;
-   (_genop($2808,$2814)|0);
-   $2815 = $3;
-   $2816 = $3;
-   $2817 = ((($2816)) + 172|0);
-   $2818 = HEAP32[$2817>>2]|0;
-   $2819 = $2818 & 511;
-   $2820 = $2819 << 23;
-   $2821 = 19 | $2820;
-   $2822 = $135;
-   $2823 = $2822 & 65535;
-   $2824 = $2823 << 7;
-   $2825 = $2821 | $2824;
-   (_genop($2815,$2825)|0);
-   $2826 = $3;
-   _push_($2826);
-   $2827 = $3;
-   $2828 = $3;
-   $2829 = ((($2828)) + 172|0);
-   $2830 = HEAP32[$2829>>2]|0;
-   $2831 = $2830 & 511;
-   $2832 = $2831 << 23;
-   $2833 = 61 | $2832;
-   $2834 = $136;
-   $2835 = $2834 & 65535;
-   $2836 = $2835 << 7;
-   $2837 = $2833 | $2836;
-   (_genop($2827,$2837)|0);
-   $2838 = $132;
-   $2839 = ($2838|0)!=(0|0);
-   $2840 = $133;
-   $2841 = ($2840|0)!=(0|0);
-   $or$cond11 = $2839 | $2841;
-   if ($or$cond11) {
-    $2842 = $3;
-    _push_($2842);
-    $2843 = $132;
-    $2844 = ($2843|0)!=(0|0);
-    $2845 = $3;
-    $2846 = $3;
-    if ($2844) {
-     $2847 = HEAP32[$2846>>2]|0;
-     $2848 = $132;
-     _mrb_str_new_cstr($139,$2847,$2848);
-     ;HEAP32[$$byval_copy27>>2]=HEAP32[$139>>2]|0;HEAP32[$$byval_copy27+4>>2]=HEAP32[$139+4>>2]|0;
-     $2849 = (_new_lit($2845,$$byval_copy27)|0);
-     $136 = $2849;
-     $2850 = $3;
-     $2851 = $3;
-     $2852 = ((($2851)) + 172|0);
-     $2853 = HEAP32[$2852>>2]|0;
-     $2854 = $2853 & 511;
-     $2855 = $2854 << 23;
-     $2856 = 61 | $2855;
-     $2857 = $136;
-     $2858 = $2857 & 65535;
-     $2859 = $2858 << 7;
-     $2860 = $2856 | $2859;
-     (_genop($2850,$2860)|0);
-    } else {
-     $2861 = ((($2846)) + 172|0);
-     $2862 = HEAP32[$2861>>2]|0;
-     $2863 = $2862 & 511;
-     $2864 = $2863 << 23;
-     $2865 = 5 | $2864;
-     (_genop($2845,$2865)|0);
-    }
-    $2866 = $138;
-    $2867 = (($2866) + 1)|0;
-    $138 = $2867;
-    $2868 = $133;
-    $2869 = ($2868|0)!=(0|0);
-    if ($2869) {
-     $2870 = $3;
-     _push_($2870);
-     $2871 = $3;
-     $2872 = $3;
-     $2873 = HEAP32[$2872>>2]|0;
-     $2874 = $133;
-     _mrb_str_new($140,$2873,$2874,1);
-     ;HEAP32[$$byval_copy28>>2]=HEAP32[$140>>2]|0;HEAP32[$$byval_copy28+4>>2]=HEAP32[$140+4>>2]|0;
-     $2875 = (_new_lit($2871,$$byval_copy28)|0);
-     $136 = $2875;
-     $2876 = $3;
-     $2877 = $3;
-     $2878 = ((($2877)) + 172|0);
-     $2879 = HEAP32[$2878>>2]|0;
-     $2880 = $2879 & 511;
-     $2881 = $2880 << 23;
-     $2882 = 61 | $2881;
-     $2883 = $136;
-     $2884 = $2883 & 65535;
-     $2885 = $2884 << 7;
-     $2886 = $2882 | $2885;
-     (_genop($2876,$2886)|0);
-     $2887 = $138;
-     $2888 = (($2887) + 1)|0;
-     $138 = $2888;
-     $2889 = $3;
-     $2890 = ((($2889)) + 172|0);
-     $2891 = HEAP32[$2890>>2]|0;
-     $2892 = (($2891) + -1)|0;
-     HEAP32[$2890>>2] = $2892;
-    }
-    $2893 = $3;
-    $2894 = ((($2893)) + 172|0);
-    $2895 = HEAP32[$2894>>2]|0;
-    $2896 = (($2895) + -1)|0;
-    HEAP32[$2894>>2] = $2896;
-   }
-   $2897 = $3;
-   $2898 = ((($2897)) + 172|0);
-   $2899 = HEAP32[$2898>>2]|0;
-   $2900 = (($2899) + -1)|0;
-   HEAP32[$2898>>2] = $2900;
-   $2901 = $3;
-   $2902 = $3;
-   $2903 = HEAP32[$2902>>2]|0;
-   $2904 = (_mrb_intern_static($2903,69678,7)|0);
-   $2905 = (_new_sym_1167($2901,$2904)|0);
-   $135 = $2905;
-   $2906 = $3;
-   $2907 = $3;
-   $2908 = ((($2907)) + 172|0);
-   $2909 = HEAP32[$2908>>2]|0;
-   $2910 = $2909 & 511;
-   $2911 = $2910 << 23;
-   $2912 = 32 | $2911;
-   $2913 = $135;
-   $2914 = $2913 & 511;
-   $2915 = $2914 << 14;
-   $2916 = $2912 | $2915;
-   $2917 = $138;
-   $2918 = $2917 & 127;
-   $2919 = $2918 << 7;
-   $2920 = $2916 | $2919;
-   (_genop($2906,$2920)|0);
-   $2921 = $3;
-   $2922 = HEAP32[$2921>>2]|0;
-   $2923 = $134;
-   _mrb_gc_arena_restore($2922,$2923);
-   $2924 = $3;
-   _push_($2924);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 60:  {
-   $2925 = $5;
-   $2926 = ($2925|0)!=(0);
-   $2927 = $4;
-   $2928 = HEAP32[$2927>>2]|0;
-   if (!($2926)) {
-    $150 = $2928;
-    while(1) {
-     $3098 = $150;
-     $3099 = ($3098|0)!=(0|0);
-     if (!($3099)) {
-      break;
-     }
-     $3100 = $150;
-     $3101 = HEAP32[$3100>>2]|0;
-     $3102 = HEAP32[$3101>>2]|0;
-     $3103 = $3102;
-     $3104 = ($3103|0)!=(55);
-     if ($3104) {
-      $3105 = $3;
-      $3106 = $150;
-      $3107 = HEAP32[$3106>>2]|0;
-      _codegen($3105,$3107,0);
-     }
-     $3108 = $150;
-     $3109 = ((($3108)) + 4|0);
-     $3110 = HEAP32[$3109>>2]|0;
-     $150 = $3110;
-    }
-    STACKTOP = sp;return;
-   }
-   $141 = $2928;
-   $2929 = $3;
-   $2930 = HEAP32[$2929>>2]|0;
-   $2931 = (_mrb_gc_arena_save($2930)|0);
-   $142 = $2931;
-   $2932 = $3;
-   $2933 = $3;
-   $2934 = HEAP32[$2933>>2]|0;
-   $2935 = (_mrb_intern_static($2934,69671,6)|0);
-   $2936 = (_new_sym_1167($2932,$2935)|0);
-   $143 = $2936;
-   $144 = 1;
-   $2937 = $3;
-   $2938 = $3;
-   $2939 = ((($2938)) + 172|0);
-   $2940 = HEAP32[$2939>>2]|0;
-   $2941 = $2940 & 511;
-   $2942 = $2941 << 23;
-   $2943 = 66 | $2942;
-   (_genop($2937,$2943)|0);
-   $2944 = $3;
-   $2945 = $3;
-   $2946 = ((($2945)) + 172|0);
-   $2947 = HEAP32[$2946>>2]|0;
-   $2948 = $2947 & 511;
-   $2949 = $2948 << 23;
-   $2950 = 19 | $2949;
-   $2951 = $143;
-   $2952 = $2951 & 65535;
-   $2953 = $2952 << 7;
-   $2954 = $2950 | $2953;
-   (_genop($2944,$2954)|0);
-   $2955 = $3;
-   _push_($2955);
-   $2956 = $3;
-   $2957 = $141;
-   $2958 = HEAP32[$2957>>2]|0;
-   _codegen($2956,$2958,1);
-   $2959 = $141;
-   $2960 = ((($2959)) + 4|0);
-   $2961 = HEAP32[$2960>>2]|0;
-   $141 = $2961;
-   while(1) {
-    $2962 = $141;
-    $2963 = ($2962|0)!=(0|0);
-    if (!($2963)) {
-     break;
-    }
-    $2964 = $3;
-    $2965 = $141;
-    $2966 = HEAP32[$2965>>2]|0;
-    _codegen($2964,$2966,1);
-    $2967 = $3;
-    $2968 = ((($2967)) + 172|0);
-    $2969 = HEAP32[$2968>>2]|0;
-    $2970 = (($2969) + -1)|0;
-    HEAP32[$2968>>2] = $2970;
-    $2971 = $3;
-    $2972 = ((($2971)) + 172|0);
-    $2973 = HEAP32[$2972>>2]|0;
-    $2974 = (($2973) + -1)|0;
-    HEAP32[$2972>>2] = $2974;
-    $2975 = $3;
-    $2976 = $3;
-    $2977 = ((($2976)) + 172|0);
-    $2978 = HEAP32[$2977>>2]|0;
-    $2979 = $2978 & 511;
-    $2980 = $2979 << 23;
-    $2981 = 62 | $2980;
-    $2982 = $3;
-    $2983 = ((($2982)) + 172|0);
-    $2984 = HEAP32[$2983>>2]|0;
-    $2985 = (($2984) + 1)|0;
-    $2986 = $2985 & 511;
-    $2987 = $2986 << 14;
-    $2988 = $2981 | $2987;
-    (_genop_peep($2975,$2988,1)|0);
-    $2989 = $3;
-    _push_($2989);
-    $2990 = $141;
-    $2991 = ((($2990)) + 4|0);
-    $2992 = HEAP32[$2991>>2]|0;
-    $141 = $2992;
-   }
-   $2993 = $4;
-   $2994 = ((($2993)) + 4|0);
-   $2995 = HEAP32[$2994>>2]|0;
-   $2996 = ((($2995)) + 4|0);
-   $2997 = HEAP32[$2996>>2]|0;
-   $141 = $2997;
-   $2998 = $141;
-   $2999 = HEAP32[$2998>>2]|0;
-   $3000 = ($2999|0)!=(0|0);
-   if ($3000) {
-    $3001 = $141;
-    $3002 = HEAP32[$3001>>2]|0;
-    $146 = $3002;
-    $3003 = $3;
-    $3004 = $3;
-    $3005 = HEAP32[$3004>>2]|0;
-    $3006 = $146;
-    _mrb_str_new_cstr($147,$3005,$3006);
-    ;HEAP32[$$byval_copy29>>2]=HEAP32[$147>>2]|0;HEAP32[$$byval_copy29+4>>2]=HEAP32[$147+4>>2]|0;
-    $3007 = (_new_lit($3003,$$byval_copy29)|0);
-    $145 = $3007;
-    $3008 = $3;
-    $3009 = $4;
-    $3010 = HEAP32[$3009>>2]|0;
-    _codegen($3008,$3010,1);
-    $3011 = $3;
-    $3012 = $3;
-    $3013 = ((($3012)) + 172|0);
-    $3014 = HEAP32[$3013>>2]|0;
-    $3015 = $3014 & 511;
-    $3016 = $3015 << 23;
-    $3017 = 61 | $3016;
-    $3018 = $145;
-    $3019 = $3018 & 65535;
-    $3020 = $3019 << 7;
-    $3021 = $3017 | $3020;
-    (_genop($3011,$3021)|0);
-    $3022 = $3;
-    $3023 = ((($3022)) + 172|0);
-    $3024 = HEAP32[$3023>>2]|0;
-    $3025 = (($3024) + -1)|0;
-    HEAP32[$3023>>2] = $3025;
-    $3026 = $3;
-    $3027 = $3;
-    $3028 = ((($3027)) + 172|0);
-    $3029 = HEAP32[$3028>>2]|0;
-    $3030 = $3029 & 511;
-    $3031 = $3030 << 23;
-    $3032 = 62 | $3031;
-    $3033 = $3;
-    $3034 = ((($3033)) + 172|0);
-    $3035 = HEAP32[$3034>>2]|0;
-    $3036 = (($3035) + 1)|0;
-    $3037 = $3036 & 511;
-    $3038 = $3037 << 14;
-    $3039 = $3032 | $3038;
-    (_genop_peep($3026,$3039,1)|0);
-   }
-   $3040 = $141;
-   $3041 = ((($3040)) + 4|0);
-   $3042 = HEAP32[$3041>>2]|0;
-   $3043 = ($3042|0)!=(0|0);
-   if ($3043) {
-    $3044 = $141;
-    $3045 = ((($3044)) + 4|0);
-    $3046 = HEAP32[$3045>>2]|0;
-    $148 = $3046;
-    $3047 = $3;
-    _push_($3047);
-    $3048 = $3;
-    $3049 = $3;
-    $3050 = HEAP32[$3049>>2]|0;
-    $3051 = $148;
-    _mrb_str_new_cstr($149,$3050,$3051);
-    ;HEAP32[$$byval_copy30>>2]=HEAP32[$149>>2]|0;HEAP32[$$byval_copy30+4>>2]=HEAP32[$149+4>>2]|0;
-    $3052 = (_new_lit($3048,$$byval_copy30)|0);
-    $145 = $3052;
-    $3053 = $3;
-    $3054 = $3;
-    $3055 = ((($3054)) + 172|0);
-    $3056 = HEAP32[$3055>>2]|0;
-    $3057 = $3056 & 511;
-    $3058 = $3057 << 23;
-    $3059 = 61 | $3058;
-    $3060 = $145;
-    $3061 = $3060 & 65535;
-    $3062 = $3061 << 7;
-    $3063 = $3059 | $3062;
-    (_genop($3053,$3063)|0);
-    $3064 = $144;
-    $3065 = (($3064) + 1)|0;
-    $144 = $3065;
-    $3066 = $3;
-    $3067 = ((($3066)) + 172|0);
-    $3068 = HEAP32[$3067>>2]|0;
-    $3069 = (($3068) + -1)|0;
-    HEAP32[$3067>>2] = $3069;
-   }
-   $3070 = $3;
-   $3071 = ((($3070)) + 172|0);
-   $3072 = HEAP32[$3071>>2]|0;
-   $3073 = (($3072) + -1)|0;
-   HEAP32[$3071>>2] = $3073;
-   $3074 = $3;
-   $3075 = $3;
-   $3076 = HEAP32[$3075>>2]|0;
-   $3077 = (_mrb_intern_static($3076,69678,7)|0);
-   $3078 = (_new_sym_1167($3074,$3077)|0);
-   $143 = $3078;
-   $3079 = $3;
-   $3080 = $3;
-   $3081 = ((($3080)) + 172|0);
-   $3082 = HEAP32[$3081>>2]|0;
-   $3083 = $3082 & 511;
-   $3084 = $3083 << 23;
-   $3085 = 32 | $3084;
-   $3086 = $143;
-   $3087 = $3086 & 511;
-   $3088 = $3087 << 14;
-   $3089 = $3085 | $3088;
-   $3090 = $144;
-   $3091 = $3090 & 127;
-   $3092 = $3091 << 7;
-   $3093 = $3089 | $3092;
-   (_genop($3079,$3093)|0);
-   $3094 = $3;
-   $3095 = HEAP32[$3094>>2]|0;
-   $3096 = $142;
-   _mrb_gc_arena_restore($3095,$3096);
-   $3097 = $3;
-   _push_($3097);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 54:  {
-   $3111 = $5;
-   $3112 = ($3111|0)!=(0);
-   if (!($3112)) {
-    STACKTOP = sp;return;
-   }
-   $3113 = $3;
-   $3114 = $4;
-   $3115 = $3114;
-   $3116 = (_new_sym_1167($3113,$3115)|0);
-   $151 = $3116;
-   $3117 = $3;
-   $3118 = $3;
-   $3119 = ((($3118)) + 172|0);
-   $3120 = HEAP32[$3119>>2]|0;
-   $3121 = $3120 & 511;
-   $3122 = $3121 << 23;
-   $3123 = 4 | $3122;
-   $3124 = $151;
-   $3125 = $3124 & 65535;
-   $3126 = $3125 << 7;
-   $3127 = $3123 | $3126;
-   (_genop($3117,$3127)|0);
-   $3128 = $3;
-   _push_($3128);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 97:  {
-   $3129 = $3;
-   $3130 = $4;
-   $3131 = $5;
-   _codegen($3129,$3130,$3131);
-   $3132 = $5;
-   $3133 = ($3132|0)!=(0);
-   if (!($3133)) {
-    STACKTOP = sp;return;
-   }
-   $3134 = $3;
-   _gen_send_intern($3134);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 85:  {
-   $3135 = $5;
-   $3136 = ($3135|0)!=(0);
-   if (!($3136)) {
-    STACKTOP = sp;return;
-   }
-   $3137 = $3;
-   $3138 = $3;
-   $3139 = ((($3138)) + 172|0);
-   $3140 = HEAP32[$3139>>2]|0;
-   $3141 = $3140 & 511;
-   $3142 = $3141 << 23;
-   $3143 = 6 | $3142;
-   (_genop($3137,$3143)|0);
-   $3144 = $3;
-   _push_($3144);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 86:  {
-   $3145 = $5;
-   $3146 = ($3145|0)!=(0);
-   if (!($3146)) {
-    STACKTOP = sp;return;
-   }
-   $3147 = $3;
-   $3148 = $3;
-   $3149 = ((($3148)) + 172|0);
-   $3150 = HEAP32[$3149>>2]|0;
-   $3151 = $3150 & 511;
-   $3152 = $3151 << 23;
-   $3153 = 5 | $3152;
-   (_genop($3147,$3153)|0);
-   $3154 = $3;
-   _push_($3154);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 87:  {
-   $3155 = $5;
-   $3156 = ($3155|0)!=(0);
-   if (!($3156)) {
-    STACKTOP = sp;return;
-   }
-   $3157 = $3;
-   $3158 = $3;
-   $3159 = ((($3158)) + 172|0);
-   $3160 = HEAP32[$3159>>2]|0;
-   $3161 = $3160 & 511;
-   $3162 = $3161 << 23;
-   $3163 = 7 | $3162;
-   (_genop($3157,$3163)|0);
-   $3164 = $3;
-   _push_($3164);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 88:  {
-   $3165 = $5;
-   $3166 = ($3165|0)!=(0);
-   if (!($3166)) {
-    STACKTOP = sp;return;
-   }
-   $3167 = $3;
-   $3168 = $3;
-   $3169 = ((($3168)) + 172|0);
-   $3170 = HEAP32[$3169>>2]|0;
-   $3171 = $3170 & 511;
-   $3172 = $3171 << 23;
-   $3173 = 8 | $3172;
-   (_genop($3167,$3173)|0);
-   $3174 = $3;
-   _push_($3174);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 72:  {
-   $3175 = $3;
-   $3176 = $4;
-   $3177 = HEAP32[$3176>>2]|0;
-   $3178 = $3177;
-   $3179 = (_new_msym($3175,$3178)|0);
-   $152 = $3179;
-   $3180 = $3;
-   $3181 = $4;
-   $3182 = ((($3181)) + 4|0);
-   $3183 = HEAP32[$3182>>2]|0;
-   $3184 = $3183;
-   $3185 = (_new_msym($3180,$3184)|0);
-   $153 = $3185;
-   $3186 = $3;
-   $3187 = $3;
-   $3188 = HEAP32[$3187>>2]|0;
-   $3189 = (_mrb_intern_static($3188,69686,12)|0);
-   $3190 = (_new_msym($3186,$3189)|0);
-   $154 = $3190;
-   $3191 = $3;
-   $3192 = $3;
-   $3193 = ((($3192)) + 172|0);
-   $3194 = HEAP32[$3193>>2]|0;
-   $3195 = $3194 & 511;
-   $3196 = $3195 << 23;
-   $3197 = 72 | $3196;
-   (_genop($3191,$3197)|0);
-   $3198 = $3;
-   _push_($3198);
-   $3199 = $3;
-   $3200 = $3;
-   $3201 = ((($3200)) + 172|0);
-   $3202 = HEAP32[$3201>>2]|0;
-   $3203 = $3202 & 511;
-   $3204 = $3203 << 23;
-   $3205 = 4 | $3204;
-   $3206 = $152;
-   $3207 = $3206 & 65535;
-   $3208 = $3207 << 7;
-   $3209 = $3205 | $3208;
-   (_genop($3199,$3209)|0);
-   $3210 = $3;
-   _push_($3210);
-   $3211 = $3;
-   $3212 = $3;
-   $3213 = ((($3212)) + 172|0);
-   $3214 = HEAP32[$3213>>2]|0;
-   $3215 = $3214 & 511;
-   $3216 = $3215 << 23;
-   $3217 = 4 | $3216;
-   $3218 = $153;
-   $3219 = $3218 & 65535;
-   $3220 = $3219 << 7;
-   $3221 = $3217 | $3220;
-   (_genop($3211,$3221)|0);
-   $3222 = $3;
-   _push_($3222);
-   $3223 = $3;
-   $3224 = $3;
-   $3225 = ((($3224)) + 172|0);
-   $3226 = HEAP32[$3225>>2]|0;
-   $3227 = $3226 & 511;
-   $3228 = $3227 << 23;
-   $3229 = 5 | $3228;
-   (_genop($3223,$3229)|0);
-   $3230 = $3;
-   $3231 = ((($3230)) + 172|0);
-   $3232 = HEAP32[$3231>>2]|0;
-   $3233 = (($3232) - 3)|0;
-   HEAP32[$3231>>2] = $3233;
-   $3234 = $3;
-   $3235 = $3;
-   $3236 = ((($3235)) + 172|0);
-   $3237 = HEAP32[$3236>>2]|0;
-   $3238 = $3237 & 511;
-   $3239 = $3238 << 23;
-   $3240 = 32 | $3239;
-   $3241 = $154;
-   $3242 = $3241 & 511;
-   $3243 = $3242 << 14;
-   $3244 = $3240 | $3243;
-   $3245 = $3244 | 256;
-   (_genop($3234,$3245)|0);
-   $3246 = $5;
-   $3247 = ($3246|0)!=(0);
-   if (!($3247)) {
-    STACKTOP = sp;return;
-   }
-   $3248 = $3;
-   _push_($3248);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 73:  {
-   $3249 = $3;
-   $3250 = $3;
-   $3251 = HEAP32[$3250>>2]|0;
-   $3252 = (_mrb_intern_static($3251,69699,12)|0);
-   $3253 = (_new_msym($3249,$3252)|0);
-   $155 = $3253;
-   $156 = 0;
-   $3254 = $4;
-   $157 = $3254;
-   $3255 = $3;
-   $3256 = $3;
-   $3257 = ((($3256)) + 172|0);
-   $3258 = HEAP32[$3257>>2]|0;
-   $3259 = $3258 & 511;
-   $3260 = $3259 << 23;
-   $3261 = 72 | $3260;
-   (_genop($3255,$3261)|0);
-   $3262 = $3;
-   _push_($3262);
-   while(1) {
-    $3263 = $157;
-    $3264 = ($3263|0)!=(0|0);
-    if (!($3264)) {
-     break;
-    }
-    $3265 = $3;
-    $3266 = $157;
-    $3267 = HEAP32[$3266>>2]|0;
-    $3268 = $3267;
-    $3269 = (_new_msym($3265,$3268)|0);
-    $158 = $3269;
-    $3270 = $3;
-    $3271 = $3;
-    $3272 = ((($3271)) + 172|0);
-    $3273 = HEAP32[$3272>>2]|0;
-    $3274 = $3273 & 511;
-    $3275 = $3274 << 23;
-    $3276 = 4 | $3275;
-    $3277 = $158;
-    $3278 = $3277 & 65535;
-    $3279 = $3278 << 7;
-    $3280 = $3276 | $3279;
-    (_genop($3270,$3280)|0);
-    $3281 = $3;
-    _push_($3281);
-    $3282 = $157;
-    $3283 = ((($3282)) + 4|0);
-    $3284 = HEAP32[$3283>>2]|0;
-    $157 = $3284;
-    $3285 = $156;
-    $3286 = (($3285) + 1)|0;
-    $156 = $3286;
-   }
-   $3287 = $156;
-   $3288 = (($3287) + 1)|0;
-   $3289 = $3;
-   $3290 = ((($3289)) + 172|0);
-   $3291 = HEAP32[$3290>>2]|0;
-   $3292 = (($3291) - ($3288))|0;
-   HEAP32[$3290>>2] = $3292;
-   $3293 = $3;
-   $3294 = $3;
-   $3295 = ((($3294)) + 172|0);
-   $3296 = HEAP32[$3295>>2]|0;
-   $3297 = $3296 & 511;
-   $3298 = $3297 << 23;
-   $3299 = 32 | $3298;
-   $3300 = $155;
-   $3301 = $3300 & 511;
-   $3302 = $3301 << 14;
-   $3303 = $3299 | $3302;
-   $3304 = $156;
-   $3305 = $3304 & 127;
-   $3306 = $3305 << 7;
-   $3307 = $3303 | $3306;
-   (_genop($3293,$3307)|0);
-   $3308 = $5;
-   $3309 = ($3308|0)!=(0);
-   if (!($3309)) {
-    STACKTOP = sp;return;
-   }
-   $3310 = $3;
-   _push_($3310);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 74:  {
-   $3311 = $4;
-   $3312 = HEAP32[$3311>>2]|0;
-   $3313 = HEAP32[$3312>>2]|0;
-   $3314 = ($3313|0)==(0|0);
-   do {
-    if ($3314) {
-     $3315 = $3;
-     $3316 = $3;
-     $3317 = ((($3316)) + 172|0);
-     $3318 = HEAP32[$3317>>2]|0;
-     $3319 = $3318 & 511;
-     $3320 = $3319 << 23;
-     $3321 = 5 | $3320;
-     (_genop($3315,$3321)|0);
-     $3322 = $3;
-     _push_($3322);
-    } else {
-     $3323 = $4;
-     $3324 = HEAP32[$3323>>2]|0;
-     $3325 = HEAP32[$3324>>2]|0;
-     $3326 = ($3325|0)==((1)|0);
-     $3327 = $3;
-     if ($3326) {
-      $3328 = $3;
-      $3329 = ((($3328)) + 172|0);
-      $3330 = HEAP32[$3329>>2]|0;
-      $3331 = $3330 & 511;
-      $3332 = $3331 << 23;
-      $3333 = 66 | $3332;
-      (_genop($3327,$3333)|0);
-      $3334 = $3;
-      _push_($3334);
-      break;
-     } else {
-      $3335 = $4;
-      $3336 = HEAP32[$3335>>2]|0;
-      $3337 = HEAP32[$3336>>2]|0;
-      _codegen($3327,$3337,1);
-      break;
-     }
-    }
-   } while(0);
-   $3338 = $4;
-   $3339 = ((($3338)) + 4|0);
-   $3340 = HEAP32[$3339>>2]|0;
-   $3341 = HEAP32[$3340>>2]|0;
-   $3342 = ($3341|0)!=(0|0);
-   $3343 = $3;
-   if ($3342) {
-    $3344 = $4;
-    $3345 = ((($3344)) + 4|0);
-    $3346 = HEAP32[$3345>>2]|0;
-    $3347 = HEAP32[$3346>>2]|0;
-    _codegen($3343,$3347,1);
-   } else {
-    $3348 = $3;
-    $3349 = ((($3348)) + 172|0);
-    $3350 = HEAP32[$3349>>2]|0;
-    $3351 = $3350 & 511;
-    $3352 = $3351 << 23;
-    $3353 = 5 | $3352;
-    (_genop($3343,$3353)|0);
-    $3354 = $3;
-    _push_($3354);
-   }
-   $3355 = $3;
-   $3356 = ((($3355)) + 172|0);
-   $3357 = HEAP32[$3356>>2]|0;
-   $3358 = (($3357) + -1)|0;
-   HEAP32[$3356>>2] = $3358;
-   $3359 = $3;
-   $3360 = ((($3359)) + 172|0);
-   $3361 = HEAP32[$3360>>2]|0;
-   $3362 = (($3361) + -1)|0;
-   HEAP32[$3360>>2] = $3362;
-   $3363 = $3;
-   $3364 = $4;
-   $3365 = HEAP32[$3364>>2]|0;
-   $3366 = ((($3365)) + 4|0);
-   $3367 = HEAP32[$3366>>2]|0;
-   $3368 = $3367;
-   $3369 = (_new_msym($3363,$3368)|0);
-   $159 = $3369;
-   $3370 = $3;
-   $3371 = $3;
-   $3372 = ((($3371)) + 172|0);
-   $3373 = HEAP32[$3372>>2]|0;
-   $3374 = $3373 & 511;
-   $3375 = $3374 << 23;
-   $3376 = 67 | $3375;
-   $3377 = $159;
-   $3378 = $3377 & 511;
-   $3379 = $3378 << 14;
-   $3380 = $3376 | $3379;
-   (_genop($3370,$3380)|0);
-   $3381 = $3;
-   $3382 = $4;
-   $3383 = ((($3382)) + 4|0);
-   $3384 = HEAP32[$3383>>2]|0;
-   $3385 = ((($3384)) + 4|0);
-   $3386 = HEAP32[$3385>>2]|0;
-   $3387 = HEAP32[$3386>>2]|0;
-   $3388 = $5;
-   $3389 = (_scope_body($3381,$3387,$3388)|0);
-   $159 = $3389;
-   $3390 = $3;
-   $3391 = $3;
-   $3392 = ((($3391)) + 172|0);
-   $3393 = HEAP32[$3392>>2]|0;
-   $3394 = $3393 & 511;
-   $3395 = $3394 << 23;
-   $3396 = 69 | $3395;
-   $3397 = $159;
-   $3398 = $3397 & 65535;
-   $3399 = $3398 << 7;
-   $3400 = $3396 | $3399;
-   (_genop($3390,$3400)|0);
-   $3401 = $5;
-   $3402 = ($3401|0)!=(0);
-   if (!($3402)) {
-    STACKTOP = sp;return;
-   }
-   $3403 = $3;
-   _push_($3403);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 75:  {
-   $3404 = $4;
-   $3405 = HEAP32[$3404>>2]|0;
-   $3406 = HEAP32[$3405>>2]|0;
-   $3407 = ($3406|0)==(0|0);
-   do {
-    if ($3407) {
-     $3408 = $3;
-     $3409 = $3;
-     $3410 = ((($3409)) + 172|0);
-     $3411 = HEAP32[$3410>>2]|0;
-     $3412 = $3411 & 511;
-     $3413 = $3412 << 23;
-     $3414 = 5 | $3413;
-     (_genop($3408,$3414)|0);
-     $3415 = $3;
-     _push_($3415);
-    } else {
-     $3416 = $4;
-     $3417 = HEAP32[$3416>>2]|0;
-     $3418 = HEAP32[$3417>>2]|0;
-     $3419 = ($3418|0)==((1)|0);
-     $3420 = $3;
-     if ($3419) {
-      $3421 = $3;
-      $3422 = ((($3421)) + 172|0);
-      $3423 = HEAP32[$3422>>2]|0;
-      $3424 = $3423 & 511;
-      $3425 = $3424 << 23;
-      $3426 = 66 | $3425;
-      (_genop($3420,$3426)|0);
-      $3427 = $3;
-      _push_($3427);
-      break;
-     } else {
-      $3428 = $4;
-      $3429 = HEAP32[$3428>>2]|0;
-      $3430 = HEAP32[$3429>>2]|0;
-      _codegen($3420,$3430,1);
-      break;
-     }
-    }
-   } while(0);
-   $3431 = $3;
-   $3432 = ((($3431)) + 172|0);
-   $3433 = HEAP32[$3432>>2]|0;
-   $3434 = (($3433) + -1)|0;
-   HEAP32[$3432>>2] = $3434;
-   $3435 = $3;
-   $3436 = $4;
-   $3437 = HEAP32[$3436>>2]|0;
-   $3438 = ((($3437)) + 4|0);
-   $3439 = HEAP32[$3438>>2]|0;
-   $3440 = $3439;
-   $3441 = (_new_msym($3435,$3440)|0);
-   $160 = $3441;
-   $3442 = $3;
-   $3443 = $3;
-   $3444 = ((($3443)) + 172|0);
-   $3445 = HEAP32[$3444>>2]|0;
-   $3446 = $3445 & 511;
-   $3447 = $3446 << 23;
-   $3448 = 68 | $3447;
-   $3449 = $160;
-   $3450 = $3449 & 511;
-   $3451 = $3450 << 14;
-   $3452 = $3448 | $3451;
-   (_genop($3442,$3452)|0);
-   $3453 = $3;
-   $3454 = $4;
-   $3455 = ((($3454)) + 4|0);
-   $3456 = HEAP32[$3455>>2]|0;
-   $3457 = HEAP32[$3456>>2]|0;
-   $3458 = $5;
-   $3459 = (_scope_body($3453,$3457,$3458)|0);
-   $160 = $3459;
-   $3460 = $3;
-   $3461 = $3;
-   $3462 = ((($3461)) + 172|0);
-   $3463 = HEAP32[$3462>>2]|0;
-   $3464 = $3463 & 511;
-   $3465 = $3464 << 23;
-   $3466 = 69 | $3465;
-   $3467 = $160;
-   $3468 = $3467 & 65535;
-   $3469 = $3468 << 7;
-   $3470 = $3466 | $3469;
-   (_genop($3460,$3470)|0);
-   $3471 = $5;
-   $3472 = ($3471|0)!=(0);
-   if (!($3472)) {
-    STACKTOP = sp;return;
-   }
-   $3473 = $3;
-   _push_($3473);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 76:  {
-   $3474 = $3;
-   $3475 = $4;
-   $3476 = HEAP32[$3475>>2]|0;
-   _codegen($3474,$3476,1);
-   $3477 = $3;
-   $3478 = ((($3477)) + 172|0);
-   $3479 = HEAP32[$3478>>2]|0;
-   $3480 = (($3479) + -1)|0;
-   HEAP32[$3478>>2] = $3480;
-   $3481 = $3;
-   $3482 = $3;
-   $3483 = ((($3482)) + 172|0);
-   $3484 = HEAP32[$3483>>2]|0;
-   $3485 = $3484 & 511;
-   $3486 = $3485 << 23;
-   $3487 = 71 | $3486;
-   $3488 = $3;
-   $3489 = ((($3488)) + 172|0);
-   $3490 = HEAP32[$3489>>2]|0;
-   $3491 = $3490 & 511;
-   $3492 = $3491 << 14;
-   $3493 = $3487 | $3492;
-   (_genop($3481,$3493)|0);
-   $3494 = $3;
-   $3495 = $4;
-   $3496 = ((($3495)) + 4|0);
-   $3497 = HEAP32[$3496>>2]|0;
-   $3498 = HEAP32[$3497>>2]|0;
-   $3499 = $5;
-   $3500 = (_scope_body($3494,$3498,$3499)|0);
-   $161 = $3500;
-   $3501 = $3;
-   $3502 = $3;
-   $3503 = ((($3502)) + 172|0);
-   $3504 = HEAP32[$3503>>2]|0;
-   $3505 = $3504 & 511;
-   $3506 = $3505 << 23;
-   $3507 = 69 | $3506;
-   $3508 = $161;
-   $3509 = $3508 & 65535;
-   $3510 = $3509 << 7;
-   $3511 = $3507 | $3510;
-   (_genop($3501,$3511)|0);
-   $3512 = $5;
-   $3513 = ($3512|0)!=(0);
-   if (!($3513)) {
-    STACKTOP = sp;return;
-   }
-   $3514 = $3;
-   _push_($3514);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 70:  {
-   $3515 = $3;
-   $3516 = $4;
-   $3517 = HEAP32[$3516>>2]|0;
-   $3518 = $3517;
-   $3519 = (_new_msym($3515,$3518)|0);
-   $162 = $3519;
-   $3520 = $3;
-   $3521 = $4;
-   $3522 = ((($3521)) + 4|0);
-   $3523 = HEAP32[$3522>>2]|0;
-   $3524 = (_lambda_body($3520,$3523,0)|0);
-   $163 = $3524;
-   $3525 = $3;
-   $3526 = $3;
-   $3527 = ((($3526)) + 172|0);
-   $3528 = HEAP32[$3527>>2]|0;
-   $3529 = $3528 & 511;
-   $3530 = $3529 << 23;
-   $3531 = 72 | $3530;
-   (_genop($3525,$3531)|0);
-   $3532 = $3;
-   _push_($3532);
-   $3533 = $3;
-   $3534 = $3;
-   $3535 = ((($3534)) + 172|0);
-   $3536 = HEAP32[$3535>>2]|0;
-   $3537 = $3536 & 511;
-   $3538 = $3537 << 23;
-   $3539 = 64 | $3538;
-   $3540 = $163;
-   $3541 = $3540 & 16383;
-   $3542 = $3541 << 9;
-   $3543 = $3542 | 128;
-   $3544 = $3539 | $3543;
-   (_genop($3533,$3544)|0);
-   $3545 = $3;
-   _push_($3545);
-   $3546 = $3;
-   $3547 = ((($3546)) + 172|0);
-   $3548 = HEAP32[$3547>>2]|0;
-   $3549 = (($3548) + -1)|0;
-   HEAP32[$3547>>2] = $3549;
-   $3550 = $3;
-   $3551 = ((($3550)) + 172|0);
-   $3552 = HEAP32[$3551>>2]|0;
-   $3553 = (($3552) + -1)|0;
-   HEAP32[$3551>>2] = $3553;
-   $3554 = $3;
-   $3555 = $3;
-   $3556 = ((($3555)) + 172|0);
-   $3557 = HEAP32[$3556>>2]|0;
-   $3558 = $3557 & 511;
-   $3559 = $3558 << 23;
-   $3560 = 70 | $3559;
-   $3561 = $162;
-   $3562 = $3561 & 511;
-   $3563 = $3562 << 14;
-   $3564 = $3560 | $3563;
-   (_genop($3554,$3564)|0);
-   $3565 = $5;
-   $3566 = ($3565|0)!=(0);
-   if (!($3566)) {
-    STACKTOP = sp;return;
-   }
-   $3567 = $3;
-   $3568 = $3;
-   $3569 = ((($3568)) + 172|0);
-   $3570 = HEAP32[$3569>>2]|0;
-   $3571 = $3570 & 511;
-   $3572 = $3571 << 23;
-   $3573 = 4 | $3572;
-   $3574 = $162;
-   $3575 = $3574 & 65535;
-   $3576 = $3575 << 7;
-   $3577 = $3573 | $3576;
-   (_genop($3567,$3577)|0);
-   $3578 = $3;
-   _push_($3578);
-   STACKTOP = sp;return;
-   break;
-  }
-  case 71:  {
-   $3579 = $4;
-   $3580 = HEAP32[$3579>>2]|0;
-   $164 = $3580;
-   $3581 = $3;
-   $3582 = $4;
-   $3583 = ((($3582)) + 4|0);
-   $3584 = HEAP32[$3583>>2]|0;
-   $3585 = HEAP32[$3584>>2]|0;
-   $3586 = $3585;
-   $3587 = (_new_msym($3581,$3586)|0);
-   $165 = $3587;
-   $3588 = $3;
-   $3589 = $4;
-   $3590 = ((($3589)) + 4|0);
-   $3591 = HEAP32[$3590>>2]|0;
-   $3592 = ((($3591)) + 4|0);
-   $3593 = HEAP32[$3592>>2]|0;
-   $3594 = (_lambda_body($3588,$3593,0)|0);
-   $166 = $3594;
-   $3595 = $3;
-   $3596 = $164;
-   _codegen($3595,$3596,1);
-   $3597 = $3;
-   $3598 = ((($3597)) + 172|0);
-   $3599 = HEAP32[$3598>>2]|0;
-   $3600 = (($3599) + -1)|0;
-   HEAP32[$3598>>2] = $3600;
-   $3601 = $3;
-   $3602 = $3;
-   $3603 = ((($3602)) + 172|0);
-   $3604 = HEAP32[$3603>>2]|0;
-   $3605 = $3604 & 511;
-   $3606 = $3605 << 23;
-   $3607 = 71 | $3606;
-   $3608 = $3;
-   $3609 = ((($3608)) + 172|0);
-   $3610 = HEAP32[$3609>>2]|0;
-   $3611 = $3610 & 511;
-   $3612 = $3611 << 14;
-   $3613 = $3607 | $3612;
-   (_genop($3601,$3613)|0);
-   $3614 = $3;
-   _push_($3614);
-   $3615 = $3;
-   $3616 = $3;
-   $3617 = ((($3616)) + 172|0);
-   $3618 = HEAP32[$3617>>2]|0;
-   $3619 = $3618 & 511;
-   $3620 = $3619 << 23;
-   $3621 = 64 | $3620;
-   $3622 = $166;
-   $3623 = $3622 & 16383;
-   $3624 = $3623 << 9;
-   $3625 = $3624 | 128;
-   $3626 = $3621 | $3625;
-   (_genop($3615,$3626)|0);
-   $3627 = $3;
-   $3628 = ((($3627)) + 172|0);
-   $3629 = HEAP32[$3628>>2]|0;
-   $3630 = (($3629) + -1)|0;
-   HEAP32[$3628>>2] = $3630;
-   $3631 = $3;
-   $3632 = $3;
-   $3633 = ((($3632)) + 172|0);
-   $3634 = HEAP32[$3633>>2]|0;
-   $3635 = $3634 & 511;
-   $3636 = $3635 << 23;
-   $3637 = 70 | $3636;
-   $3638 = $165;
-   $3639 = $3638 & 511;
-   $3640 = $3639 << 14;
-   $3641 = $3637 | $3640;
-   (_genop($3631,$3641)|0);
-   $3642 = $5;
-   $3643 = ($3642|0)!=(0);
-   if (!($3643)) {
-    STACKTOP = sp;return;
-   }
-   $3644 = $3;
-   $3645 = $3;
-   $3646 = ((($3645)) + 172|0);
-   $3647 = HEAP32[$3646>>2]|0;
-   $3648 = $3647 & 511;
-   $3649 = $3648 << 23;
-   $3650 = 4 | $3649;
-   $3651 = $165;
-   $3652 = $3651 & 65535;
-   $3653 = $3652 << 7;
-   $3654 = $3650 | $3653;
-   (_genop($3644,$3654)|0);
-   $3655 = $3;
-   _push_($3655);
-   STACKTOP = sp;return;
-   break;
-  }
-  default: {
-   STACKTOP = sp;return;
-  }
-  }
- } while(0);
- $2530 = $5;
- $2531 = ($2530|0)!=(0);
- $2532 = $4;
- if ($2531) {
-  $120 = $2532;
-  $2533 = $120;
-  $2534 = ($2533|0)!=(0|0);
-  if (!($2534)) {
-   STACKTOP = sp;return;
-  }
-  $2535 = $3;
-  $2536 = $120;
-  $2537 = HEAP32[$2536>>2]|0;
-  _codegen($2535,$2537,1);
-  $2538 = $120;
-  $2539 = ((($2538)) + 4|0);
-  $2540 = HEAP32[$2539>>2]|0;
-  $120 = $2540;
-  while(1) {
-   $2541 = $120;
-   $2542 = ($2541|0)!=(0|0);
-   if (!($2542)) {
-    break;
-   }
-   $2543 = $3;
-   $2544 = $120;
-   $2545 = HEAP32[$2544>>2]|0;
-   _codegen($2543,$2545,1);
-   $2546 = $3;
-   $2547 = ((($2546)) + 172|0);
-   $2548 = HEAP32[$2547>>2]|0;
-   $2549 = (($2548) + -1)|0;
-   HEAP32[$2547>>2] = $2549;
-   $2550 = $3;
-   $2551 = ((($2550)) + 172|0);
-   $2552 = HEAP32[$2551>>2]|0;
-   $2553 = (($2552) + -1)|0;
-   HEAP32[$2551>>2] = $2553;
-   $2554 = $3;
-   $2555 = $3;
-   $2556 = ((($2555)) + 172|0);
-   $2557 = HEAP32[$2556>>2]|0;
-   $2558 = $2557 & 511;
-   $2559 = $2558 << 23;
-   $2560 = 62 | $2559;
-   $2561 = $3;
-   $2562 = ((($2561)) + 172|0);
-   $2563 = HEAP32[$2562>>2]|0;
-   $2564 = (($2563) + 1)|0;
-   $2565 = $2564 & 511;
-   $2566 = $2565 << 14;
-   $2567 = $2560 | $2566;
-   (_genop_peep($2554,$2567,1)|0);
-   $2568 = $3;
-   _push_($2568);
-   $2569 = $120;
-   $2570 = ((($2569)) + 4|0);
-   $2571 = HEAP32[$2570>>2]|0;
-   $120 = $2571;
-  }
-  STACKTOP = sp;return;
- } else {
-  $121 = $2532;
-  while(1) {
-   $2572 = $121;
-   $2573 = ($2572|0)!=(0|0);
-   if (!($2573)) {
-    break;
-   }
-   $2574 = $121;
-   $2575 = HEAP32[$2574>>2]|0;
-   $2576 = HEAP32[$2575>>2]|0;
-   $2577 = $2576;
-   $2578 = ($2577|0)!=(55);
-   if ($2578) {
-    $2579 = $3;
-    $2580 = $121;
-    $2581 = HEAP32[$2580>>2]|0;
-    _codegen($2579,$2581,0);
-   }
-   $2582 = $121;
-   $2583 = ((($2582)) + 4|0);
-   $2584 = HEAP32[$2583>>2]|0;
-   $121 = $2584;
-  }
-  STACKTOP = sp;return;
- }
-}
-function _genop($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = ((($4)) + 176|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = $2;
- $8 = ((($7)) + 212|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ($6|0)==($9|0);
- if ($10) {
-  $11 = $2;
-  $12 = ((($11)) + 212|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = $13<<1;
-  HEAP32[$12>>2] = $14;
-  $15 = $2;
-  $16 = $2;
-  $17 = ((($16)) + 204|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = $2;
-  $20 = ((($19)) + 212|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $21<<2;
-  $23 = (_codegen_realloc($15,$18,$22)|0);
-  $24 = $2;
-  $25 = ((($24)) + 204|0);
-  HEAP32[$25>>2] = $23;
-  $26 = $2;
-  $27 = ((($26)) + 208|0);
-  $28 = HEAP32[$27>>2]|0;
-  $29 = ($28|0)!=(0|0);
-  if ($29) {
-   $30 = $2;
-   $31 = $2;
-   $32 = ((($31)) + 208|0);
-   $33 = HEAP32[$32>>2]|0;
-   $34 = $2;
-   $35 = ((($34)) + 212|0);
-   $36 = HEAP32[$35>>2]|0;
-   $37 = $36<<1;
-   $38 = (_codegen_realloc($30,$33,$37)|0);
-   $39 = $2;
-   $40 = ((($39)) + 208|0);
-   HEAP32[$40>>2] = $38;
-   $41 = $2;
-   $42 = ((($41)) + 208|0);
-   $43 = HEAP32[$42>>2]|0;
-   $44 = $2;
-   $45 = ((($44)) + 216|0);
-   $46 = HEAP32[$45>>2]|0;
-   $47 = ((($46)) + 32|0);
-   HEAP32[$47>>2] = $43;
-  }
- }
- $48 = $3;
- $49 = $2;
- $50 = ((($49)) + 204|0);
- $51 = HEAP32[$50>>2]|0;
- $52 = $2;
- $53 = ((($52)) + 176|0);
- $54 = HEAP32[$53>>2]|0;
- $55 = (($51) + ($54<<2)|0);
- HEAP32[$55>>2] = $48;
- $56 = $2;
- $57 = ((($56)) + 208|0);
- $58 = HEAP32[$57>>2]|0;
- $59 = ($58|0)!=(0|0);
- if (!($59)) {
-  $70 = $2;
-  $71 = ((($70)) + 176|0);
-  $72 = HEAP32[$71>>2]|0;
-  $73 = (($72) + 1)|0;
-  HEAP32[$71>>2] = $73;
-  STACKTOP = sp;return ($72|0);
- }
- $60 = $2;
- $61 = ((($60)) + 200|0);
- $62 = HEAP16[$61>>1]|0;
- $63 = $2;
- $64 = ((($63)) + 208|0);
- $65 = HEAP32[$64>>2]|0;
- $66 = $2;
- $67 = ((($66)) + 176|0);
- $68 = HEAP32[$67>>2]|0;
- $69 = (($65) + ($68<<1)|0);
- HEAP16[$69>>1] = $62;
- $70 = $2;
- $71 = ((($70)) + 176|0);
- $72 = HEAP32[$71>>2]|0;
- $73 = (($72) + 1)|0;
- HEAP32[$71>>2] = $73;
- STACKTOP = sp;return ($72|0);
-}
-function _push_($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 172|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ($4|0)>(511);
- if ($5) {
-  $6 = $1;
-  _codegen_error($6,69816);
- }
- $7 = $1;
- $8 = ((($7)) + 172|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = (($9) + 1)|0;
- HEAP32[$8>>2] = $10;
- $11 = $1;
- $12 = ((($11)) + 172|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = $1;
- $15 = ((($14)) + 234|0);
- $16 = HEAP16[$15>>1]|0;
- $17 = $16&65535;
- $18 = ($13|0)>($17|0);
- if (!($18)) {
-  STACKTOP = sp;return;
- }
- $19 = $1;
- $20 = ((($19)) + 172|0);
- $21 = HEAP32[$20>>2]|0;
- $22 = $21&65535;
- $23 = $1;
- $24 = ((($23)) + 234|0);
- HEAP16[$24>>1] = $22;
- STACKTOP = sp;return;
-}
-function _loop_push($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = (_codegen_palloc($5,28)|0);
- $4 = $6;
- $7 = $3;
- $8 = $4;
- HEAP32[$8>>2] = $7;
- $9 = $4;
- $10 = ((($9)) + 12|0);
- HEAP32[$10>>2] = 0;
- $11 = $4;
- $12 = ((($11)) + 8|0);
- HEAP32[$12>>2] = 0;
- $13 = $4;
- $14 = ((($13)) + 4|0);
- HEAP32[$14>>2] = 0;
- $15 = $2;
- $16 = ((($15)) + 188|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = $4;
- $19 = ((($18)) + 24|0);
- HEAP32[$19>>2] = $17;
- $20 = $2;
- $21 = ((($20)) + 192|0);
- $22 = HEAP32[$21>>2]|0;
- $23 = $4;
- $24 = ((($23)) + 20|0);
- HEAP32[$24>>2] = $22;
- $25 = $2;
- $26 = ((($25)) + 172|0);
- $27 = HEAP32[$26>>2]|0;
- $28 = $4;
- $29 = ((($28)) + 16|0);
- HEAP32[$29>>2] = $27;
- $30 = $4;
- $31 = $2;
- $32 = ((($31)) + 188|0);
- HEAP32[$32>>2] = $30;
- $33 = $4;
- STACKTOP = sp;return ($33|0);
-}
-function _dispatch($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$off = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $switch = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $2 = $0;
- $3 = $1;
- $7 = $2;
- $8 = ((($7)) + 176|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = $3;
- $11 = (($9) - ($10))|0;
- $4 = $11;
- $12 = $2;
- $13 = ((($12)) + 204|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = $3;
- $16 = (($14) + ($15<<2)|0);
- $17 = HEAP32[$16>>2]|0;
- $5 = $17;
- $18 = $5;
- $19 = $18 & 127;
- $6 = $19;
- $20 = $2;
- $21 = ((($20)) + 176|0);
- $22 = HEAP32[$21>>2]|0;
- $23 = $2;
- $24 = ((($23)) + 180|0);
- HEAP32[$24>>2] = $22;
- $25 = $6;
- $$off = (($25) + -23)|0;
- $switch = ($$off>>>0)<(4);
- if (!($switch)) {
-  $26 = HEAP32[637]|0;
-  (_fprintf($26,69938,$vararg_buffer)|0);
-  $27 = $2;
-  _scope_error($27);
- }
- $28 = $6;
- $29 = $28 & 127;
- $30 = $5;
- $31 = $30 >>> 23;
- $32 = $31 & 511;
- $33 = $32 & 511;
- $34 = $33 << 23;
- $35 = $29 | $34;
- $36 = $4;
- $37 = (($36) + 32767)|0;
- $38 = $37 & 65535;
- $39 = $38 << 7;
- $40 = $35 | $39;
- $41 = $2;
- $42 = ((($41)) + 204|0);
- $43 = HEAP32[$42>>2]|0;
- $44 = $3;
- $45 = (($43) + ($44<<2)|0);
- HEAP32[$45>>2] = $40;
- STACKTOP = sp;return;
-}
-function _new_msym($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0;
- var $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $7 = $3;
- $8 = ((($7)) + 216|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = ((($9)) + 48|0);
- $11 = HEAP32[$10>>2]|0;
- $6 = $11;
- $12 = $6;
- $13 = ($12>>>0)>(256);
- $$ = $13 ? 256 : $11;
- $6 = $$;
- $5 = 0;
- while(1) {
-  $14 = $5;
-  $15 = $6;
-  $16 = ($14>>>0)<($15>>>0);
-  if (!($16)) {
-   break;
-  }
-  $17 = $3;
-  $18 = ((($17)) + 216|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = ((($19)) + 16|0);
-  $21 = HEAP32[$20>>2]|0;
-  $22 = $5;
-  $23 = (($21) + ($22<<2)|0);
-  $24 = HEAP32[$23>>2]|0;
-  $25 = $4;
-  $26 = ($24|0)==($25|0);
-  if ($26) {
-   label = 4;
-   break;
-  }
-  $28 = $3;
-  $29 = ((($28)) + 216|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = ((($30)) + 16|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = $5;
-  $34 = (($32) + ($33<<2)|0);
-  $35 = HEAP32[$34>>2]|0;
-  $36 = ($35|0)==(0);
-  if ($36) {
-   break;
-  }
-  $37 = $5;
-  $38 = (($37) + 1)|0;
-  $5 = $38;
- }
- if ((label|0) == 4) {
-  $27 = $5;
-  $2 = $27;
-  $64 = $2;
-  STACKTOP = sp;return ($64|0);
- }
- $39 = $5;
- $40 = ($39|0)==(256);
- if ($40) {
-  $41 = $3;
-  _codegen_error($41,69911);
- }
- $42 = $4;
- $43 = $3;
- $44 = ((($43)) + 216|0);
- $45 = HEAP32[$44>>2]|0;
- $46 = ((($45)) + 16|0);
- $47 = HEAP32[$46>>2]|0;
- $48 = $5;
- $49 = (($47) + ($48<<2)|0);
- HEAP32[$49>>2] = $42;
- $50 = $5;
- $51 = $3;
- $52 = ((($51)) + 216|0);
- $53 = HEAP32[$52>>2]|0;
- $54 = ((($53)) + 48|0);
- $55 = HEAP32[$54>>2]|0;
- $56 = ($50|0)==($55|0);
- if ($56) {
-  $57 = $3;
-  $58 = ((($57)) + 216|0);
-  $59 = HEAP32[$58>>2]|0;
-  $60 = ((($59)) + 48|0);
-  $61 = HEAP32[$60>>2]|0;
-  $62 = (($61) + 1)|0;
-  HEAP32[$60>>2] = $62;
- }
- $63 = $5;
- $2 = $63;
- $64 = $2;
- STACKTOP = sp;return ($64|0);
-}
-function _dispatch_linked($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $6 = $3;
- $7 = ($6|0)!=(0);
- if (!($7)) {
-  STACKTOP = sp;return;
- }
- while(1) {
-  $8 = $2;
-  $9 = ((($8)) + 204|0);
-  $10 = HEAP32[$9>>2]|0;
-  $11 = $3;
-  $12 = (($10) + ($11<<2)|0);
-  $13 = HEAP32[$12>>2]|0;
-  $4 = $13;
-  $14 = $4;
-  $15 = $14 >>> 7;
-  $16 = $15 & 65535;
-  $17 = (($16) - 32767)|0;
-  $5 = $17;
-  $18 = $2;
-  $19 = $3;
-  _dispatch($18,$19);
-  $20 = $5;
-  $21 = ($20|0)!=(0);
-  if (!($21)) {
-   break;
-  }
-  $22 = $5;
-  $3 = $22;
- }
- STACKTOP = sp;return;
-}
-function _gen_assignment($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
- var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
- var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0;
- var $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
- var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
- var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer = sp;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $12 = $5;
- $13 = HEAP32[$12>>2]|0;
- $14 = $13;
- $9 = $14;
- $15 = $5;
- $16 = ((($15)) + 4|0);
- $17 = HEAP32[$16>>2]|0;
- $5 = $17;
- $18 = $9;
- L1: do {
-  switch ($18|0) {
-  case 41:  {
-   $19 = $4;
-   $20 = $5;
-   $21 = $20;
-   $22 = (_new_sym_1167($19,$21)|0);
-   $8 = $22;
-   $23 = $4;
-   $24 = $6;
-   $25 = $24 & 511;
-   $26 = $25 << 23;
-   $27 = 10 | $26;
-   $28 = $8;
-   $29 = $28 & 65535;
-   $30 = $29 << 7;
-   $31 = $27 | $30;
-   $32 = $7;
-   (_genop_peep($23,$31,$32)|0);
-   break;
-  }
-  case 39:  {
-   $33 = $4;
-   $34 = $5;
-   $35 = $34;
-   $36 = (_lv_idx($33,$35)|0);
-   $8 = $36;
-   $37 = $8;
-   $38 = ($37|0)>(0);
-   if ($38) {
-    $39 = $8;
-    $40 = $6;
-    $41 = ($39|0)!=($40|0);
-    if (!($41)) {
-     break L1;
-    }
-    $42 = $4;
-    $43 = $8;
-    $44 = $43 & 511;
-    $45 = $44 << 23;
-    $46 = 1 | $45;
-    $47 = $6;
-    $48 = $47 & 511;
-    $49 = $48 << 14;
-    $50 = $46 | $49;
-    $51 = $7;
-    (_genop_peep($42,$50,$51)|0);
-    break L1;
-   }
-   $10 = 0;
-   $52 = $4;
-   $53 = ((($52)) + 164|0);
-   $54 = HEAP32[$53>>2]|0;
-   $11 = $54;
-   while(1) {
-    $55 = $11;
-    $56 = ($55|0)!=(0|0);
-    if (!($56)) {
-     break L1;
-    }
-    $57 = $11;
-    $58 = $5;
-    $59 = $58;
-    $60 = (_lv_idx($57,$59)|0);
-    $8 = $60;
-    $61 = $8;
-    $62 = ($61|0)>(0);
-    if ($62) {
-     break;
-    }
-    $77 = $10;
-    $78 = (($77) + 1)|0;
-    $10 = $78;
-    $79 = $11;
-    $80 = ((($79)) + 164|0);
-    $81 = HEAP32[$80>>2]|0;
-    $11 = $81;
-   }
-   $63 = $4;
-   $64 = $6;
-   $65 = $64 & 511;
-   $66 = $65 << 23;
-   $67 = 22 | $66;
-   $68 = $8;
-   $69 = $68 & 511;
-   $70 = $69 << 14;
-   $71 = $67 | $70;
-   $72 = $10;
-   $73 = $72 & 127;
-   $74 = $73 << 7;
-   $75 = $71 | $74;
-   $76 = $7;
-   (_genop_peep($63,$75,$76)|0);
-   break;
-  }
-  case 42:  {
-   $82 = $4;
-   $83 = $5;
-   $84 = $83;
-   $85 = (_new_sym_1167($82,$84)|0);
-   $8 = $85;
-   $86 = $4;
-   $87 = $6;
-   $88 = $87 & 511;
-   $89 = $88 << 23;
-   $90 = 14 | $89;
-   $91 = $8;
-   $92 = $91 & 65535;
-   $93 = $92 << 7;
-   $94 = $90 | $93;
-   $95 = $7;
-   (_genop_peep($86,$94,$95)|0);
-   break;
-  }
-  case 44:  {
-   $96 = $4;
-   $97 = $5;
-   $98 = $97;
-   $99 = (_new_sym_1167($96,$98)|0);
-   $8 = $99;
-   $100 = $4;
-   $101 = $6;
-   $102 = $101 & 511;
-   $103 = $102 << 23;
-   $104 = 16 | $103;
-   $105 = $8;
-   $106 = $105 & 65535;
-   $107 = $106 << 7;
-   $108 = $104 | $107;
-   $109 = $7;
-   (_genop_peep($100,$108,$109)|0);
-   break;
-  }
-  case 43:  {
-   $110 = $4;
-   $111 = $5;
-   $112 = $111;
-   $113 = (_new_sym_1167($110,$112)|0);
-   $8 = $113;
-   $114 = $4;
-   $115 = $6;
-   $116 = $115 & 511;
-   $117 = $116 << 23;
-   $118 = 18 | $117;
-   $119 = $8;
-   $120 = $119 & 65535;
-   $121 = $120 << 7;
-   $122 = $118 | $121;
-   $123 = $7;
-   (_genop_peep($114,$122,$123)|0);
-   break;
-  }
-  case 77:  {
-   $124 = $4;
-   $125 = $5;
-   $126 = ((($125)) + 4|0);
-   $127 = HEAP32[$126>>2]|0;
-   $128 = $127;
-   $129 = (_new_sym_1167($124,$128)|0);
-   $8 = $129;
-   $130 = $4;
-   $131 = $4;
-   $132 = ((($131)) + 172|0);
-   $133 = HEAP32[$132>>2]|0;
-   $134 = $133 & 511;
-   $135 = $134 << 23;
-   $136 = 1 | $135;
-   $137 = $6;
-   $138 = $137 & 511;
-   $139 = $138 << 14;
-   $140 = $136 | $139;
-   (_genop_peep($130,$140,0)|0);
-   $141 = $4;
-   _push_($141);
-   $142 = $4;
-   $143 = $5;
-   $144 = HEAP32[$143>>2]|0;
-   _codegen($142,$144,1);
-   $145 = $4;
-   $146 = ((($145)) + 172|0);
-   $147 = HEAP32[$146>>2]|0;
-   $148 = (($147) - 2)|0;
-   HEAP32[$146>>2] = $148;
-   $149 = $4;
-   $150 = $4;
-   $151 = ((($150)) + 172|0);
-   $152 = HEAP32[$151>>2]|0;
-   $153 = $152 & 511;
-   $154 = $153 << 23;
-   $155 = 20 | $154;
-   $156 = $8;
-   $157 = $156 & 65535;
-   $158 = $157 << 7;
-   $159 = $155 | $158;
-   $160 = $7;
-   (_genop_peep($149,$159,$160)|0);
-   break;
-  }
-  case 29:  {
-   $161 = $4;
-   _push_($161);
-   $162 = $4;
-   $163 = $5;
-   $164 = $4;
-   $165 = $5;
-   $166 = ((($165)) + 4|0);
-   $167 = HEAP32[$166>>2]|0;
-   $168 = HEAP32[$167>>2]|0;
-   $169 = $168;
-   $170 = (_attrsym($164,$169)|0);
-   $171 = $6;
-   _gen_call($162,$163,$170,$171,0);
-   $172 = $4;
-   $173 = ((($172)) + 172|0);
-   $174 = HEAP32[$173>>2]|0;
-   $175 = (($174) + -1)|0;
-   HEAP32[$173>>2] = $175;
-   $176 = $7;
-   $177 = ($176|0)!=(0);
-   if ($177) {
-    $178 = $4;
-    $179 = $4;
-    $180 = ((($179)) + 172|0);
-    $181 = HEAP32[$180>>2]|0;
-    $182 = $181 & 511;
-    $183 = $182 << 23;
-    $184 = 1 | $183;
-    $185 = $6;
-    $186 = $185 & 511;
-    $187 = $186 << 14;
-    $188 = $184 | $187;
-    $189 = $7;
-    (_genop_peep($178,$188,$189)|0);
-   }
-   break;
-  }
-  case 23:  {
-   $190 = $4;
-   $191 = $5;
-   $192 = HEAP32[$191>>2]|0;
-   $193 = $6;
-   $194 = $7;
-   _gen_vmassignment($190,$192,$193,$194);
-   break;
-  }
-  case 86:  {
-   break;
-  }
-  default: {
-   $195 = $9;
-   HEAP32[$vararg_buffer>>2] = $195;
-   (_printf(69872,$vararg_buffer)|0);
-  }
-  }
- } while(0);
- $196 = $7;
- $197 = ($196|0)!=(0);
- if (!($197)) {
-  STACKTOP = sp;return;
- }
- $198 = $4;
- _push_($198);
- STACKTOP = sp;return;
-}
-function _loop_pop($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $3;
- $5 = ($4|0)!=(0);
- if ($5) {
-  $6 = $2;
-  $7 = $2;
-  $8 = ((($7)) + 172|0);
-  $9 = HEAP32[$8>>2]|0;
-  $10 = $9 & 511;
-  $11 = $10 << 23;
-  $12 = 5 | $11;
-  (_genop($6,$12)|0);
- }
- $13 = $2;
- $14 = $2;
- $15 = ((($14)) + 188|0);
- $16 = HEAP32[$15>>2]|0;
- $17 = ((($16)) + 12|0);
- $18 = HEAP32[$17>>2]|0;
- _dispatch_linked($13,$18);
- $19 = $2;
- $20 = ((($19)) + 188|0);
- $21 = HEAP32[$20>>2]|0;
- $22 = ((($21)) + 24|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = $2;
- $25 = ((($24)) + 188|0);
- HEAP32[$25>>2] = $23;
- $26 = $3;
- $27 = ($26|0)!=(0);
- if (!($27)) {
-  STACKTOP = sp;return;
- }
- $28 = $2;
- _push_($28);
- STACKTOP = sp;return;
-}
-function _scope_body($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $8 = $4;
- $9 = HEAP32[$8>>2]|0;
- $10 = $4;
- $11 = $5;
- $12 = HEAP32[$11>>2]|0;
- $13 = (_scope_new($9,$10,$12)|0);
- $7 = $13;
- $14 = $7;
- $15 = ($14|0)==(0|0);
- if ($15) {
-  $16 = $4;
-  _raise_error($16,69839);
- }
- $17 = $7;
- $18 = $5;
- $19 = ((($18)) + 4|0);
- $20 = HEAP32[$19>>2]|0;
- _codegen($17,$20,1);
- $21 = $4;
- $22 = ((($21)) + 204|0);
- $23 = HEAP32[$22>>2]|0;
- $24 = ($23|0)!=(0|0);
- do {
-  if ($24) {
-   $26 = $6;
-   $27 = ($26|0)!=(0);
-   $28 = $7;
-   if (!($27)) {
-    (_genop($28,41)|0);
-    break;
-   }
-   $29 = ((($28)) + 234|0);
-   $30 = HEAP16[$29>>1]|0;
-   $31 = $30&65535;
-   $32 = ($31|0)==(0);
-   $33 = $7;
-   if ($32) {
-    (_genop($33,5)|0);
-    $34 = $7;
-    (_genop($34,41)|0);
-    break;
-   } else {
-    $35 = $7;
-    $36 = ((($35)) + 172|0);
-    $37 = HEAP32[$36>>2]|0;
-    $38 = (($37) - 1)|0;
-    $39 = $38 & 511;
-    $40 = $39 << 23;
-    $41 = 41 | $40;
-    (_genop_peep($33,$41,0)|0);
-    break;
-   }
-  } else {
-   $25 = $7;
-   (_genop($25,74)|0);
-  }
- } while(0);
- $42 = $7;
- _scope_finish($42);
- $43 = $4;
- $44 = ((($43)) + 216|0);
- $45 = HEAP32[$44>>2]|0;
- $46 = ($45|0)!=(0|0);
- if ($46) {
-  $47 = $4;
-  $48 = ((($47)) + 216|0);
-  $49 = HEAP32[$48>>2]|0;
-  $50 = ((($49)) + 52|0);
-  $51 = HEAP32[$50>>2]|0;
-  $52 = (($51) - 1)|0;
-  $3 = $52;
-  $53 = $3;
-  STACKTOP = sp;return ($53|0);
- } else {
-  $3 = 0;
-  $53 = $3;
-  STACKTOP = sp;return ($53|0);
- }
- return (0)|0;
-}
-function _genop_peep($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$sink = 0, $$sink3 = 0, $$sink7 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
- var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
- var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0;
- var $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0;
- var $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0;
- var $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0;
- var $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0;
- var $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0;
- var $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0;
- var $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0;
- var $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0;
- var $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0;
- var $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0;
- var $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0;
- var $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0;
- var $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0;
- var $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0;
- var $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0, $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0;
- var $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0, $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0;
- var $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0;
- var $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0, $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0;
- var $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0, $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0;
- var $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0, $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0;
- var $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0;
- var $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0;
- var $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0;
- var $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0;
- var $585 = 0, $586 = 0, $587 = 0, $588 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0;
- var $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0;
- var $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $11 = sp;
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $12 = $4;
- $13 = (_no_optimize($12)|0);
- $14 = ($13<<24>>24)!=(0);
- L1: do {
-  if (!($14)) {
-   $15 = $4;
-   $16 = ((($15)) + 180|0);
-   $17 = HEAP32[$16>>2]|0;
-   $18 = $4;
-   $19 = ((($18)) + 176|0);
-   $20 = HEAP32[$19>>2]|0;
-   $21 = ($17|0)!=($20|0);
-   if ($21) {
-    $22 = $4;
-    $23 = ((($22)) + 176|0);
-    $24 = HEAP32[$23>>2]|0;
-    $25 = ($24|0)>(0);
-    if ($25) {
-     $26 = $4;
-     $27 = ((($26)) + 204|0);
-     $28 = HEAP32[$27>>2]|0;
-     $29 = $4;
-     $30 = ((($29)) + 176|0);
-     $31 = HEAP32[$30>>2]|0;
-     $32 = (($31) - 1)|0;
-     $33 = (($28) + ($32<<2)|0);
-     $34 = HEAP32[$33>>2]|0;
-     $7 = $34;
-     $35 = $5;
-     $36 = $35 & 127;
-     $8 = $36;
-     $37 = $7;
-     $38 = $37 & 127;
-     $9 = $38;
-     $39 = $8;
-     switch ($39|0) {
-     case 1:  {
-      $40 = $5;
-      $41 = $40 >>> 23;
-      $42 = $41 & 511;
-      $43 = $5;
-      $44 = $43 >>> 14;
-      $45 = $44 & 511;
-      $46 = ($42|0)==($45|0);
-      if ($46) {
-       $3 = 0;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-      }
-      $47 = $6;
-      $48 = ($47|0)!=(0);
-      if ($48) {
-       break L1;
-      }
-      $49 = $9;
-      switch ($49|0) {
-      case 1:  {
-       $50 = $5;
-       $51 = $50 >>> 23;
-       $52 = $51 & 511;
-       $53 = $7;
-       $54 = $53 >>> 23;
-       $55 = $54 & 511;
-       $56 = ($52|0)==($55|0);
-       if ($56) {
-        $57 = $4;
-        $58 = ((($57)) + 176|0);
-        $59 = HEAP32[$58>>2]|0;
-        $60 = (($59) + -1)|0;
-        HEAP32[$58>>2] = $60;
-        $61 = $5;
-        $62 = $4;
-        $63 = ((($62)) + 204|0);
-        $64 = HEAP32[$63>>2]|0;
-        $65 = $4;
-        $66 = ((($65)) + 176|0);
-        $67 = HEAP32[$66>>2]|0;
-        $68 = (($64) + ($67<<2)|0);
-        HEAP32[$68>>2] = $61;
-       }
-       $69 = $5;
-       $70 = $69 >>> 14;
-       $71 = $70 & 511;
-       $72 = $7;
-       $73 = $72 >>> 23;
-       $74 = $73 & 511;
-       $75 = ($71|0)==($74|0);
-       if ($75) {
-        $76 = $5;
-        $77 = $76 >>> 23;
-        $78 = $77 & 511;
-        $79 = $7;
-        $80 = $79 >>> 14;
-        $81 = $80 & 511;
-        $82 = ($78|0)==($81|0);
-        if ($82) {
-         $3 = 0;
-         $588 = $3;
-         STACKTOP = sp;return ($588|0);
-        }
-       }
-       $83 = $5;
-       $84 = $83 >>> 14;
-       $85 = $84 & 511;
-       $86 = $7;
-       $87 = $86 >>> 23;
-       $88 = $87 & 511;
-       $89 = ($85|0)==($88|0);
-       if (!($89)) {
-        break L1;
-       }
-       $90 = $7;
-       $91 = $90 >>> 23;
-       $92 = $91 & 511;
-       $93 = $4;
-       $94 = ((($93)) + 232|0);
-       $95 = HEAP16[$94>>1]|0;
-       $96 = $95&65535;
-       $97 = ($92|0)>=($96|0);
-       if (!($97)) {
-        break L1;
-       }
-       $98 = $4;
-       $99 = ((($98)) + 176|0);
-       $100 = HEAP32[$99>>2]|0;
-       $101 = (($100) + -1)|0;
-       HEAP32[$99>>2] = $101;
-       $102 = $4;
-       $103 = $5;
-       $104 = $103 >>> 23;
-       $105 = $104 & 511;
-       $106 = $105 & 511;
-       $107 = $106 << 23;
-       $108 = 1 | $107;
-       $109 = $7;
-       $110 = $109 >>> 14;
-       $111 = $110 & 511;
-       $112 = $111 & 511;
-       $113 = $112 << 14;
-       $114 = $108 | $113;
-       $115 = $6;
-       $116 = (_genop_peep($102,$114,$115)|0);
-       $3 = $116;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-       break;
-      }
-      case 3:  {
-       $117 = $5;
-       $118 = $117 >>> 14;
-       $119 = $118 & 511;
-       $120 = $7;
-       $121 = $120 >>> 23;
-       $122 = $121 & 511;
-       $123 = ($119|0)==($122|0);
-       if (!($123)) {
-        break L1;
-       }
-       $124 = $7;
-       $125 = $124 >>> 23;
-       $126 = $125 & 511;
-       $127 = $4;
-       $128 = ((($127)) + 232|0);
-       $129 = HEAP16[$128>>1]|0;
-       $130 = $129&65535;
-       $131 = ($126|0)>=($130|0);
-       if (!($131)) {
-        break L1;
-       }
-       $132 = $5;
-       $133 = $132 >>> 23;
-       $134 = $133 & 511;
-       $135 = $134 & 511;
-       $136 = $135 << 23;
-       $137 = 3 | $136;
-       $138 = $7;
-       $139 = $138 >>> 7;
-       $140 = $139 & 65535;
-       $141 = (($140) - 32767)|0;
-       $142 = (($141) + 32767)|0;
-       $143 = $142 & 65535;
-       $144 = $143 << 7;
-       $145 = $137 | $144;
-       $146 = $4;
-       $147 = ((($146)) + 204|0);
-       $148 = HEAP32[$147>>2]|0;
-       $149 = $4;
-       $150 = ((($149)) + 176|0);
-       $151 = HEAP32[$150>>2]|0;
-       $152 = (($151) - 1)|0;
-       $153 = (($148) + ($152<<2)|0);
-       HEAP32[$153>>2] = $145;
-       $3 = 0;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-       break;
-      }
-      case 21: case 58: case 65: case 63: case 55:  {
-       $154 = $5;
-       $155 = $154 >>> 14;
-       $156 = $155 & 511;
-       $157 = $7;
-       $158 = $157 >>> 23;
-       $159 = $158 & 511;
-       $160 = ($156|0)==($159|0);
-       if (!($160)) {
-        break L1;
-       }
-       $161 = $7;
-       $162 = $161 >>> 23;
-       $163 = $162 & 511;
-       $164 = $4;
-       $165 = ((($164)) + 232|0);
-       $166 = HEAP16[$165>>1]|0;
-       $167 = $166&65535;
-       $168 = ($163|0)>=($167|0);
-       if (!($168)) {
-        break L1;
-       }
-       $169 = $9;
-       $170 = $169 & 127;
-       $171 = $5;
-       $172 = $171 >>> 23;
-       $173 = $172 & 511;
-       $174 = $173 & 511;
-       $175 = $174 << 23;
-       $176 = $170 | $175;
-       $177 = $7;
-       $178 = $177 >>> 14;
-       $179 = $178 & 511;
-       $180 = $179 & 511;
-       $181 = $180 << 14;
-       $182 = $176 | $181;
-       $183 = $7;
-       $184 = $183 >>> 7;
-       $185 = $184 & 127;
-       $186 = $185 & 127;
-       $187 = $186 << 7;
-       $188 = $182 | $187;
-       $189 = $4;
-       $190 = ((($189)) + 204|0);
-       $191 = HEAP32[$190>>2]|0;
-       $192 = $4;
-       $193 = ((($192)) + 176|0);
-       $194 = HEAP32[$193>>2]|0;
-       $195 = (($194) - 1)|0;
-       $196 = (($191) + ($195<<2)|0);
-       HEAP32[$196>>2] = $188;
-       $3 = 0;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-       break;
-      }
-      case 61: case 2: case 11: case 17: case 15: case 13: case 9: case 4:  {
-       $197 = $5;
-       $198 = $197 >>> 14;
-       $199 = $198 & 511;
-       $200 = $7;
-       $201 = $200 >>> 23;
-       $202 = $201 & 511;
-       $203 = ($199|0)==($202|0);
-       if (!($203)) {
-        break L1;
-       }
-       $204 = $7;
-       $205 = $204 >>> 23;
-       $206 = $205 & 511;
-       $207 = $4;
-       $208 = ((($207)) + 232|0);
-       $209 = HEAP16[$208>>1]|0;
-       $210 = $209&65535;
-       $211 = ($206|0)>=($210|0);
-       if (!($211)) {
-        break L1;
-       }
-       $212 = $9;
-       $213 = $212 & 127;
-       $214 = $5;
-       $215 = $214 >>> 23;
-       $216 = $215 & 511;
-       $217 = $216 & 511;
-       $218 = $217 << 23;
-       $219 = $213 | $218;
-       $220 = $7;
-       $221 = $220 >>> 7;
-       $222 = $221 & 65535;
-       $223 = $222 & 65535;
-       $224 = $223 << 7;
-       $225 = $219 | $224;
-       $226 = $4;
-       $227 = ((($226)) + 204|0);
-       $228 = HEAP32[$227>>2]|0;
-       $229 = $4;
-       $230 = ((($229)) + 176|0);
-       $231 = HEAP32[$230>>2]|0;
-       $232 = (($231) - 1)|0;
-       $233 = (($228) + ($232<<2)|0);
-       HEAP32[$233>>2] = $225;
-       $3 = 0;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-       break;
-      }
-      case 71:  {
-       $234 = $5;
-       $235 = $234 >>> 14;
-       $236 = $235 & 511;
-       $237 = $7;
-       $238 = $237 >>> 23;
-       $239 = $238 & 511;
-       $240 = ($236|0)==($239|0);
-       if (!($240)) {
-        break L1;
-       }
-       $241 = $7;
-       $242 = $241 >>> 23;
-       $243 = $242 & 511;
-       $244 = $4;
-       $245 = ((($244)) + 232|0);
-       $246 = HEAP16[$245>>1]|0;
-       $247 = $246&65535;
-       $248 = ($243|0)>=($247|0);
-       if (!($248)) {
-        break L1;
-       }
-       $249 = $9;
-       $250 = $249 & 127;
-       $251 = $5;
-       $252 = $251 >>> 23;
-       $253 = $252 & 511;
-       $254 = $253 & 511;
-       $255 = $254 << 23;
-       $256 = $250 | $255;
-       $257 = $7;
-       $258 = $257 >>> 14;
-       $259 = $258 & 511;
-       $260 = $259 & 511;
-       $261 = $260 << 14;
-       $262 = $256 | $261;
-       $263 = $4;
-       $264 = ((($263)) + 204|0);
-       $265 = HEAP32[$264>>2]|0;
-       $266 = $4;
-       $267 = ((($266)) + 176|0);
-       $268 = HEAP32[$267>>2]|0;
-       $269 = (($268) - 1)|0;
-       $270 = (($265) + ($269<<2)|0);
-       HEAP32[$270>>2] = $262;
-       $3 = 0;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-       break;
-      }
-      case 66: case 8: case 7: case 6: case 5:  {
-       $271 = $5;
-       $272 = $271 >>> 14;
-       $273 = $272 & 511;
-       $274 = $7;
-       $275 = $274 >>> 23;
-       $276 = $275 & 511;
-       $277 = ($273|0)==($276|0);
-       if (!($277)) {
-        break L1;
-       }
-       $278 = $7;
-       $279 = $278 >>> 23;
-       $280 = $279 & 511;
-       $281 = $4;
-       $282 = ((($281)) + 232|0);
-       $283 = HEAP16[$282>>1]|0;
-       $284 = $283&65535;
-       $285 = ($280|0)>=($284|0);
-       if (!($285)) {
-        break L1;
-       }
-       $286 = $9;
-       $287 = $286 & 127;
-       $288 = $5;
-       $289 = $288 >>> 23;
-       $290 = $289 & 511;
-       $291 = $290 & 511;
-       $292 = $291 << 23;
-       $293 = $287 | $292;
-       $294 = $4;
-       $295 = ((($294)) + 204|0);
-       $296 = HEAP32[$295>>2]|0;
-       $297 = $4;
-       $298 = ((($297)) + 176|0);
-       $299 = HEAP32[$298>>2]|0;
-       $300 = (($299) - 1)|0;
-       $301 = (($296) + ($300<<2)|0);
-       HEAP32[$301>>2] = $293;
-       $3 = 0;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-       break;
-      }
-      default: {
-       break L1;
-      }
-      }
-      break;
-     }
-     case 10: case 20: case 18: case 16: case 14:  {
-      $302 = $6;
-      $303 = ($302|0)==(0);
-      $304 = $9;
-      $305 = ($304|0)==(1);
-      $or$cond9 = $303 & $305;
-      if (!($or$cond9)) {
-       break L1;
-      }
-      $306 = $5;
-      $307 = $306 >>> 23;
-      $308 = $307 & 511;
-      $309 = $7;
-      $310 = $309 >>> 23;
-      $311 = $310 & 511;
-      $312 = ($308|0)==($311|0);
-      if (!($312)) {
-       break L1;
-      }
-      $313 = $8;
-      $314 = $313 & 127;
-      $315 = $7;
-      $316 = $315 >>> 14;
-      $317 = $316 & 511;
-      $318 = $317 & 511;
-      $319 = $318 << 23;
-      $320 = $314 | $319;
-      $321 = $5;
-      $322 = $321 >>> 7;
-      $323 = $322 & 65535;
-      $324 = $323 & 65535;
-      $325 = $324 << 7;
-      $326 = $320 | $325;
-      $327 = $4;
-      $328 = ((($327)) + 204|0);
-      $329 = HEAP32[$328>>2]|0;
-      $330 = $4;
-      $331 = ((($330)) + 176|0);
-      $332 = HEAP32[$331>>2]|0;
-      $333 = (($332) - 1)|0;
-      $334 = (($329) + ($333<<2)|0);
-      HEAP32[$334>>2] = $326;
-      $3 = 0;
-      $588 = $3;
-      STACKTOP = sp;return ($588|0);
-      break;
-     }
-     case 22:  {
-      $335 = $6;
-      $336 = ($335|0)==(0);
-      $337 = $9;
-      $338 = ($337|0)==(1);
-      $or$cond11 = $336 & $338;
-      if (!($or$cond11)) {
-       break L1;
-      }
-      $339 = $5;
-      $340 = $339 >>> 23;
-      $341 = $340 & 511;
-      $342 = $7;
-      $343 = $342 >>> 23;
-      $344 = $343 & 511;
-      $345 = ($341|0)==($344|0);
-      if (!($345)) {
-       break L1;
-      }
-      $346 = $8;
-      $347 = $346 & 127;
-      $348 = $7;
-      $349 = $348 >>> 14;
-      $350 = $349 & 511;
-      $351 = $350 & 511;
-      $352 = $351 << 23;
-      $353 = $347 | $352;
-      $354 = $5;
-      $355 = $354 >>> 14;
-      $356 = $355 & 511;
-      $357 = $356 & 511;
-      $358 = $357 << 14;
-      $359 = $353 | $358;
-      $360 = $5;
-      $361 = $360 >>> 7;
-      $362 = $361 & 127;
-      $363 = $362 & 127;
-      $364 = $363 << 7;
-      $365 = $359 | $364;
-      $366 = $4;
-      $367 = ((($366)) + 204|0);
-      $368 = HEAP32[$367>>2]|0;
-      $369 = $4;
-      $370 = ((($369)) + 176|0);
-      $371 = HEAP32[$370>>2]|0;
-      $372 = (($371) - 1)|0;
-      $373 = (($368) + ($372<<2)|0);
-      HEAP32[$373>>2] = $365;
-      $3 = 0;
-      $588 = $3;
-      STACKTOP = sp;return ($588|0);
-      break;
-     }
-     case 31:  {
-      $374 = $9;
-      $375 = ($374|0)==(31);
-      if (!($375)) {
-       break L1;
-      }
-      $376 = $7;
-      $377 = $376 >>> 23;
-      $378 = $377 & 511;
-      $379 = $5;
-      $380 = $379 >>> 23;
-      $381 = $380 & 511;
-      $382 = (($378) + ($381))|0;
-      $383 = $382 & 511;
-      $384 = $383 << 23;
-      $385 = 31 | $384;
-      $386 = $4;
-      $387 = ((($386)) + 204|0);
-      $388 = HEAP32[$387>>2]|0;
-      $389 = $4;
-      $390 = ((($389)) + 176|0);
-      $391 = HEAP32[$390>>2]|0;
-      $392 = (($391) - 1)|0;
-      $393 = (($388) + ($392<<2)|0);
-      HEAP32[$393>>2] = $385;
-      $3 = 0;
-      $588 = $3;
-      STACKTOP = sp;return ($588|0);
-      break;
-     }
-     case 28:  {
-      $394 = $9;
-      $395 = ($394|0)==(28);
-      if (!($395)) {
-       break L1;
-      }
-      $396 = $7;
-      $397 = $396 >>> 23;
-      $398 = $397 & 511;
-      $399 = $5;
-      $400 = $399 >>> 23;
-      $401 = $400 & 511;
-      $402 = (($398) + ($401))|0;
-      $403 = $402 & 511;
-      $404 = $403 << 23;
-      $405 = 28 | $404;
-      $406 = $4;
-      $407 = ((($406)) + 204|0);
-      $408 = HEAP32[$407>>2]|0;
-      $409 = $4;
-      $410 = ((($409)) + 176|0);
-      $411 = HEAP32[$410>>2]|0;
-      $412 = (($411) - 1)|0;
-      $413 = (($408) + ($412<<2)|0);
-      HEAP32[$413>>2] = $405;
-      $3 = 0;
-      $588 = $3;
-      STACKTOP = sp;return ($588|0);
-      break;
-     }
-     case 41:  {
-      $414 = $9;
-      switch ($414|0) {
-      case 41:  {
-       $3 = 0;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-       break;
-      }
-      case 1:  {
-       $415 = $7;
-       $416 = $415 >>> 23;
-       $417 = $416 & 511;
-       $418 = $4;
-       $419 = ((($418)) + 232|0);
-       $420 = HEAP16[$419>>1]|0;
-       $421 = $420&65535;
-       $422 = ($417|0)>=($421|0);
-       if (!($422)) {
-        break L1;
-       }
-       $423 = $7;
-       $424 = $423 >>> 14;
-       $425 = $424 & 511;
-       $426 = $425 & 511;
-       $427 = $426 << 23;
-       $428 = 41 | $427;
-       $429 = $4;
-       $430 = ((($429)) + 204|0);
-       $431 = HEAP32[$430>>2]|0;
-       $432 = $4;
-       $433 = ((($432)) + 176|0);
-       $434 = HEAP32[$433>>2]|0;
-       $435 = (($434) - 1)|0;
-       $436 = (($431) + ($435<<2)|0);
-       HEAP32[$436>>2] = $428;
-       $3 = 0;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-       break;
-      }
-      case 10: case 22: case 20: case 18: case 16: case 14:  {
-       $437 = $4;
-       $438 = ((($437)) + 176|0);
-       $439 = HEAP32[$438>>2]|0;
-       $440 = (($439) + -1)|0;
-       HEAP32[$438>>2] = $440;
-       $441 = $4;
-       $442 = $7;
-       (_genop_peep($441,$442,0)|0);
-       $443 = $4;
-       $444 = ((($443)) + 204|0);
-       $445 = HEAP32[$444>>2]|0;
-       $446 = $4;
-       $447 = ((($446)) + 176|0);
-       $448 = HEAP32[$447>>2]|0;
-       $449 = (($448) - 1)|0;
-       $450 = (($445) + ($449<<2)|0);
-       $451 = HEAP32[$450>>2]|0;
-       $7 = $451;
-       $452 = $4;
-       $453 = $7;
-       $454 = $453 >>> 23;
-       $455 = $454 & 511;
-       $456 = $455 & 511;
-       $457 = $456 << 23;
-       $458 = 41 | $457;
-       $459 = (_genop($452,$458)|0);
-       $3 = $459;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-       break;
-      }
-      default: {
-       break L1;
-      }
-      }
-      break;
-     }
-     case 46: case 44:  {
-      $460 = $9;
-      $461 = ($460|0)==(3);
-      if ($461) {
-       $462 = $7;
-       $463 = $462 >>> 7;
-       $464 = $463 & 65535;
-       $465 = (($464) - 32767)|0;
-       $10 = $465;
-       $466 = $8;
-       $467 = ($466|0)==(46);
-       if ($467) {
-        $468 = $10;
-        $469 = (0 - ($468))|0;
-        $10 = $469;
-       }
-       $470 = $10;
-       $471 = ($470|0)>(127);
-       $472 = $10;
-       $473 = ($472|0)<(-127);
-       $or$cond = $471 | $473;
-       if ($or$cond) {
-        break L1;
-       }
-       $474 = $10;
-       $475 = (0)<=($474|0);
-       $476 = $5;
-       $477 = $476 >>> 23;
-       $478 = $477 & 511;
-       $479 = $478 & 511;
-       $480 = $479 << 23;
-       if ($475) {
-        $481 = 45 | $480;
-        $482 = $5;
-        $483 = $482 >>> 14;
-        $484 = $483 & 511;
-        $485 = $484 & 511;
-        $486 = $485 << 14;
-        $487 = $481 | $486;
-        $488 = $10;
-        $489 = $488 & 127;
-        $490 = $489 << 7;
-        $491 = $487 | $490;
-        $492 = $4;
-        $493 = ((($492)) + 204|0);
-        $494 = HEAP32[$493>>2]|0;
-        $495 = $4;
-        $$sink = $491;$$sink3 = $494;$$sink7 = $495;
-       } else {
-        $496 = 47 | $480;
-        $497 = $5;
-        $498 = $497 >>> 14;
-        $499 = $498 & 511;
-        $500 = $499 & 511;
-        $501 = $500 << 14;
-        $502 = $496 | $501;
-        $503 = $10;
-        $504 = (0 - ($503))|0;
-        $505 = $504 & 127;
-        $506 = $505 << 7;
-        $507 = $502 | $506;
-        $508 = $4;
-        $509 = ((($508)) + 204|0);
-        $510 = HEAP32[$509>>2]|0;
-        $511 = $4;
-        $$sink = $507;$$sink3 = $510;$$sink7 = $511;
-       }
-       $512 = ((($$sink7)) + 176|0);
-       $513 = HEAP32[$512>>2]|0;
-       $514 = (($513) - 1)|0;
-       $515 = (($$sink3) + ($514<<2)|0);
-       HEAP32[$515>>2] = $$sink;
-       $3 = 0;
-       $588 = $3;
-       STACKTOP = sp;return ($588|0);
-      }
-      break;
-     }
-     case 62:  {
-      break;
-     }
-     case 25: case 24:  {
-      $548 = $9;
-      $549 = ($548|0)==(1);
-      if (!($549)) {
-       break L1;
-      }
-      $550 = $5;
-      $551 = $550 >>> 23;
-      $552 = $551 & 511;
-      $553 = $7;
-      $554 = $553 >>> 23;
-      $555 = $554 & 511;
-      $556 = ($552|0)==($555|0);
-      if (!($556)) {
-       break L1;
-      }
-      $557 = $8;
-      $558 = $557 & 127;
-      $559 = $7;
-      $560 = $559 >>> 14;
-      $561 = $560 & 511;
-      $562 = $561 & 511;
-      $563 = $562 << 23;
-      $564 = $558 | $563;
-      $565 = $5;
-      $566 = $565 >>> 7;
-      $567 = $566 & 65535;
-      $568 = (($567) - 32767)|0;
-      $569 = (($568) + 32767)|0;
-      $570 = $569 & 65535;
-      $571 = $570 << 7;
-      $572 = $564 | $571;
-      $573 = $4;
-      $574 = ((($573)) + 204|0);
-      $575 = HEAP32[$574>>2]|0;
-      $576 = $4;
-      $577 = ((($576)) + 176|0);
-      $578 = HEAP32[$577>>2]|0;
-      $579 = (($578) - 1)|0;
-      $580 = (($575) + ($579<<2)|0);
-      HEAP32[$580>>2] = $572;
-      $581 = $4;
-      $582 = ((($581)) + 176|0);
-      $583 = HEAP32[$582>>2]|0;
-      $584 = (($583) - 1)|0;
-      $3 = $584;
-      $588 = $3;
-      STACKTOP = sp;return ($588|0);
-      break;
-     }
-     default: {
-      break L1;
-     }
-     }
-     $516 = $9;
-     $517 = ($516|0)==(61);
-     if ($517) {
-      $518 = $4;
-      $519 = ((($518)) + 216|0);
-      $520 = HEAP32[$519>>2]|0;
-      $521 = ((($520)) + 12|0);
-      $522 = HEAP32[$521>>2]|0;
-      $523 = $7;
-      $524 = $523 >>> 7;
-      $525 = $524 & 65535;
-      $526 = (($522) + ($525<<3)|0);
-      ;HEAP32[$11>>2]=HEAP32[$526>>2]|0;HEAP32[$11+4>>2]=HEAP32[$526+4>>2]|0;
-      $527 = ((($11)) + 4|0);
-      $528 = HEAP32[$527>>2]|0;
-      $529 = ($528|0)==(16);
-      if ($529) {
-       $530 = HEAP32[$11>>2]|0;
-       $531 = HEAP32[$530>>2]|0;
-       $532 = $531 >>> 11;
-       $533 = $532 & 8;
-       $534 = ($533|0)!=(0);
-       $535 = HEAP32[$11>>2]|0;
-       if ($534) {
-        $536 = HEAP32[$535>>2]|0;
-        $537 = $536 >>> 11;
-        $538 = $537 & 496;
-        $539 = $538 >> 4;
-        $543 = $539;
-       } else {
-        $540 = ((($535)) + 12|0);
-        $541 = HEAP32[$540>>2]|0;
-        $543 = $541;
-       }
-       $542 = ($543|0)==(0);
-       if ($542) {
-        $544 = $4;
-        $545 = ((($544)) + 176|0);
-        $546 = HEAP32[$545>>2]|0;
-        $547 = (($546) + -1)|0;
-        HEAP32[$545>>2] = $547;
-        $3 = 0;
-        $588 = $3;
-        STACKTOP = sp;return ($588|0);
-       }
-      }
-     }
-    }
-   }
-  }
- } while(0);
- $585 = $4;
- $586 = $5;
- $587 = (_genop($585,$586)|0);
- $3 = $587;
- $588 = $3;
- STACKTOP = sp;return ($588|0);
-}
-function _lambda_body($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
- var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
- var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
- var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
- var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
- var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
- var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0;
- var $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0;
- var $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0;
- var $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0;
- var $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $22 = $3;
- $7 = $22;
- $23 = $3;
- $24 = HEAP32[$23>>2]|0;
- $25 = $3;
- $26 = $4;
- $27 = HEAP32[$26>>2]|0;
- $28 = (_scope_new($24,$25,$27)|0);
- $3 = $28;
- $29 = $3;
- $30 = ($29|0)==(0|0);
- if ($30) {
-  $31 = $7;
-  _raise_error($31,69839);
- }
- $32 = $5;
- $33 = ($32|0)!=(0);
- $34 = $33 ^ 1;
- $35 = $34&1;
- $36 = $35&255;
- $37 = $3;
- $38 = ((($37)) + 184|0);
- $39 = $36&255;
- $40 = HEAP16[$38>>1]|0;
- $41 = $39 & 1;
- $42 = ($41 << 15)&65535;
- $43 = $40 & 32767;
- $44 = $43 | $42;
- HEAP16[$38>>1] = $44;
- $45 = $5;
- $46 = ($45|0)!=(0);
- if ($46) {
-  $47 = $3;
-  $48 = (_loop_push($47,1)|0);
-  $8 = $48;
-  $49 = $3;
-  $50 = (_new_label($49)|0);
-  $51 = $8;
-  $52 = ((($51)) + 4|0);
-  HEAP32[$52>>2] = $50;
- }
- $53 = $4;
- $54 = ((($53)) + 4|0);
- $55 = HEAP32[$54>>2]|0;
- $4 = $55;
- $56 = $4;
- $57 = HEAP32[$56>>2]|0;
- $58 = ($57|0)!=(0|0);
- if ($58) {
-  $59 = $4;
-  $60 = HEAP32[$59>>2]|0;
-  $61 = HEAP32[$60>>2]|0;
-  $62 = (_node_len($61)|0);
-  $10 = $62;
-  $63 = $4;
-  $64 = HEAP32[$63>>2]|0;
-  $65 = HEAP32[$64>>2]|0;
-  $19 = $65;
-  while(1) {
-   $66 = $19;
-   $67 = ($66|0)!=(0|0);
-   if (!($67)) {
-    break;
-   }
-   $68 = $19;
-   $69 = ((($68)) + 4|0);
-   $70 = HEAP32[$69>>2]|0;
-   $19 = $70;
-  }
-  $71 = $4;
-  $72 = HEAP32[$71>>2]|0;
-  $73 = ((($72)) + 4|0);
-  $74 = HEAP32[$73>>2]|0;
-  $75 = HEAP32[$74>>2]|0;
-  $76 = (_node_len($75)|0);
-  $11 = $76;
-  $77 = $4;
-  $78 = HEAP32[$77>>2]|0;
-  $79 = ((($78)) + 4|0);
-  $80 = HEAP32[$79>>2]|0;
-  $81 = ((($80)) + 4|0);
-  $82 = HEAP32[$81>>2]|0;
-  $83 = HEAP32[$82>>2]|0;
-  $84 = ($83|0)!=(0|0);
-  $85 = $84 ? 1 : 0;
-  $12 = $85;
-  $86 = $4;
-  $87 = HEAP32[$86>>2]|0;
-  $88 = ((($87)) + 4|0);
-  $89 = HEAP32[$88>>2]|0;
-  $90 = ((($89)) + 4|0);
-  $91 = HEAP32[$90>>2]|0;
-  $92 = ((($91)) + 4|0);
-  $93 = HEAP32[$92>>2]|0;
-  $94 = HEAP32[$93>>2]|0;
-  $95 = (_node_len($94)|0);
-  $13 = $95;
-  $15 = 0;
-  $14 = 0;
-  $96 = $4;
-  $97 = HEAP32[$96>>2]|0;
-  $98 = ((($97)) + 4|0);
-  $99 = HEAP32[$98>>2]|0;
-  $100 = ((($99)) + 4|0);
-  $101 = HEAP32[$100>>2]|0;
-  $102 = ((($101)) + 4|0);
-  $103 = HEAP32[$102>>2]|0;
-  $104 = ((($103)) + 4|0);
-  $105 = HEAP32[$104>>2]|0;
-  $106 = ($105|0)!=(0|0);
-  $107 = $106 ? 1 : 0;
-  $16 = $107;
-  $108 = $10;
-  $109 = $108 & 31;
-  $110 = $109 << 18;
-  $111 = $11;
-  $112 = $111 & 31;
-  $113 = $112 << 13;
-  $114 = $110 | $113;
-  $115 = $12;
-  $116 = $115 & 1;
-  $117 = $116 << 12;
-  $118 = $114 | $117;
-  $119 = $13;
-  $120 = $119 & 31;
-  $121 = $120 << 7;
-  $122 = $118 | $121;
-  $123 = $14;
-  $124 = $123 & 31;
-  $125 = $124 << 2;
-  $126 = $122 | $125;
-  $127 = $15;
-  $128 = $127 & 1;
-  $129 = $128 << 1;
-  $130 = $126 | $129;
-  $131 = $16;
-  $132 = $131 & 1;
-  $133 = $130 | $132;
-  $9 = $133;
-  $134 = $10;
-  $135 = $11;
-  $136 = (($134) + ($135))|0;
-  $137 = $136 & 63;
-  $138 = $137 << 6;
-  $139 = $12;
-  $140 = $139 & 1;
-  $141 = $140 << 5;
-  $142 = $138 | $141;
-  $143 = $13;
-  $144 = $143 & 31;
-  $145 = $142 | $144;
-  $146 = $3;
-  $147 = ((($146)) + 184|0);
-  $148 = $145&65535;
-  $149 = HEAP16[$147>>1]|0;
-  $150 = $148 & 32767;
-  $151 = $149 & -32768;
-  $152 = $151 | $150;
-  HEAP16[$147>>1] = $152;
-  $153 = $3;
-  $154 = $9;
-  $155 = $154 & 33554431;
-  $156 = $155 << 7;
-  $157 = 38 | $156;
-  (_genop($153,$157)|0);
-  $158 = $3;
-  $159 = (_new_label($158)|0);
-  $17 = $159;
-  $18 = 0;
-  while(1) {
-   $160 = $18;
-   $161 = $11;
-   $162 = ($160|0)<($161|0);
-   if (!($162)) {
-    break;
-   }
-   $163 = $3;
-   (_new_label($163)|0);
-   $164 = $3;
-   (_genop($164,4194199)|0);
-   $165 = $18;
-   $166 = (($165) + 1)|0;
-   $18 = $166;
-  }
-  $167 = $11;
-  $168 = ($167|0)>(0);
-  if ($168) {
-   $169 = $3;
-   (_genop($169,4194199)|0);
-  }
-  $170 = $4;
-  $171 = HEAP32[$170>>2]|0;
-  $172 = ((($171)) + 4|0);
-  $173 = HEAP32[$172>>2]|0;
-  $174 = HEAP32[$173>>2]|0;
-  $20 = $174;
-  $18 = 0;
-  while(1) {
-   $175 = $20;
-   $176 = ($175|0)!=(0|0);
-   if (!($176)) {
-    break;
-   }
-   $177 = $3;
-   $178 = $17;
-   $179 = $18;
-   $180 = (($178) + ($179))|0;
-   _dispatch($177,$180);
-   $181 = $3;
-   $182 = $20;
-   $183 = HEAP32[$182>>2]|0;
-   $184 = ((($183)) + 4|0);
-   $185 = HEAP32[$184>>2]|0;
-   _codegen($181,$185,1);
-   $186 = $3;
-   $187 = $20;
-   $188 = HEAP32[$187>>2]|0;
-   $189 = HEAP32[$188>>2]|0;
-   $190 = $189;
-   $191 = (_lv_idx($186,$190)|0);
-   $21 = $191;
-   $192 = $3;
-   $193 = ((($192)) + 172|0);
-   $194 = HEAP32[$193>>2]|0;
-   $195 = (($194) + -1)|0;
-   HEAP32[$193>>2] = $195;
-   $196 = $3;
-   $197 = $21;
-   $198 = $197 & 511;
-   $199 = $198 << 23;
-   $200 = 1 | $199;
-   $201 = $3;
-   $202 = ((($201)) + 172|0);
-   $203 = HEAP32[$202>>2]|0;
-   $204 = $203 & 511;
-   $205 = $204 << 14;
-   $206 = $200 | $205;
-   (_genop_peep($196,$206,0)|0);
-   $207 = $18;
-   $208 = (($207) + 1)|0;
-   $18 = $208;
-   $209 = $20;
-   $210 = ((($209)) + 4|0);
-   $211 = HEAP32[$210>>2]|0;
-   $20 = $211;
-  }
-  $212 = $11;
-  $213 = ($212|0)>(0);
-  if ($213) {
-   $214 = $3;
-   $215 = $17;
-   $216 = $18;
-   $217 = (($215) + ($216))|0;
-   _dispatch($214,$217);
-  }
- }
- $218 = $3;
- $219 = $4;
- $220 = ((($219)) + 4|0);
- $221 = HEAP32[$220>>2]|0;
- $222 = HEAP32[$221>>2]|0;
- _codegen($218,$222,1);
- $223 = $3;
- $224 = ((($223)) + 172|0);
- $225 = HEAP32[$224>>2]|0;
- $226 = (($225) + -1)|0;
- HEAP32[$224>>2] = $226;
- $227 = $3;
- $228 = ((($227)) + 176|0);
- $229 = HEAP32[$228>>2]|0;
- $230 = ($229|0)>(0);
- do {
-  if ($230) {
-   $231 = $3;
-   $232 = ((($231)) + 204|0);
-   $233 = HEAP32[$232>>2]|0;
-   $234 = $3;
-   $235 = ((($234)) + 176|0);
-   $236 = HEAP32[$235>>2]|0;
-   $237 = (($236) - 1)|0;
-   $238 = (($233) + ($237<<2)|0);
-   $239 = HEAP32[$238>>2]|0;
-   $6 = $239;
-   $240 = $6;
-   $241 = $240 & 127;
-   $242 = ($241|0)!=(41);
-   if (!($242)) {
-    $243 = $6;
-    $244 = $243 >>> 14;
-    $245 = $244 & 511;
-    $246 = ($245|0)!=(0);
-    if (!($246)) {
-     $247 = $3;
-     $248 = ((($247)) + 176|0);
-     $249 = HEAP32[$248>>2]|0;
-     $250 = $3;
-     $251 = ((($250)) + 180|0);
-     $252 = HEAP32[$251>>2]|0;
-     $253 = ($249|0)==($252|0);
-     if (!($253)) {
-      break;
-     }
-    }
-   }
-   $254 = $3;
-   $255 = ((($254)) + 234|0);
-   $256 = HEAP16[$255>>1]|0;
-   $257 = $256&65535;
-   $258 = ($257|0)==(0);
-   $259 = $3;
-   if ($258) {
-    (_genop($259,5)|0);
-    $260 = $3;
-    (_genop($260,41)|0);
-    break;
-   } else {
-    $261 = $3;
-    $262 = ((($261)) + 172|0);
-    $263 = HEAP32[$262>>2]|0;
-    $264 = $263 & 511;
-    $265 = $264 << 23;
-    $266 = 41 | $265;
-    (_genop_peep($259,$266,0)|0);
-    break;
-   }
-  }
- } while(0);
- $267 = $5;
- $268 = ($267|0)!=(0);
- if (!($268)) {
-  $270 = $3;
-  _scope_finish($270);
-  $271 = $7;
-  $272 = ((($271)) + 216|0);
-  $273 = HEAP32[$272>>2]|0;
-  $274 = ((($273)) + 52|0);
-  $275 = HEAP32[$274>>2]|0;
-  $276 = (($275) - 1)|0;
-  STACKTOP = sp;return ($276|0);
- }
- $269 = $3;
- _loop_pop($269,0);
- $270 = $3;
- _scope_finish($270);
- $271 = $7;
- $272 = ((($271)) + 216|0);
- $273 = HEAP32[$272>>2]|0;
- $274 = ((($273)) + 52|0);
- $275 = HEAP32[$274>>2]|0;
- $276 = (($275) - 1)|0;
- STACKTOP = sp;return ($276|0);
-}
-function _new_label($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 176|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = $1;
- $6 = ((($5)) + 180|0);
- HEAP32[$6>>2] = $4;
- $7 = $1;
- $8 = ((($7)) + 176|0);
- $9 = HEAP32[$8>>2]|0;
- STACKTOP = sp;return ($9|0);
-}
-function _for_body($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0;
- var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0;
- var $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0;
- var $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0;
- var $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0;
- var $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $2 = $0;
- $3 = $1;
- $9 = $2;
- $4 = $9;
- $10 = $2;
- $11 = $3;
- $12 = ((($11)) + 4|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = HEAP32[$13>>2]|0;
- _codegen($10,$14,1);
- $15 = $2;
- $16 = HEAP32[$15>>2]|0;
- $17 = $2;
- $18 = (_scope_new($16,$17,0)|0);
- $2 = $18;
- $19 = $2;
- $20 = ($19|0)==(0|0);
- if ($20) {
-  $21 = $4;
-  _raise_error($21,69839);
- }
- $22 = $2;
- _push_($22);
- $23 = $2;
- $24 = (_loop_push($23,2)|0);
- $6 = $24;
- $25 = $2;
- $26 = (_new_label($25)|0);
- $27 = $6;
- $28 = ((($27)) + 4|0);
- HEAP32[$28>>2] = $26;
- $29 = $3;
- $30 = HEAP32[$29>>2]|0;
- $7 = $30;
- $31 = $2;
- (_genop($31,33554470)|0);
- $32 = $7;
- $33 = HEAP32[$32>>2]|0;
- $34 = ($33|0)!=(0|0);
- if ($34) {
-  $35 = $7;
-  $36 = HEAP32[$35>>2]|0;
-  $37 = ((($36)) + 4|0);
-  $38 = HEAP32[$37>>2]|0;
-  $39 = ($38|0)!=(0|0);
-  if ($39) {
-   label = 7;
-  } else {
-   $40 = $7;
-   $41 = ((($40)) + 4|0);
-   $42 = HEAP32[$41>>2]|0;
-   $43 = ($42|0)!=(0|0);
-   if ($43) {
-    label = 7;
-   } else {
-    $44 = $2;
-    $45 = $7;
-    $46 = HEAP32[$45>>2]|0;
-    $47 = HEAP32[$46>>2]|0;
-    _gen_assignment($44,$47,1,0);
-   }
-  }
- } else {
-  label = 7;
- }
- if ((label|0) == 7) {
-  $48 = $2;
-  $49 = $7;
-  _gen_vmassignment($48,$49,1,1);
- }
- $50 = $2;
- $51 = $3;
- $52 = ((($51)) + 4|0);
- $53 = HEAP32[$52>>2]|0;
- $54 = ((($53)) + 4|0);
- $55 = HEAP32[$54>>2]|0;
- $56 = HEAP32[$55>>2]|0;
- _codegen($50,$56,1);
- $57 = $2;
- $58 = ((($57)) + 172|0);
- $59 = HEAP32[$58>>2]|0;
- $60 = (($59) + -1)|0;
- HEAP32[$58>>2] = $60;
- $61 = $2;
- $62 = ((($61)) + 176|0);
- $63 = HEAP32[$62>>2]|0;
- $64 = ($63|0)>(0);
- do {
-  if ($64) {
-   $65 = $2;
-   $66 = ((($65)) + 204|0);
-   $67 = HEAP32[$66>>2]|0;
-   $68 = $2;
-   $69 = ((($68)) + 176|0);
-   $70 = HEAP32[$69>>2]|0;
-   $71 = (($70) - 1)|0;
-   $72 = (($67) + ($71<<2)|0);
-   $73 = HEAP32[$72>>2]|0;
-   $8 = $73;
-   $74 = $8;
-   $75 = $74 & 127;
-   $76 = ($75|0)!=(41);
-   if (!($76)) {
-    $77 = $8;
-    $78 = $77 >>> 14;
-    $79 = $78 & 511;
-    $80 = ($79|0)!=(0);
-    if (!($80)) {
-     $81 = $2;
-     $82 = ((($81)) + 176|0);
-     $83 = HEAP32[$82>>2]|0;
-     $84 = $2;
-     $85 = ((($84)) + 180|0);
-     $86 = HEAP32[$85>>2]|0;
-     $87 = ($83|0)==($86|0);
-     if (!($87)) {
-      break;
-     }
-    }
-   }
-   $88 = $2;
-   $89 = $2;
-   $90 = ((($89)) + 172|0);
-   $91 = HEAP32[$90>>2]|0;
-   $92 = $91 & 511;
-   $93 = $92 << 23;
-   $94 = 41 | $93;
-   (_genop_peep($88,$94,0)|0);
-  }
- } while(0);
- $95 = $2;
- _loop_pop($95,0);
- $96 = $2;
- _scope_finish($96);
- $97 = $4;
- $2 = $97;
- $98 = $2;
- $99 = $2;
- $100 = ((($99)) + 172|0);
- $101 = HEAP32[$100>>2]|0;
- $102 = $101 & 511;
- $103 = $102 << 23;
- $104 = 64 | $103;
- $105 = $2;
- $106 = ((($105)) + 216|0);
- $107 = HEAP32[$106>>2]|0;
- $108 = ((($107)) + 52|0);
- $109 = HEAP32[$108>>2]|0;
- $110 = (($109) - 1)|0;
- $111 = $110 & 16383;
- $112 = $111 << 9;
- $113 = $112 | 256;
- $114 = $104 | $113;
- (_genop($98,$114)|0);
- $115 = $2;
- $116 = ((($115)) + 172|0);
- $117 = HEAP32[$116>>2]|0;
- $118 = (($117) + -1)|0;
- HEAP32[$116>>2] = $118;
- $119 = $2;
- $120 = $2;
- $121 = HEAP32[$120>>2]|0;
- $122 = (_mrb_intern_static($121,69856,4)|0);
- $123 = (_new_msym($119,$122)|0);
- $5 = $123;
- $124 = $2;
- $125 = $2;
- $126 = ((($125)) + 172|0);
- $127 = HEAP32[$126>>2]|0;
- $128 = $127 & 511;
- $129 = $128 << 23;
- $130 = 33 | $129;
- $131 = $5;
- $132 = $131 & 511;
- $133 = $132 << 14;
- $134 = $130 | $133;
- (_genop($124,$134)|0);
- STACKTOP = sp;return;
-}
-function _gen_call($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0;
- var $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0;
- var $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0;
- var $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0;
- var $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0;
- var $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0;
- var $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0;
- var $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0;
- var $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0;
- var $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0;
- var $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0;
- var $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0;
- var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
- var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
- var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
- var $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond11 = 0, $or$cond13 = 0, $or$cond15 = 0, $or$cond17 = 0, $or$cond3 = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $16 = sp + 4|0;
- $5 = $0;
- $6 = $1;
- $7 = $2;
- $8 = $3;
- $9 = $4;
- $18 = $7;
- $19 = ($18|0)!=(0);
- if ($19) {
-  $20 = $7;
-  $26 = $20;
- } else {
-  $21 = $6;
-  $22 = ((($21)) + 4|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = HEAP32[$23>>2]|0;
-  $25 = $24;
-  $26 = $25;
- }
- $10 = $26;
- $12 = 0;
- $13 = 0;
- $14 = 0;
- $15 = 0;
- $27 = $5;
- $28 = $6;
- $29 = HEAP32[$28>>2]|0;
- _codegen($27,$29,1);
- $30 = $5;
- $31 = $10;
- $32 = (_new_msym($30,$31)|0);
- $11 = $32;
- $33 = $6;
- $34 = ((($33)) + 4|0);
- $35 = HEAP32[$34>>2]|0;
- $36 = ((($35)) + 4|0);
- $37 = HEAP32[$36>>2]|0;
- $38 = HEAP32[$37>>2]|0;
- $6 = $38;
- $39 = $6;
- $40 = ($39|0)!=(0|0);
- if ($40) {
-  $41 = $5;
-  $42 = $6;
-  $43 = HEAP32[$42>>2]|0;
-  $44 = (_gen_values($41,$43,1)|0);
-  $12 = $44;
-  $45 = $12;
-  $46 = ($45|0)<(0);
-  if ($46) {
-   $14 = 1;
-   $13 = 1;
-   $12 = 1;
-   $47 = $5;
-   _push_($47);
-  }
- }
- $48 = $8;
- $49 = ($48|0)!=(0);
- do {
-  if ($49) {
-   $50 = $14;
-   $51 = ($50|0)!=(0);
-   $52 = $5;
-   if ($51) {
-    $53 = ((($52)) + 172|0);
-    $54 = HEAP32[$53>>2]|0;
-    $55 = (($54) + -1)|0;
-    HEAP32[$53>>2] = $55;
-    $56 = $5;
-    $57 = $5;
-    $58 = ((($57)) + 172|0);
-    $59 = HEAP32[$58>>2]|0;
-    $60 = $59 & 511;
-    $61 = $60 << 23;
-    $62 = 57 | $61;
-    $63 = $8;
-    $64 = $63 & 511;
-    $65 = $64 << 14;
-    $66 = $62 | $65;
-    (_genop($56,$66)|0);
-    $67 = $5;
-    _push_($67);
-    break;
-   } else {
-    $68 = $5;
-    $69 = ((($68)) + 172|0);
-    $70 = HEAP32[$69>>2]|0;
-    $71 = $70 & 511;
-    $72 = $71 << 23;
-    $73 = 1 | $72;
-    $74 = $8;
-    $75 = $74 & 511;
-    $76 = $75 << 14;
-    $77 = $73 | $76;
-    (_genop($52,$77)|0);
-    $78 = $5;
-    _push_($78);
-    $79 = $12;
-    $80 = (($79) + 1)|0;
-    $12 = $80;
-    break;
-   }
-  }
- } while(0);
- $81 = $6;
- $82 = ($81|0)!=(0|0);
- if ($82) {
-  $83 = $6;
-  $84 = ((($83)) + 4|0);
-  $85 = HEAP32[$84>>2]|0;
-  $86 = ($85|0)!=(0|0);
-  if ($86) {
-   $13 = 1;
-   $87 = $5;
-   $88 = $6;
-   $89 = ((($88)) + 4|0);
-   $90 = HEAP32[$89>>2]|0;
-   _codegen($87,$90,1);
-   $91 = $5;
-   $92 = ((($91)) + 172|0);
-   $93 = HEAP32[$92>>2]|0;
-   $94 = (($93) + -1)|0;
-   HEAP32[$92>>2] = $94;
-  } else {
-   label = 14;
-  }
- } else {
-  label = 14;
- }
- if ((label|0) == 14) {
-  $95 = $5;
-  $96 = ((($95)) + 172|0);
-  $97 = HEAP32[$96>>2]|0;
-  $15 = $97;
- }
- $98 = $5;
- _push_($98);
- $99 = $5;
- $100 = ((($99)) + 172|0);
- $101 = HEAP32[$100>>2]|0;
- $102 = (($101) + -1)|0;
- HEAP32[$100>>2] = $102;
- $103 = $12;
- $104 = (($103) + 1)|0;
- $105 = $5;
- $106 = ((($105)) + 172|0);
- $107 = HEAP32[$106>>2]|0;
- $108 = (($107) - ($104))|0;
- HEAP32[$106>>2] = $108;
- $109 = $5;
- $110 = HEAP32[$109>>2]|0;
- $111 = $10;
- $112 = (_mrb_sym2name_len($110,$111,$16)|0);
- $17 = $112;
- $113 = $13;
- $114 = ($113|0)==(0);
- $115 = HEAP32[$16>>2]|0;
- $116 = ($115|0)==(1);
- $or$cond = $114 & $116;
- if ($or$cond) {
-  $117 = $17;
-  $118 = HEAP8[$117>>0]|0;
-  $119 = $118 << 24 >> 24;
-  $120 = ($119|0)==(43);
-  if ($120) {
-   $121 = $5;
-   $122 = $5;
-   $123 = ((($122)) + 172|0);
-   $124 = HEAP32[$123>>2]|0;
-   $125 = $124 & 511;
-   $126 = $125 << 23;
-   $127 = 44 | $126;
-   $128 = $11;
-   $129 = $128 & 511;
-   $130 = $129 << 14;
-   $131 = $127 | $130;
-   $132 = $12;
-   $133 = $132 & 127;
-   $134 = $133 << 7;
-   $135 = $131 | $134;
-   $136 = $9;
-   (_genop_peep($121,$135,$136)|0);
-  } else {
-   label = 18;
-  }
- } else {
-  label = 18;
- }
- do {
-  if ((label|0) == 18) {
-   $137 = $13;
-   $138 = ($137|0)==(0);
-   $139 = HEAP32[$16>>2]|0;
-   $140 = ($139|0)==(1);
-   $or$cond3 = $138 & $140;
-   if ($or$cond3) {
-    $141 = $17;
-    $142 = HEAP8[$141>>0]|0;
-    $143 = $142 << 24 >> 24;
-    $144 = ($143|0)==(45);
-    if ($144) {
-     $145 = $5;
-     $146 = $5;
-     $147 = ((($146)) + 172|0);
-     $148 = HEAP32[$147>>2]|0;
-     $149 = $148 & 511;
-     $150 = $149 << 23;
-     $151 = 46 | $150;
-     $152 = $11;
-     $153 = $152 & 511;
-     $154 = $153 << 14;
-     $155 = $151 | $154;
-     $156 = $12;
-     $157 = $156 & 127;
-     $158 = $157 << 7;
-     $159 = $155 | $158;
-     $160 = $9;
-     (_genop_peep($145,$159,$160)|0);
-     break;
-    }
-   }
-   $161 = $13;
-   $162 = ($161|0)==(0);
-   $163 = HEAP32[$16>>2]|0;
-   $164 = ($163|0)==(1);
-   $or$cond5 = $162 & $164;
-   if ($or$cond5) {
-    $165 = $17;
-    $166 = HEAP8[$165>>0]|0;
-    $167 = $166 << 24 >> 24;
-    $168 = ($167|0)==(42);
-    if ($168) {
-     $169 = $5;
-     $170 = $5;
-     $171 = ((($170)) + 172|0);
-     $172 = HEAP32[$171>>2]|0;
-     $173 = $172 & 511;
-     $174 = $173 << 23;
-     $175 = 48 | $174;
-     $176 = $11;
-     $177 = $176 & 511;
-     $178 = $177 << 14;
-     $179 = $175 | $178;
-     $180 = $12;
-     $181 = $180 & 127;
-     $182 = $181 << 7;
-     $183 = $179 | $182;
-     (_genop($169,$183)|0);
-     break;
-    }
-   }
-   $184 = $13;
-   $185 = ($184|0)==(0);
-   $186 = HEAP32[$16>>2]|0;
-   $187 = ($186|0)==(1);
-   $or$cond7 = $185 & $187;
-   if ($or$cond7) {
-    $188 = $17;
-    $189 = HEAP8[$188>>0]|0;
-    $190 = $189 << 24 >> 24;
-    $191 = ($190|0)==(47);
-    if ($191) {
-     $192 = $5;
-     $193 = $5;
-     $194 = ((($193)) + 172|0);
-     $195 = HEAP32[$194>>2]|0;
-     $196 = $195 & 511;
-     $197 = $196 << 23;
-     $198 = 49 | $197;
-     $199 = $11;
-     $200 = $199 & 511;
-     $201 = $200 << 14;
-     $202 = $198 | $201;
-     $203 = $12;
-     $204 = $203 & 127;
-     $205 = $204 << 7;
-     $206 = $202 | $205;
-     (_genop($192,$206)|0);
-     break;
-    }
-   }
-   $207 = $13;
-   $208 = ($207|0)==(0);
-   $209 = HEAP32[$16>>2]|0;
-   $210 = ($209|0)==(1);
-   $or$cond9 = $208 & $210;
-   if ($or$cond9) {
-    $211 = $17;
-    $212 = HEAP8[$211>>0]|0;
-    $213 = $212 << 24 >> 24;
-    $214 = ($213|0)==(60);
-    if ($214) {
-     $215 = $5;
-     $216 = $5;
-     $217 = ((($216)) + 172|0);
-     $218 = HEAP32[$217>>2]|0;
-     $219 = $218 & 511;
-     $220 = $219 << 23;
-     $221 = 51 | $220;
-     $222 = $11;
-     $223 = $222 & 511;
-     $224 = $223 << 14;
-     $225 = $221 | $224;
-     $226 = $12;
-     $227 = $226 & 127;
-     $228 = $227 << 7;
-     $229 = $225 | $228;
-     (_genop($215,$229)|0);
-     break;
-    }
-   }
-   $230 = $13;
-   $231 = ($230|0)==(0);
-   $232 = HEAP32[$16>>2]|0;
-   $233 = ($232|0)==(2);
-   $or$cond11 = $231 & $233;
-   if ($or$cond11) {
-    $234 = $17;
-    $235 = HEAP8[$234>>0]|0;
-    $236 = $235 << 24 >> 24;
-    $237 = ($236|0)==(60);
-    if ($237) {
-     $238 = $17;
-     $239 = ((($238)) + 1|0);
-     $240 = HEAP8[$239>>0]|0;
-     $241 = $240 << 24 >> 24;
-     $242 = ($241|0)==(61);
-     if ($242) {
-      $243 = $5;
-      $244 = $5;
-      $245 = ((($244)) + 172|0);
-      $246 = HEAP32[$245>>2]|0;
-      $247 = $246 & 511;
-      $248 = $247 << 23;
-      $249 = 52 | $248;
-      $250 = $11;
-      $251 = $250 & 511;
-      $252 = $251 << 14;
-      $253 = $249 | $252;
-      $254 = $12;
-      $255 = $254 & 127;
-      $256 = $255 << 7;
-      $257 = $253 | $256;
-      (_genop($243,$257)|0);
-      break;
-     }
-    }
-   }
-   $258 = $13;
-   $259 = ($258|0)==(0);
-   $260 = HEAP32[$16>>2]|0;
-   $261 = ($260|0)==(1);
-   $or$cond13 = $259 & $261;
-   if ($or$cond13) {
-    $262 = $17;
-    $263 = HEAP8[$262>>0]|0;
-    $264 = $263 << 24 >> 24;
-    $265 = ($264|0)==(62);
-    if ($265) {
-     $266 = $5;
-     $267 = $5;
-     $268 = ((($267)) + 172|0);
-     $269 = HEAP32[$268>>2]|0;
-     $270 = $269 & 511;
-     $271 = $270 << 23;
-     $272 = 53 | $271;
-     $273 = $11;
-     $274 = $273 & 511;
-     $275 = $274 << 14;
-     $276 = $272 | $275;
-     $277 = $12;
-     $278 = $277 & 127;
-     $279 = $278 << 7;
-     $280 = $276 | $279;
-     (_genop($266,$280)|0);
-     break;
-    }
-   }
-   $281 = $13;
-   $282 = ($281|0)==(0);
-   $283 = HEAP32[$16>>2]|0;
-   $284 = ($283|0)==(2);
-   $or$cond15 = $282 & $284;
-   if ($or$cond15) {
-    $285 = $17;
-    $286 = HEAP8[$285>>0]|0;
-    $287 = $286 << 24 >> 24;
-    $288 = ($287|0)==(62);
-    if ($288) {
-     $289 = $17;
-     $290 = ((($289)) + 1|0);
-     $291 = HEAP8[$290>>0]|0;
-     $292 = $291 << 24 >> 24;
-     $293 = ($292|0)==(61);
-     if ($293) {
-      $294 = $5;
-      $295 = $5;
-      $296 = ((($295)) + 172|0);
-      $297 = HEAP32[$296>>2]|0;
-      $298 = $297 & 511;
-      $299 = $298 << 23;
-      $300 = 54 | $299;
-      $301 = $11;
-      $302 = $301 & 511;
-      $303 = $302 << 14;
-      $304 = $300 | $303;
-      $305 = $12;
-      $306 = $305 & 127;
-      $307 = $306 << 7;
-      $308 = $304 | $307;
-      (_genop($294,$308)|0);
-      break;
-     }
-    }
-   }
-   $309 = $13;
-   $310 = ($309|0)==(0);
-   $311 = HEAP32[$16>>2]|0;
-   $312 = ($311|0)==(2);
-   $or$cond17 = $310 & $312;
-   if ($or$cond17) {
-    $313 = $17;
-    $314 = HEAP8[$313>>0]|0;
-    $315 = $314 << 24 >> 24;
-    $316 = ($315|0)==(61);
-    if ($316) {
-     $317 = $17;
-     $318 = ((($317)) + 1|0);
-     $319 = HEAP8[$318>>0]|0;
-     $320 = $319 << 24 >> 24;
-     $321 = ($320|0)==(61);
-     if ($321) {
-      $322 = $5;
-      $323 = $5;
-      $324 = ((($323)) + 172|0);
-      $325 = HEAP32[$324>>2]|0;
-      $326 = $325 & 511;
-      $327 = $326 << 23;
-      $328 = 50 | $327;
-      $329 = $11;
-      $330 = $329 & 511;
-      $331 = $330 << 14;
-      $332 = $328 | $331;
-      $333 = $12;
-      $334 = $333 & 127;
-      $335 = $334 << 7;
-      $336 = $332 | $335;
-      (_genop($322,$336)|0);
-      break;
-     }
-    }
-   }
-   $337 = $14;
-   $338 = ($337|0)!=(0);
-   if ($338) {
-    $12 = 127;
-   }
-   $339 = $15;
-   $340 = ($339|0)>(0);
-   $341 = $5;
-   $342 = $5;
-   $343 = ((($342)) + 172|0);
-   $344 = HEAP32[$343>>2]|0;
-   $345 = $344 & 511;
-   $346 = $345 << 23;
-   if ($340) {
-    $347 = 32 | $346;
-    $348 = $11;
-    $349 = $348 & 511;
-    $350 = $349 << 14;
-    $351 = $347 | $350;
-    $352 = $12;
-    $353 = $352 & 127;
-    $354 = $353 << 7;
-    $355 = $351 | $354;
-    (_genop($341,$355)|0);
-    break;
-   } else {
-    $356 = 33 | $346;
-    $357 = $11;
-    $358 = $357 & 511;
-    $359 = $358 << 14;
-    $360 = $356 | $359;
-    $361 = $12;
-    $362 = $361 & 127;
-    $363 = $362 << 7;
-    $364 = $360 | $363;
-    (_genop($341,$364)|0);
-    break;
-   }
-  }
- } while(0);
- $365 = $9;
- $366 = ($365|0)!=(0);
- if (!($366)) {
-  STACKTOP = sp;return;
- }
- $367 = $5;
- _push_($367);
- STACKTOP = sp;return;
-}
-function _new_sym_1167($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = 0;
- while(1) {
-  $6 = $5;
-  $7 = $3;
-  $8 = ((($7)) + 216|0);
-  $9 = HEAP32[$8>>2]|0;
-  $10 = ((($9)) + 48|0);
-  $11 = HEAP32[$10>>2]|0;
-  $12 = ($6>>>0)<($11>>>0);
-  $13 = $3;
-  $14 = ((($13)) + 216|0);
-  $15 = HEAP32[$14>>2]|0;
-  if (!($12)) {
-   break;
-  }
-  $16 = ((($15)) + 16|0);
-  $17 = HEAP32[$16>>2]|0;
-  $18 = $5;
-  $19 = (($17) + ($18<<2)|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = $4;
-  $22 = ($20|0)==($21|0);
-  $23 = $5;
-  if ($22) {
-   label = 4;
-   break;
-  }
-  $24 = (($23) + 1)|0;
-  $5 = $24;
- }
- if ((label|0) == 4) {
-  $2 = $23;
-  $87 = $2;
-  STACKTOP = sp;return ($87|0);
- }
- $25 = ((($15)) + 48|0);
- $26 = HEAP32[$25>>2]|0;
- $27 = ($26>>>0)>(125);
- if ($27) {
-  $28 = $3;
-  $29 = ((($28)) + 216|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = ((($30)) + 48|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = ($32>>>0)<(256);
-  if ($33) {
-   $34 = $3;
-   $35 = $3;
-   $36 = ((($35)) + 216|0);
-   $37 = HEAP32[$36>>2]|0;
-   $38 = ((($37)) + 16|0);
-   $39 = HEAP32[$38>>2]|0;
-   $40 = (_codegen_realloc($34,$39,262144)|0);
-   $41 = $3;
-   $42 = ((($41)) + 216|0);
-   $43 = HEAP32[$42>>2]|0;
-   $44 = ((($43)) + 16|0);
-   HEAP32[$44>>2] = $40;
-   $5 = 0;
-   while(1) {
-    $45 = $5;
-    $46 = $3;
-    $47 = ((($46)) + 216|0);
-    $48 = HEAP32[$47>>2]|0;
-    $49 = ((($48)) + 48|0);
-    $50 = HEAP32[$49>>2]|0;
-    $51 = (256 - ($50))|0;
-    $52 = ($45>>>0)<($51>>>0);
-    $53 = $3;
-    $54 = ((($53)) + 216|0);
-    $55 = HEAP32[$54>>2]|0;
-    if (!($52)) {
-     break;
-    }
-    $56 = ((($55)) + 16|0);
-    $57 = HEAP32[$56>>2]|0;
-    $58 = $5;
-    $59 = $3;
-    $60 = ((($59)) + 216|0);
-    $61 = HEAP32[$60>>2]|0;
-    $62 = ((($61)) + 48|0);
-    $63 = HEAP32[$62>>2]|0;
-    $64 = (($58) + ($63))|0;
-    $65 = (($57) + ($64<<2)|0);
-    HEAP32[$65>>2] = 0;
-    $66 = $5;
-    $67 = (($66) + 1)|0;
-    $5 = $67;
-   }
-   $68 = ((($55)) + 48|0);
-   HEAP32[$68>>2] = 256;
-  }
- }
- $69 = $4;
- $70 = $3;
- $71 = ((($70)) + 216|0);
- $72 = HEAP32[$71>>2]|0;
- $73 = ((($72)) + 16|0);
- $74 = HEAP32[$73>>2]|0;
- $75 = $3;
- $76 = ((($75)) + 216|0);
- $77 = HEAP32[$76>>2]|0;
- $78 = ((($77)) + 48|0);
- $79 = HEAP32[$78>>2]|0;
- $80 = (($74) + ($79<<2)|0);
- HEAP32[$80>>2] = $69;
- $81 = $3;
- $82 = ((($81)) + 216|0);
- $83 = HEAP32[$82>>2]|0;
- $84 = ((($83)) + 48|0);
- $85 = HEAP32[$84>>2]|0;
- $86 = (($85) + 1)|0;
- HEAP32[$84>>2] = $86;
- $2 = $85;
- $87 = $2;
- STACKTOP = sp;return ($87|0);
-}
-function _gen_values($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0;
- var $154 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
- var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
- var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
- var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
- var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = 0;
- while(1) {
-  $9 = $5;
-  $10 = ($9|0)!=(0|0);
-  if (!($10)) {
-   label = 19;
-   break;
-  }
-  $11 = $5;
-  $12 = HEAP32[$11>>2]|0;
-  $13 = HEAP32[$12>>2]|0;
-  $14 = $13;
-  $15 = ($14|0)==(66);
-  $16 = $15&1;
-  $8 = $16;
-  $17 = $7;
-  $18 = ($17|0)>=(127);
-  $19 = $8;
-  $20 = ($19|0)!=(0);
-  $or$cond = $18 | $20;
-  if ($or$cond) {
-   break;
-  }
-  $144 = $4;
-  $145 = $5;
-  $146 = HEAP32[$145>>2]|0;
-  $147 = $6;
-  _codegen($144,$146,$147);
-  $148 = $7;
-  $149 = (($148) + 1)|0;
-  $7 = $149;
-  $150 = $5;
-  $151 = ((($150)) + 4|0);
-  $152 = HEAP32[$151>>2]|0;
-  $5 = $152;
- }
- if ((label|0) == 19) {
-  $153 = $7;
-  $3 = $153;
-  $154 = $3;
-  STACKTOP = sp;return ($154|0);
- }
- $21 = $6;
- $22 = ($21|0)!=(0);
- L9: do {
-  if ($22) {
-   $23 = $7;
-   $24 = $4;
-   $25 = ((($24)) + 172|0);
-   $26 = HEAP32[$25>>2]|0;
-   $27 = (($26) - ($23))|0;
-   HEAP32[$25>>2] = $27;
-   $28 = $4;
-   $29 = $4;
-   $30 = ((($29)) + 172|0);
-   $31 = HEAP32[$30>>2]|0;
-   $32 = $31 & 511;
-   $33 = $32 << 23;
-   $34 = 55 | $33;
-   $35 = $4;
-   $36 = ((($35)) + 172|0);
-   $37 = HEAP32[$36>>2]|0;
-   $38 = $37 & 511;
-   $39 = $38 << 14;
-   $40 = $34 | $39;
-   $41 = $7;
-   $42 = $41 & 127;
-   $43 = $42 << 7;
-   $44 = $40 | $43;
-   (_genop($28,$44)|0);
-   $45 = $4;
-   _push_($45);
-   $46 = $4;
-   $47 = $5;
-   $48 = HEAP32[$47>>2]|0;
-   _codegen($46,$48,1);
-   $49 = $4;
-   $50 = ((($49)) + 172|0);
-   $51 = HEAP32[$50>>2]|0;
-   $52 = (($51) + -1)|0;
-   HEAP32[$50>>2] = $52;
-   $53 = $4;
-   $54 = ((($53)) + 172|0);
-   $55 = HEAP32[$54>>2]|0;
-   $56 = (($55) + -1)|0;
-   HEAP32[$54>>2] = $56;
-   $57 = $8;
-   $58 = ($57|0)!=(0);
-   $59 = $4;
-   $60 = $4;
-   $61 = ((($60)) + 172|0);
-   $62 = HEAP32[$61>>2]|0;
-   $63 = $62 & 511;
-   $64 = $63 << 23;
-   if ($58) {
-    $65 = 56 | $64;
-    $66 = $4;
-    $67 = ((($66)) + 172|0);
-    $68 = HEAP32[$67>>2]|0;
-    $69 = (($68) + 1)|0;
-    $70 = $69 & 511;
-    $71 = $70 << 14;
-    $72 = $65 | $71;
-    (_genop($59,$72)|0);
-   } else {
-    $73 = 57 | $64;
-    $74 = $4;
-    $75 = ((($74)) + 172|0);
-    $76 = HEAP32[$75>>2]|0;
-    $77 = (($76) + 1)|0;
-    $78 = $77 & 511;
-    $79 = $78 << 14;
-    $80 = $73 | $79;
-    (_genop($59,$80)|0);
-   }
-   $81 = $5;
-   $82 = ((($81)) + 4|0);
-   $83 = HEAP32[$82>>2]|0;
-   $5 = $83;
-   while(1) {
-    $84 = $5;
-    $85 = ($84|0)!=(0|0);
-    if (!($85)) {
-     break L9;
-    }
-    $86 = $4;
-    _push_($86);
-    $87 = $4;
-    $88 = $5;
-    $89 = HEAP32[$88>>2]|0;
-    _codegen($87,$89,1);
-    $90 = $4;
-    $91 = ((($90)) + 172|0);
-    $92 = HEAP32[$91>>2]|0;
-    $93 = (($92) + -1)|0;
-    HEAP32[$91>>2] = $93;
-    $94 = $4;
-    $95 = ((($94)) + 172|0);
-    $96 = HEAP32[$95>>2]|0;
-    $97 = (($96) + -1)|0;
-    HEAP32[$95>>2] = $97;
-    $98 = $5;
-    $99 = HEAP32[$98>>2]|0;
-    $100 = HEAP32[$99>>2]|0;
-    $101 = $100;
-    $102 = ($101|0)==(66);
-    $103 = $4;
-    $104 = $4;
-    $105 = ((($104)) + 172|0);
-    $106 = HEAP32[$105>>2]|0;
-    $107 = $106 & 511;
-    $108 = $107 << 23;
-    if ($102) {
-     $109 = 56 | $108;
-     $110 = $4;
-     $111 = ((($110)) + 172|0);
-     $112 = HEAP32[$111>>2]|0;
-     $113 = (($112) + 1)|0;
-     $114 = $113 & 511;
-     $115 = $114 << 14;
-     $116 = $109 | $115;
-     (_genop($103,$116)|0);
-    } else {
-     $117 = 57 | $108;
-     $118 = $4;
-     $119 = ((($118)) + 172|0);
-     $120 = HEAP32[$119>>2]|0;
-     $121 = (($120) + 1)|0;
-     $122 = $121 & 511;
-     $123 = $122 << 14;
-     $124 = $117 | $123;
-     (_genop($103,$124)|0);
-    }
-    $125 = $5;
-    $126 = ((($125)) + 4|0);
-    $127 = HEAP32[$126>>2]|0;
-    $5 = $127;
-   }
-  } else {
-   $128 = $4;
-   $129 = $5;
-   $130 = HEAP32[$129>>2]|0;
-   $131 = ((($130)) + 4|0);
-   $132 = HEAP32[$131>>2]|0;
-   _codegen($128,$132,0);
-   $133 = $5;
-   $134 = ((($133)) + 4|0);
-   $135 = HEAP32[$134>>2]|0;
-   $5 = $135;
-   while(1) {
-    $136 = $5;
-    $137 = ($136|0)!=(0|0);
-    if (!($137)) {
-     break L9;
-    }
-    $138 = $4;
-    $139 = $5;
-    $140 = HEAP32[$139>>2]|0;
-    _codegen($138,$140,0);
-    $141 = $5;
-    $142 = ((($141)) + 4|0);
-    $143 = HEAP32[$142>>2]|0;
-    $5 = $143;
-   }
-  }
- } while(0);
- $3 = -1;
- $154 = $3;
- STACKTOP = sp;return ($154|0);
-}
-function _nosplat($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- while(1) {
-  $3 = $2;
-  $4 = ($3|0)!=(0|0);
-  if (!($4)) {
-   label = 6;
-   break;
-  }
-  $5 = $2;
-  $6 = HEAP32[$5>>2]|0;
-  $7 = HEAP32[$6>>2]|0;
-  $8 = $7;
-  $9 = ($8|0)==(66);
-  if ($9) {
-   label = 4;
-   break;
-  }
-  $10 = $2;
-  $11 = ((($10)) + 4|0);
-  $12 = HEAP32[$11>>2]|0;
-  $2 = $12;
- }
- if ((label|0) == 4) {
-  $1 = 0;
-  $13 = $1;
-  STACKTOP = sp;return ($13|0);
- }
- else if ((label|0) == 6) {
-  $1 = 1;
-  $13 = $1;
-  STACKTOP = sp;return ($13|0);
- }
- return (0)|0;
-}
-function _gen_vmassignment($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0;
- var $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0;
- var $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0;
- var $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $8 = 0;
- $9 = 0;
- $12 = $5;
- $13 = HEAP32[$12>>2]|0;
- $14 = ($13|0)!=(0|0);
- L1: do {
-  if ($14) {
-   $15 = $5;
-   $16 = HEAP32[$15>>2]|0;
-   $10 = $16;
-   $8 = 0;
-   while(1) {
-    $17 = $10;
-    $18 = ($17|0)!=(0|0);
-    if (!($18)) {
-     break L1;
-    }
-    $19 = $4;
-    $20 = $4;
-    $21 = ((($20)) + 172|0);
-    $22 = HEAP32[$21>>2]|0;
-    $23 = $22 & 511;
-    $24 = $23 << 23;
-    $25 = 58 | $24;
-    $26 = $6;
-    $27 = $26 & 511;
-    $28 = $27 << 14;
-    $29 = $25 | $28;
-    $30 = $8;
-    $31 = $30 & 127;
-    $32 = $31 << 7;
-    $33 = $29 | $32;
-    (_genop($19,$33)|0);
-    $34 = $4;
-    $35 = $10;
-    $36 = HEAP32[$35>>2]|0;
-    $37 = $4;
-    $38 = ((($37)) + 172|0);
-    $39 = HEAP32[$38>>2]|0;
-    _gen_assignment($34,$36,$39,0);
-    $40 = $8;
-    $41 = (($40) + 1)|0;
-    $8 = $41;
-    $42 = $10;
-    $43 = ((($42)) + 4|0);
-    $44 = HEAP32[$43>>2]|0;
-    $10 = $44;
-   }
-  }
- } while(0);
- $45 = $5;
- $46 = ((($45)) + 4|0);
- $47 = HEAP32[$46>>2]|0;
- $10 = $47;
- $48 = $10;
- $49 = ($48|0)!=(0|0);
- if (!($49)) {
-  STACKTOP = sp;return;
- }
- $50 = $10;
- $51 = ((($50)) + 4|0);
- $52 = HEAP32[$51>>2]|0;
- $53 = ($52|0)!=(0|0);
- L10: do {
-  if ($53) {
-   $54 = $10;
-   $55 = ((($54)) + 4|0);
-   $56 = HEAP32[$55>>2]|0;
-   $57 = HEAP32[$56>>2]|0;
-   $11 = $57;
-   while(1) {
-    $58 = $11;
-    $59 = ($58|0)!=(0|0);
-    if (!($59)) {
-     break L10;
-    }
-    $60 = $9;
-    $61 = (($60) + 1)|0;
-    $9 = $61;
-    $62 = $11;
-    $63 = ((($62)) + 4|0);
-    $64 = HEAP32[$63>>2]|0;
-    $11 = $64;
-   }
-  }
- } while(0);
- $65 = $7;
- $66 = ($65|0)!=(0);
- $67 = $4;
- if ($66) {
-  $68 = $4;
-  $69 = ((($68)) + 172|0);
-  $70 = HEAP32[$69>>2]|0;
-  $71 = $70 & 511;
-  $72 = $71 << 23;
-  $73 = 1 | $72;
-  $74 = $6;
-  $75 = $74 & 511;
-  $76 = $75 << 14;
-  $77 = $73 | $76;
-  (_genop($67,$77)|0);
- } else {
-  $78 = ((($67)) + 172|0);
-  $79 = HEAP32[$78>>2]|0;
-  $80 = (($79) + -1)|0;
-  HEAP32[$78>>2] = $80;
- }
- $81 = $4;
- $82 = $9;
- _push_n_($81,$82);
- $83 = $9;
- $84 = $4;
- $85 = ((($84)) + 172|0);
- $86 = HEAP32[$85>>2]|0;
- $87 = (($86) - ($83))|0;
- HEAP32[$85>>2] = $87;
- $88 = $4;
- $89 = $4;
- $90 = ((($89)) + 172|0);
- $91 = HEAP32[$90>>2]|0;
- $92 = $91 & 511;
- $93 = $92 << 23;
- $94 = 60 | $93;
- $95 = $8;
- $96 = $95 & 511;
- $97 = $96 << 14;
- $98 = $94 | $97;
- $99 = $9;
- $100 = $99 & 127;
- $101 = $100 << 7;
- $102 = $98 | $101;
- (_genop($88,$102)|0);
- $8 = 1;
- $103 = $10;
- $104 = HEAP32[$103>>2]|0;
- $105 = ($104|0)!=(0|0);
- if ($105) {
-  $106 = $4;
-  $107 = $10;
-  $108 = HEAP32[$107>>2]|0;
-  $109 = $4;
-  $110 = ((($109)) + 172|0);
-  $111 = HEAP32[$110>>2]|0;
-  _gen_assignment($106,$108,$111,0);
- }
- $112 = $10;
- $113 = ((($112)) + 4|0);
- $114 = HEAP32[$113>>2]|0;
- $115 = ($114|0)!=(0|0);
- L23: do {
-  if ($115) {
-   $116 = $10;
-   $117 = ((($116)) + 4|0);
-   $118 = HEAP32[$117>>2]|0;
-   $119 = HEAP32[$118>>2]|0;
-   $120 = ($119|0)!=(0|0);
-   if ($120) {
-    $121 = $10;
-    $122 = ((($121)) + 4|0);
-    $123 = HEAP32[$122>>2]|0;
-    $124 = HEAP32[$123>>2]|0;
-    $10 = $124;
-    while(1) {
-     $125 = $10;
-     $126 = ($125|0)!=(0|0);
-     if (!($126)) {
-      break L23;
-     }
-     $127 = $4;
-     $128 = $10;
-     $129 = HEAP32[$128>>2]|0;
-     $130 = $4;
-     $131 = ((($130)) + 172|0);
-     $132 = HEAP32[$131>>2]|0;
-     $133 = $8;
-     $134 = (($132) + ($133))|0;
-     _gen_assignment($127,$129,$134,0);
-     $135 = $10;
-     $136 = ((($135)) + 4|0);
-     $137 = HEAP32[$136>>2]|0;
-     $10 = $137;
-     $138 = $8;
-     $139 = (($138) + 1)|0;
-     $8 = $139;
-    }
-   }
-  }
- } while(0);
- $140 = $4;
- _push_($140);
- STACKTOP = sp;return;
-}
-function _loop_break($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
- var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
- var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
- var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
- var $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $6 = $2;
- $7 = ((($6)) + 188|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($8|0)!=(0|0);
- if (!($9)) {
-  $10 = $2;
-  $11 = $3;
-  _codegen($10,$11,0);
-  $12 = $2;
-  _raise_error($12,69799);
-  STACKTOP = sp;return;
- }
- $13 = $3;
- $14 = ($13|0)!=(0|0);
- if ($14) {
-  $15 = $2;
-  $16 = $3;
-  _codegen($15,$16,1);
-  $17 = $2;
-  $18 = ((($17)) + 172|0);
-  $19 = HEAP32[$18>>2]|0;
-  $20 = (($19) + -1)|0;
-  HEAP32[$18>>2] = $20;
- }
- $21 = $2;
- $22 = ((($21)) + 188|0);
- $23 = HEAP32[$22>>2]|0;
- $4 = $23;
- while(1) {
-  $24 = $4;
-  $25 = ($24|0)!=(0|0);
-  if (!($25)) {
-   break;
-  }
-  $26 = $4;
-  $27 = HEAP32[$26>>2]|0;
-  $28 = ($27|0)==(3);
-  if (!($28)) {
-   break;
-  }
-  $29 = $2;
-  (_genop_peep($29,8388636,0)|0);
-  $30 = $4;
-  $31 = ((($30)) + 24|0);
-  $32 = HEAP32[$31>>2]|0;
-  $4 = $32;
- }
- while(1) {
-  $33 = $4;
-  $34 = ($33|0)!=(0|0);
-  if ($34) {
-   $35 = $4;
-   $36 = HEAP32[$35>>2]|0;
-   $37 = ($36|0)==(4);
-   $102 = $37;
-  } else {
-   $102 = 0;
-  }
-  $38 = $4;
-  if (!($102)) {
-   break;
-  }
-  $39 = ((($38)) + 24|0);
-  $40 = HEAP32[$39>>2]|0;
-  $4 = $40;
- }
- $41 = ($38|0)!=(0|0);
- if (!($41)) {
-  $42 = $2;
-  _codegen_error($42,69799);
- }
- $43 = $4;
- $44 = HEAP32[$43>>2]|0;
- $45 = ($44|0)==(0);
- $46 = $2;
- if (!($45)) {
-  $95 = $2;
-  $96 = ((($95)) + 172|0);
-  $97 = HEAP32[$96>>2]|0;
-  $98 = $97 & 511;
-  $99 = $98 << 23;
-  $100 = 41 | $99;
-  $101 = $100 | 16384;
-  (_genop($46,$101)|0);
-  STACKTOP = sp;return;
- }
- $47 = ((($46)) + 192|0);
- $48 = HEAP32[$47>>2]|0;
- $49 = $2;
- $50 = ((($49)) + 188|0);
- $51 = HEAP32[$50>>2]|0;
- $52 = ((($51)) + 20|0);
- $53 = HEAP32[$52>>2]|0;
- $54 = ($48|0)>($53|0);
- if ($54) {
-  $55 = $2;
-  $56 = $2;
-  $57 = ((($56)) + 192|0);
-  $58 = HEAP32[$57>>2]|0;
-  $59 = $2;
-  $60 = ((($59)) + 188|0);
-  $61 = HEAP32[$60>>2]|0;
-  $62 = ((($61)) + 20|0);
-  $63 = HEAP32[$62>>2]|0;
-  $64 = (($58) - ($63))|0;
-  $65 = $64 & 511;
-  $66 = $65 << 23;
-  $67 = 31 | $66;
-  (_genop_peep($55,$67,0)|0);
- }
- $68 = $3;
- $69 = ($68|0)!=(0|0);
- if ($69) {
-  $70 = $2;
-  $71 = $4;
-  $72 = ((($71)) + 16|0);
-  $73 = HEAP32[$72>>2]|0;
-  $74 = $73 & 511;
-  $75 = $74 << 23;
-  $76 = 1 | $75;
-  $77 = $2;
-  $78 = ((($77)) + 172|0);
-  $79 = HEAP32[$78>>2]|0;
-  $80 = $79 & 511;
-  $81 = $80 << 14;
-  $82 = $76 | $81;
-  (_genop_peep($70,$82,0)|0);
- }
- $83 = $2;
- $84 = $4;
- $85 = ((($84)) + 12|0);
- $86 = HEAP32[$85>>2]|0;
- $87 = (($86) + 32767)|0;
- $88 = $87 & 65535;
- $89 = $88 << 7;
- $90 = 23 | $89;
- $91 = (_genop($83,$90)|0);
- $5 = $91;
- $92 = $5;
- $93 = $4;
- $94 = ((($93)) + 12|0);
- HEAP32[$94>>2] = $92;
- STACKTOP = sp;return;
-}
-function _raise_error($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $$byval_copy = sp + 24|0;
- $5 = sp;
- $2 = $0;
- $3 = $1;
- $6 = $2;
- $7 = $2;
- $8 = HEAP32[$7>>2]|0;
- $9 = $3;
- _mrb_str_new_cstr($5,$8,$9);
- ;HEAP32[$$byval_copy>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$5+4>>2]|0;
- $10 = (_new_lit($6,$$byval_copy)|0);
- $4 = $10;
- $11 = $2;
- $12 = $4;
- $13 = $12 & 65535;
- $14 = $13 << 7;
- $15 = 8388683 | $14;
- (_genop($11,$15)|0);
- STACKTOP = sp;return;
-}
-function _lv_idx($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $7 = $3;
- $8 = ((($7)) + 168|0);
- $9 = HEAP32[$8>>2]|0;
- $5 = $9;
- $6 = 1;
- while(1) {
-  $10 = $5;
-  $11 = ($10|0)!=(0|0);
-  if (!($11)) {
-   label = 6;
-   break;
-  }
-  $12 = $5;
-  $13 = HEAP32[$12>>2]|0;
-  $14 = $13;
-  $15 = $4;
-  $16 = ($14|0)==($15|0);
-  $17 = $6;
-  if ($16) {
-   label = 4;
-   break;
-  }
-  $18 = (($17) + 1)|0;
-  $6 = $18;
-  $19 = $5;
-  $20 = ((($19)) + 4|0);
-  $21 = HEAP32[$20>>2]|0;
-  $5 = $21;
- }
- if ((label|0) == 4) {
-  $2 = $17;
-  $22 = $2;
-  STACKTOP = sp;return ($22|0);
- }
- else if ((label|0) == 6) {
-  $2 = 0;
-  $22 = $2;
-  STACKTOP = sp;return ($22|0);
- }
- return (0)|0;
-}
-function _mrb_fixnum_value_1173($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- $2 = $1;
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = 3;
- $5 = $2;
- HEAP32[$3>>2] = $5;
- ;HEAP32[$0>>2]=HEAP32[$3>>2]|0;HEAP32[$0+4>>2]=HEAP32[$3+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _readint_mrb_int($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0;
- var $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $6 = $0;
- $7 = $1;
- $8 = $2;
- $9 = $3;
- $10 = $4;
- $15 = $7;
- $16 = $7;
- $17 = (_strlen($16)|0);
- $18 = (($15) + ($17)|0);
- $11 = $18;
- $12 = 0;
- $19 = $7;
- $20 = HEAP8[$19>>0]|0;
- $21 = $20 << 24 >> 24;
- $22 = ($21|0)==(43);
- if ($22) {
-  $23 = $7;
-  $24 = ((($23)) + 1|0);
-  $7 = $24;
- }
- while(1) {
-  $25 = $7;
-  $26 = $11;
-  $27 = ($25>>>0)<($26>>>0);
-  if (!($27)) {
-   label = 18;
-   break;
-  }
-  $28 = $7;
-  $29 = HEAP8[$28>>0]|0;
-  $14 = $29;
-  $30 = $14;
-  $31 = $30&255;
-  $32 = (_tolower($31)|0);
-  $33 = $32&255;
-  $14 = $33;
-  $13 = 0;
-  while(1) {
-   $34 = $13;
-   $35 = $8;
-   $36 = ($34|0)<($35|0);
-   if (!($36)) {
-    break;
-   }
-   $37 = $13;
-   $38 = (55645 + ($37)|0);
-   $39 = HEAP8[$38>>0]|0;
-   $40 = $39 << 24 >> 24;
-   $41 = $14;
-   $42 = $41 << 24 >> 24;
-   $43 = ($40|0)==($42|0);
-   if ($43) {
-    break;
-   }
-   $44 = $13;
-   $45 = (($44) + 1)|0;
-   $13 = $45;
-  }
-  $46 = $13;
-  $47 = $8;
-  $48 = ($46|0)==($47|0);
-  if ($48) {
-   $49 = $6;
-   _codegen_error($49,69775);
-  }
-  $50 = $9;
-  $51 = ($50<<24>>24)!=(0);
-  $52 = $13;
-  if ($51) {
-   $53 = (-2147483648 + ($52))|0;
-   $54 = $8;
-   $55 = (($53|0) / ($54|0))&-1;
-   $56 = $12;
-   $57 = ($55|0)>($56|0);
-   if ($57) {
-    label = 12;
-    break;
-   }
-   $59 = $8;
-   $60 = $12;
-   $61 = Math_imul($60, $59)|0;
-   $12 = $61;
-   $62 = $13;
-   $63 = $12;
-   $64 = (($63) - ($62))|0;
-   $12 = $64;
-  } else {
-   $65 = (2147483647 - ($52))|0;
-   $66 = $8;
-   $67 = (($65|0) / ($66|0))&-1;
-   $68 = $12;
-   $69 = ($67|0)<($68|0);
-   if ($69) {
-    label = 15;
-    break;
-   }
-   $71 = $8;
-   $72 = $12;
-   $73 = Math_imul($72, $71)|0;
-   $12 = $73;
-   $74 = $13;
-   $75 = $12;
-   $76 = (($75) + ($74))|0;
-   $12 = $76;
-  }
-  $77 = $7;
-  $78 = ((($77)) + 1|0);
-  $7 = $78;
- }
- if ((label|0) == 12) {
-  $58 = $10;
-  HEAP8[$58>>0] = 1;
-  $5 = 0;
-  $81 = $5;
-  STACKTOP = sp;return ($81|0);
- }
- else if ((label|0) == 15) {
-  $70 = $10;
-  HEAP8[$70>>0] = 1;
-  $5 = 0;
-  $81 = $5;
-  STACKTOP = sp;return ($81|0);
- }
- else if ((label|0) == 18) {
-  $79 = $10;
-  HEAP8[$79>>0] = 0;
-  $80 = $12;
-  $5 = $80;
-  $81 = $5;
-  STACKTOP = sp;return ($81|0);
- }
- return (0)|0;
-}
-function _readint_float($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0.0, $43 = 0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $47 = 0;
- var $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $6 = 0, $7 = 0.0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $10 = $4;
- $11 = $4;
- $12 = (_strlen($11)|0);
- $13 = (($10) + ($12)|0);
- $6 = $13;
- $7 = 0.0;
- $14 = $4;
- $15 = HEAP8[$14>>0]|0;
- $16 = $15 << 24 >> 24;
- $17 = ($16|0)==(43);
- if ($17) {
-  $18 = $4;
-  $19 = ((($18)) + 1|0);
-  $4 = $19;
- }
- while(1) {
-  $20 = $4;
-  $21 = $6;
-  $22 = ($20>>>0)<($21>>>0);
-  if (!($22)) {
-   break;
-  }
-  $23 = $4;
-  $24 = HEAP8[$23>>0]|0;
-  $9 = $24;
-  $25 = $9;
-  $26 = $25&255;
-  $27 = (_tolower($26)|0);
-  $28 = $27&255;
-  $9 = $28;
-  $8 = 0;
-  while(1) {
-   $29 = $8;
-   $30 = $5;
-   $31 = ($29|0)<($30|0);
-   if (!($31)) {
-    break;
-   }
-   $32 = $8;
-   $33 = (55645 + ($32)|0);
-   $34 = HEAP8[$33>>0]|0;
-   $35 = $34 << 24 >> 24;
-   $36 = $9;
-   $37 = $36 << 24 >> 24;
-   $38 = ($35|0)==($37|0);
-   if ($38) {
-    label = 7;
-    break;
-   }
-   $47 = $8;
-   $48 = (($47) + 1)|0;
-   $8 = $48;
-  }
-  if ((label|0) == 7) {
-   label = 0;
-   $39 = $5;
-   $40 = (+($39|0));
-   $41 = $7;
-   $42 = $41 * $40;
-   $7 = $42;
-   $43 = $8;
-   $44 = (+($43|0));
-   $45 = $7;
-   $46 = $45 + $44;
-   $7 = $46;
-  }
-  $49 = $8;
-  $50 = $5;
-  $51 = ($49|0)==($50|0);
-  if ($51) {
-   $52 = $3;
-   _codegen_error($52,69775);
-  }
-  $53 = $4;
-  $54 = ((($53)) + 1|0);
-  $4 = $54;
- }
- $55 = $7;
- STACKTOP = sp;return (+$55);
-}
-function _mrb_float_value_1175($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = +$2;
- var $3 = 0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $5 = sp;
- $3 = $1;
- $4 = $2;
- $6 = ((($5)) + 4|0);
- HEAP32[$6>>2] = 6;
- $7 = $4;
- HEAPF32[$5>>2] = $7;
- ;HEAP32[$0>>2]=HEAP32[$5>>2]|0;HEAP32[$0+4>>2]=HEAP32[$5+4>>2]|0;
- STACKTOP = sp;return;
-}
-function _new_lit($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$byval_copy = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0.0, $105 = 0.0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
- var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
- var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
- var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
- var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $19 = 0, $2 = 0;
- var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
- var $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0;
- var $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0;
- var $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0;
- var $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $$byval_copy = sp + 32|0;
- $7 = sp;
- $3 = $0;
- $8 = ((($1)) + 4|0);
- $9 = HEAP32[$8>>2]|0;
- L1: do {
-  switch ($9|0) {
-  case 16:  {
-   $4 = 0;
-   while(1) {
-    $10 = $4;
-    $11 = $3;
-    $12 = ((($11)) + 216|0);
-    $13 = HEAP32[$12>>2]|0;
-    $14 = ((($13)) + 44|0);
-    $15 = HEAP32[$14>>2]|0;
-    $16 = ($10>>>0)<($15>>>0);
-    if (!($16)) {
-     break L1;
-    }
-    $17 = $3;
-    $18 = ((($17)) + 216|0);
-    $19 = HEAP32[$18>>2]|0;
-    $20 = ((($19)) + 12|0);
-    $21 = HEAP32[$20>>2]|0;
-    $22 = $4;
-    $23 = (($21) + ($22<<3)|0);
-    $5 = $23;
-    $24 = $5;
-    $25 = ((($24)) + 4|0);
-    $26 = HEAP32[$25>>2]|0;
-    $27 = ($26|0)!=(16);
-    if (!($27)) {
-     $28 = $5;
-     $29 = HEAP32[$28>>2]|0;
-     $30 = HEAP32[$29>>2]|0;
-     $31 = $30 >>> 11;
-     $32 = $31 & 8;
-     $33 = ($32|0)!=(0);
-     $34 = $5;
-     $35 = HEAP32[$34>>2]|0;
-     if ($33) {
-      $36 = HEAP32[$35>>2]|0;
-      $37 = $36 >>> 11;
-      $38 = $37 & 496;
-      $39 = $38 >> 4;
-      $42 = $39;
-     } else {
-      $40 = ((($35)) + 12|0);
-      $41 = HEAP32[$40>>2]|0;
-      $42 = $41;
-     }
-     $6 = $42;
-     $43 = HEAP32[$1>>2]|0;
-     $44 = HEAP32[$43>>2]|0;
-     $45 = $44 >>> 11;
-     $46 = $45 & 8;
-     $47 = ($46|0)!=(0);
-     $48 = HEAP32[$1>>2]|0;
-     if ($47) {
-      $49 = HEAP32[$48>>2]|0;
-      $50 = $49 >>> 11;
-      $51 = $50 & 496;
-      $52 = $51 >> 4;
-      $56 = $52;
-     } else {
-      $53 = ((($48)) + 12|0);
-      $54 = HEAP32[$53>>2]|0;
-      $56 = $54;
-     }
-     $55 = ($42|0)!=($56|0);
-     if (!($55)) {
-      $57 = $5;
-      $58 = HEAP32[$57>>2]|0;
-      $59 = HEAP32[$58>>2]|0;
-      $60 = $59 >>> 11;
-      $61 = $60 & 8;
-      $62 = ($61|0)!=(0);
-      $63 = $5;
-      $64 = HEAP32[$63>>2]|0;
-      $65 = ((($64)) + 12|0);
-      if ($62) {
-       $78 = $65;
-      } else {
-       $66 = ((($65)) + 8|0);
-       $67 = HEAP32[$66>>2]|0;
-       $78 = $67;
-      }
-      $68 = HEAP32[$1>>2]|0;
-      $69 = HEAP32[$68>>2]|0;
-      $70 = $69 >>> 11;
-      $71 = $70 & 8;
-      $72 = ($71|0)!=(0);
-      $73 = HEAP32[$1>>2]|0;
-      $74 = ((($73)) + 12|0);
-      if ($72) {
-       $79 = $74;
-      } else {
-       $75 = ((($74)) + 8|0);
-       $76 = HEAP32[$75>>2]|0;
-       $79 = $76;
-      }
-      $77 = $6;
-      $80 = (_memcmp($78,$79,$77)|0);
-      $81 = ($80|0)==(0);
-      if ($81) {
-       break;
-      }
-     }
-    }
-    $83 = $4;
-    $84 = (($83) + 1)|0;
-    $4 = $84;
-   }
-   $82 = $4;
-   $2 = $82;
-   $187 = $2;
-   STACKTOP = sp;return ($187|0);
-   break;
-  }
-  case 6:  {
-   $4 = 0;
-   while(1) {
-    $85 = $4;
-    $86 = $3;
-    $87 = ((($86)) + 216|0);
-    $88 = HEAP32[$87>>2]|0;
-    $89 = ((($88)) + 44|0);
-    $90 = HEAP32[$89>>2]|0;
-    $91 = ($85>>>0)<($90>>>0);
-    if (!($91)) {
-     break L1;
-    }
-    $92 = $3;
-    $93 = ((($92)) + 216|0);
-    $94 = HEAP32[$93>>2]|0;
-    $95 = ((($94)) + 12|0);
-    $96 = HEAP32[$95>>2]|0;
-    $97 = $4;
-    $98 = (($96) + ($97<<3)|0);
-    $5 = $98;
-    $99 = $5;
-    $100 = ((($99)) + 4|0);
-    $101 = HEAP32[$100>>2]|0;
-    $102 = ($101|0)!=(6);
-    if (!($102)) {
-     $103 = $5;
-     $104 = +HEAPF32[$103>>2];
-     $105 = +HEAPF32[$1>>2];
-     $106 = $104 == $105;
-     if ($106) {
-      break;
-     }
-    }
-    $108 = $4;
-    $109 = (($108) + 1)|0;
-    $4 = $109;
-   }
-   $107 = $4;
-   $2 = $107;
-   $187 = $2;
-   STACKTOP = sp;return ($187|0);
-   break;
-  }
-  case 3:  {
-   $4 = 0;
-   while(1) {
-    $110 = $4;
-    $111 = $3;
-    $112 = ((($111)) + 216|0);
-    $113 = HEAP32[$112>>2]|0;
-    $114 = ((($113)) + 44|0);
-    $115 = HEAP32[$114>>2]|0;
-    $116 = ($110>>>0)<($115>>>0);
-    if (!($116)) {
-     break L1;
-    }
-    $117 = $3;
-    $118 = ((($117)) + 216|0);
-    $119 = HEAP32[$118>>2]|0;
-    $120 = ((($119)) + 12|0);
-    $121 = HEAP32[$120>>2]|0;
-    $122 = $4;
-    $123 = (($121) + ($122<<3)|0);
-    $5 = $123;
-    $124 = $5;
-    $125 = ((($124)) + 4|0);
-    $126 = HEAP32[$125>>2]|0;
-    $127 = ($126|0)==(3);
-    if ($127) {
-     $128 = $5;
-     $129 = HEAP32[$128>>2]|0;
-     $130 = HEAP32[$1>>2]|0;
-     $131 = ($129|0)==($130|0);
-     if ($131) {
-      break;
-     }
-    }
-    $133 = $4;
-    $134 = (($133) + 1)|0;
-    $4 = $134;
-   }
-   $132 = $4;
-   $2 = $132;
-   $187 = $2;
-   STACKTOP = sp;return ($187|0);
-   break;
-  }
-  default: {
-   $2 = 0;
-   $187 = $2;
-   STACKTOP = sp;return ($187|0);
-  }
-  }
- } while(0);
- $135 = $3;
- $136 = ((($135)) + 216|0);
- $137 = HEAP32[$136>>2]|0;
- $138 = ((($137)) + 44|0);
- $139 = HEAP32[$138>>2]|0;
- $140 = $3;
- $141 = ((($140)) + 220|0);
- $142 = HEAP32[$141>>2]|0;
- $143 = ($139|0)==($142|0);
- if ($143) {
-  $144 = $3;
-  $145 = ((($144)) + 220|0);
-  $146 = HEAP32[$145>>2]|0;
-  $147 = $146<<1;
-  HEAP32[$145>>2] = $147;
-  $148 = $3;
-  $149 = $3;
-  $150 = ((($149)) + 216|0);
-  $151 = HEAP32[$150>>2]|0;
-  $152 = ((($151)) + 12|0);
-  $153 = HEAP32[$152>>2]|0;
-  $154 = $3;
-  $155 = ((($154)) + 220|0);
-  $156 = HEAP32[$155>>2]|0;
-  $157 = $156<<3;
-  $158 = (_codegen_realloc($148,$153,$157)|0);
-  $159 = $3;
-  $160 = ((($159)) + 216|0);
-  $161 = HEAP32[$160>>2]|0;
-  $162 = ((($161)) + 12|0);
-  HEAP32[$162>>2] = $158;
- }
- $163 = $3;
- $164 = ((($163)) + 216|0);
- $165 = HEAP32[$164>>2]|0;
- $166 = ((($165)) + 12|0);
- $167 = HEAP32[$166>>2]|0;
- $168 = $3;
- $169 = ((($168)) + 216|0);
- $170 = HEAP32[$169>>2]|0;
- $171 = ((($170)) + 44|0);
- $172 = HEAP32[$171>>2]|0;
- $173 = (($167) + ($172<<3)|0);
- $5 = $173;
- $174 = $3;
- $175 = ((($174)) + 216|0);
- $176 = HEAP32[$175>>2]|0;
- $177 = ((($176)) + 44|0);
- $178 = HEAP32[$177>>2]|0;
- $179 = (($178) + 1)|0;
- HEAP32[$177>>2] = $179;
- $4 = $178;
- $180 = ((($1)) + 4|0);
- $181 = HEAP32[$180>>2]|0;
- switch ($181|0) {
- case 16:  {
-  $182 = $5;
-  $183 = $3;
-  $184 = HEAP32[$183>>2]|0;
-  ;HEAP32[$$byval_copy>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$1+4>>2]|0;
-  _mrb_str_pool($7,$184,$$byval_copy);
-  ;HEAP32[$182>>2]=HEAP32[$7>>2]|0;HEAP32[$182+4>>2]=HEAP32[$7+4>>2]|0;
-  break;
- }
- case 3: case 6:  {
-  $185 = $5;
-  ;HEAP32[$185>>2]=HEAP32[$1>>2]|0;HEAP32[$185+4>>2]=HEAP32[$1+4>>2]|0;
-  break;
- }
- default: {
- }
- }
- $186 = $4;
- $2 = $186;
- $187 = $2;
- STACKTOP = sp;return ($187|0);
-}
-function _gen_literal_array($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0;
- var $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0;
- var $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0;
- var $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0;
- var $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0;
- var $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $4 = $0;
- $5 = $1;
- $6 = $2;
- $7 = $3;
- $10 = $7;
- $11 = ($10|0)!=(0);
- if (!($11)) {
-  while(1) {
-   $100 = $5;
-   $101 = ($100|0)!=(0|0);
-   if (!($101)) {
-    break;
-   }
-   $102 = $5;
-   $103 = HEAP32[$102>>2]|0;
-   $104 = HEAP32[$103>>2]|0;
-   $105 = $104;
-   switch ($105|0) {
-   case 4: case 17:  {
-    $106 = $4;
-    $107 = $5;
-    $108 = HEAP32[$107>>2]|0;
-    _codegen($106,$108,0);
-    break;
-   }
-   default: {
-   }
-   }
-   $109 = $5;
-   $110 = ((($109)) + 4|0);
-   $111 = HEAP32[$110>>2]|0;
-   $5 = $111;
-  }
-  STACKTOP = sp;return;
- }
- $8 = 0;
- $9 = 0;
- while(1) {
-  $12 = $5;
-  $13 = ($12|0)!=(0|0);
-  if (!($13)) {
-   break;
-  }
-  $14 = $5;
-  $15 = HEAP32[$14>>2]|0;
-  $16 = HEAP32[$15>>2]|0;
-  $17 = $16;
-  switch ($17|0) {
-  case 55:  {
-   $18 = $5;
-   $19 = ((($18)) + 4|0);
-   $20 = HEAP32[$19>>2]|0;
-   $21 = ($20|0)==(0|0);
-   if ($21) {
-    $22 = $5;
-    $23 = HEAP32[$22>>2]|0;
-    $24 = ((($23)) + 4|0);
-    $25 = HEAP32[$24>>2]|0;
-    $26 = ((($25)) + 4|0);
-    $27 = HEAP32[$26>>2]|0;
-    $28 = $27;
-    $29 = ($28|0)==(0);
-    if (!($29)) {
-     label = 7;
-    }
-   } else {
-    label = 7;
-   }
-   break;
-  }
-  case 17:  {
-   label = 7;
-   break;
-  }
-  case 100:  {
-   $35 = $9;
-   $36 = ($35|0)>(0);
-   if ($36) {
-    $9 = 0;
-    $37 = $8;
-    $38 = (($37) + 1)|0;
-    $8 = $38;
-    $39 = $6;
-    $40 = ($39<<24>>24)!=(0);
-    if ($40) {
-     $41 = $4;
-     _gen_send_intern($41);
-    }
-   }
-   break;
-  }
-  default: {
-  }
-  }
-  if ((label|0) == 7) {
-   label = 0;
-   $30 = $4;
-   $31 = $5;
-   $32 = HEAP32[$31>>2]|0;
-   _codegen($30,$32,1);
-   $33 = $9;
-   $34 = (($33) + 1)|0;
-   $9 = $34;
-  }
-  $42 = $9;
-  $43 = ($42|0)>=(2);
-  if ($43) {
-   $44 = $4;
-   $45 = ((($44)) + 172|0);
-   $46 = HEAP32[$45>>2]|0;
-   $47 = (($46) + -1)|0;
-   HEAP32[$45>>2] = $47;
-   $48 = $4;
-   $49 = ((($48)) + 172|0);
-   $50 = HEAP32[$49>>2]|0;
-   $51 = (($50) + -1)|0;
-   HEAP32[$49>>2] = $51;
-   $52 = $4;
-   $53 = $4;
-   $54 = ((($53)) + 172|0);
-   $55 = HEAP32[$54>>2]|0;
-   $56 = $55 & 511;
-   $57 = $56 << 23;
-   $58 = 62 | $57;
-   $59 = $4;
-   $60 = ((($59)) + 172|0);
-   $61 = HEAP32[$60>>2]|0;
-   $62 = (($61) + 1)|0;
-   $63 = $62 & 511;
-   $64 = $63 << 14;
-   $65 = $58 | $64;
-   (_genop_peep($52,$65,1)|0);
-   $66 = $4;
-   _push_($66);
-   $9 = 1;
-  }
-  $67 = $5;
-  $68 = ((($67)) + 4|0);
-  $69 = HEAP32[$68>>2]|0;
-  $5 = $69;
- }
- $70 = $9;
- $71 = ($70|0)>(0);
- if ($71) {
-  $72 = $8;
-  $73 = (($72) + 1)|0;
-  $8 = $73;
-  $74 = $6;
-  $75 = ($74<<24>>24)!=(0);
-  if ($75) {
-   $76 = $4;
-   _gen_send_intern($76);
-  }
- }
- $77 = $8;
- $78 = $4;
- $79 = ((($78)) + 172|0);
- $80 = HEAP32[$79>>2]|0;
- $81 = (($80) - ($77))|0;
- HEAP32[$79>>2] = $81;
- $82 = $4;
- $83 = $4;
- $84 = ((($83)) + 172|0);
- $85 = HEAP32[$84>>2]|0;
- $86 = $85 & 511;
- $87 = $86 << 23;
- $88 = 55 | $87;
- $89 = $4;
- $90 = ((($89)) + 172|0);
- $91 = HEAP32[$90>>2]|0;
- $92 = $91 & 511;
- $93 = $92 << 14;
- $94 = $88 | $93;
- $95 = $8;
- $96 = $95 & 127;
- $97 = $96 << 7;
- $98 = $94 | $97;
- (_genop($82,$98)|0);
- $99 = $4;
- _push_($99);
- STACKTOP = sp;return;
-}
-function _gen_send_intern($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- $3 = ((($2)) + 172|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = (($4) + -1)|0;
- HEAP32[$3>>2] = $5;
- $6 = $1;
- $7 = $1;
- $8 = ((($7)) + 172|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = $9 & 511;
- $11 = $10 << 23;
- $12 = 32 | $11;
- $13 = $1;
- $14 = $1;
- $15 = HEAP32[$14>>2]|0;
- $16 = (_mrb_intern_static($15,69712,6)|0);
- $17 = (_new_msym($13,$16)|0);
- $18 = $17 & 511;
- $19 = $18 << 14;
- $20 = $12 | $19;
- (_genop($6,$20)|0);
- $21 = $1;
- _push_($21);
- STACKTOP = sp;return;
-}
-function _codegen_realloc($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = $0;
- $4 = $1;
- $5 = $2;
- $6 = $3;
- $7 = HEAP32[$6>>2]|0;
- $8 = $4;
- $9 = $5;
- $10 = (_mrb_realloc_simple($7,$8,$9)|0);
- $4 = $10;
- $11 = $4;
- $12 = ($11|0)==(0|0);
- $13 = $5;
- $14 = ($13>>>0)>(0);
- $or$cond = $12 & $14;
- if (!($or$cond)) {
-  $16 = $4;
-  STACKTOP = sp;return ($16|0);
- }
- $15 = $3;
- _codegen_error($15,69719);
- $16 = $4;
- STACKTOP = sp;return ($16|0);
-}
-function _codegen_error($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0;
- var $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer3 = sp + 16|0;
- $vararg_buffer = sp;
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = ($5|0)!=(0|0);
- if (!($6)) {
-  STACKTOP = sp;return;
- }
- while(1) {
-  $7 = $2;
-  $8 = ((($7)) + 164|0);
-  $9 = HEAP32[$8>>2]|0;
-  $10 = ($9|0)!=(0|0);
-  $11 = $2;
-  if (!($10)) {
-   break;
-  }
-  $12 = ((($11)) + 164|0);
-  $13 = HEAP32[$12>>2]|0;
-  $4 = $13;
-  $14 = $2;
-  $15 = ((($14)) + 4|0);
-  $16 = HEAP32[$15>>2]|0;
-  _mrb_pool_close($16);
-  $17 = $4;
-  $2 = $17;
- }
- $18 = ((($11)) + 196|0);
- $19 = HEAP32[$18>>2]|0;
- $20 = ($19|0)!=(0|0);
- if ($20) {
-  $21 = $2;
-  $22 = ((($21)) + 200|0);
-  $23 = HEAP16[$22>>1]|0;
-  $24 = $23&65535;
-  $25 = ($24|0)!=(0);
-  if ($25) {
-   $26 = HEAP32[637]|0;
-   $27 = $2;
-   $28 = ((($27)) + 196|0);
-   $29 = HEAP32[$28>>2]|0;
-   $30 = $2;
-   $31 = ((($30)) + 200|0);
-   $32 = HEAP16[$31>>1]|0;
-   $33 = $32&65535;
-   $34 = $3;
-   HEAP32[$vararg_buffer>>2] = $29;
-   $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
-   HEAP32[$vararg_ptr1>>2] = $33;
-   $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
-   HEAP32[$vararg_ptr2>>2] = $34;
-   (_fprintf($26,69731,$vararg_buffer)|0);
-   $37 = $2;
-   $38 = ((($37)) + 8|0);
-   _longjmp(($38|0),1);
-   // unreachable;
-  }
- }
- $35 = HEAP32[637]|0;
- $36 = $3;
- HEAP32[$vararg_buffer3>>2] = $36;
- (_fprintf($35,69756,$vararg_buffer3)|0);
- $37 = $2;
- $38 = ((($37)) + 8|0);
- _longjmp(($38|0),1);
- // unreachable;
-}
-function _push_n_($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = ((($4)) + 172|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = $3;
- $8 = (($6) + ($7))|0;
- $9 = ($8>>>0)>(511);
- if ($9) {
-  $10 = $2;
-  _codegen_error($10,69816);
- }
- $11 = $3;
- $12 = $2;
- $13 = ((($12)) + 172|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = (($14) + ($11))|0;
- HEAP32[$13>>2] = $15;
- $16 = $2;
- $17 = ((($16)) + 172|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = $2;
- $20 = ((($19)) + 234|0);
- $21 = HEAP16[$20>>1]|0;
- $22 = $21&65535;
- $23 = ($18|0)>($22|0);
- if (!($23)) {
-  STACKTOP = sp;return;
- }
- $24 = $2;
- $25 = ((($24)) + 172|0);
- $26 = HEAP32[$25>>2]|0;
- $27 = $26&65535;
- $28 = $2;
- $29 = ((($28)) + 234|0);
- HEAP16[$29>>1] = $27;
- STACKTOP = sp;return;
-}
-function _scope_finish($0) {
- $0 = $0|0;
- var $$sink = 0, $$sink2 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0;
- var $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0;
- var $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
- var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
- var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
- var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
- var $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $1 = $0;
- $6 = $1;
- $7 = HEAP32[$6>>2]|0;
- $2 = $7;
- $8 = $1;
- $9 = ((($8)) + 216|0);
- $10 = HEAP32[$9>>2]|0;
- $3 = $10;
- $11 = $3;
- $12 = ((($11)) + 4|0);
- HEAP8[$12>>0] = 0;
- $13 = $1;
- $14 = ((($13)) + 204|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = ($15|0)!=(0|0);
- if ($16) {
-  $17 = $1;
-  $18 = $1;
-  $19 = ((($18)) + 204|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = $1;
-  $22 = ((($21)) + 176|0);
-  $23 = HEAP32[$22>>2]|0;
-  $24 = $23<<2;
-  $25 = (_codegen_realloc($17,$20,$24)|0);
-  $26 = $3;
-  $27 = ((($26)) + 8|0);
-  HEAP32[$27>>2] = $25;
-  $28 = $1;
-  $29 = ((($28)) + 176|0);
-  $30 = HEAP32[$29>>2]|0;
-  $31 = $3;
-  $32 = ((($31)) + 40|0);
-  HEAP32[$32>>2] = $30;
-  $33 = $1;
-  $34 = ((($33)) + 208|0);
-  $35 = HEAP32[$34>>2]|0;
-  $36 = ($35|0)!=(0|0);
-  if ($36) {
-   $37 = $1;
-   $38 = $1;
-   $39 = ((($38)) + 208|0);
-   $40 = HEAP32[$39>>2]|0;
-   $41 = $1;
-   $42 = ((($41)) + 176|0);
-   $43 = HEAP32[$42>>2]|0;
-   $44 = $43<<1;
-   $45 = (_codegen_realloc($37,$40,$44)|0);
-   $46 = $3;
-   $$sink = $45;$$sink2 = $46;
-  } else {
-   $47 = $3;
-   $$sink = 0;$$sink2 = $47;
-  }
-  $48 = ((($$sink2)) + 32|0);
-  HEAP32[$48>>2] = $$sink;
- }
- $49 = $1;
- $50 = $3;
- $51 = ((($50)) + 12|0);
- $52 = HEAP32[$51>>2]|0;
- $53 = $3;
- $54 = ((($53)) + 44|0);
- $55 = HEAP32[$54>>2]|0;
- $56 = $55<<3;
- $57 = (_codegen_realloc($49,$52,$56)|0);
- $58 = $3;
- $59 = ((($58)) + 12|0);
- HEAP32[$59>>2] = $57;
- $60 = $1;
- $61 = $3;
- $62 = ((($61)) + 16|0);
- $63 = HEAP32[$62>>2]|0;
- $64 = $3;
- $65 = ((($64)) + 48|0);
- $66 = HEAP32[$65>>2]|0;
- $67 = $66<<2;
- $68 = (_codegen_realloc($60,$63,$67)|0);
- $69 = $3;
- $70 = ((($69)) + 16|0);
- HEAP32[$70>>2] = $68;
- $71 = $1;
- $72 = $3;
- $73 = ((($72)) + 20|0);
- $74 = HEAP32[$73>>2]|0;
- $75 = $3;
- $76 = ((($75)) + 52|0);
- $77 = HEAP32[$76>>2]|0;
- $78 = $77<<2;
- $79 = (_codegen_realloc($71,$74,$78)|0);
- $80 = $3;
- $81 = ((($80)) + 20|0);
- HEAP32[$81>>2] = $79;
- $82 = $1;
- $83 = ((($82)) + 196|0);
- $84 = HEAP32[$83>>2]|0;
- $85 = ($84|0)!=(0|0);
- if (!($85)) {
-  $126 = $1;
-  $127 = ((($126)) + 232|0);
-  $128 = HEAP16[$127>>1]|0;
-  $129 = $3;
-  HEAP16[$129>>1] = $128;
-  $130 = $1;
-  $131 = ((($130)) + 234|0);
-  $132 = HEAP16[$131>>1]|0;
-  $133 = $3;
-  $134 = ((($133)) + 2|0);
-  HEAP16[$134>>1] = $132;
-  $135 = $2;
-  $136 = $1;
-  $137 = ((($136)) + 236|0);
-  $138 = HEAP32[$137>>2]|0;
-  _mrb_gc_arena_restore($135,$138);
-  $139 = $1;
-  $140 = ((($139)) + 4|0);
-  $141 = HEAP32[$140>>2]|0;
-  _mrb_pool_close($141);
-  STACKTOP = sp;return;
- }
- $86 = $1;
- $87 = ((($86)) + 248|0);
- $88 = HEAP32[$87>>2]|0;
- $89 = $1;
- $90 = ((($89)) + 244|0);
- $91 = HEAP16[$90>>1]|0;
- $92 = (_mrb_parser_get_filename($88,$91)|0);
- $93 = $1;
- $94 = ((($93)) + 216|0);
- $95 = HEAP32[$94>>2]|0;
- $96 = ((($95)) + 28|0);
- HEAP32[$96>>2] = $92;
- $97 = $2;
- $98 = $1;
- $99 = ((($98)) + 216|0);
- $100 = HEAP32[$99>>2]|0;
- $101 = $1;
- $102 = ((($101)) + 240|0);
- $103 = HEAP32[$102>>2]|0;
- $104 = $1;
- $105 = ((($104)) + 176|0);
- $106 = HEAP32[$105>>2]|0;
- (_mrb_debug_info_append_file($97,$100,$103,$106)|0);
- $107 = $1;
- $108 = ((($107)) + 196|0);
- $109 = HEAP32[$108>>2]|0;
- $110 = (_strlen($109)|0);
- $4 = $110;
- $111 = $1;
- $112 = $4;
- $113 = (($112) + 1)|0;
- $114 = (_codegen_malloc($111,$113)|0);
- $5 = $114;
- $115 = $5;
- $116 = $1;
- $117 = ((($116)) + 196|0);
- $118 = HEAP32[$117>>2]|0;
- $119 = $4;
- _memcpy(($115|0),($118|0),($119|0))|0;
- $120 = $5;
- $121 = $4;
- $122 = (($120) + ($121)|0);
- HEAP8[$122>>0] = 0;
- $123 = $5;
- $124 = $3;
- $125 = ((($124)) + 28|0);
- HEAP32[$125>>2] = $123;
- $126 = $1;
- $127 = ((($126)) + 232|0);
- $128 = HEAP16[$127>>1]|0;
- $129 = $3;
- HEAP16[$129>>1] = $128;
- $130 = $1;
- $131 = ((($130)) + 234|0);
- $132 = HEAP16[$131>>1]|0;
- $133 = $3;
- $134 = ((($133)) + 2|0);
- HEAP16[$134>>1] = $132;
- $135 = $2;
- $136 = $1;
- $137 = ((($136)) + 236|0);
- $138 = HEAP32[$137>>2]|0;
- _mrb_gc_arena_restore($135,$138);
- $139 = $1;
- $140 = ((($139)) + 4|0);
- $141 = HEAP32[$140>>2]|0;
- _mrb_pool_close($141);
- STACKTOP = sp;return;
-}
-function _codegen_malloc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = HEAP32[$5>>2]|0;
- $7 = $3;
- $8 = (_mrb_malloc_simple($6,$7)|0);
- $4 = $8;
- $9 = $4;
- $10 = ($9|0)!=(0|0);
- if ($10) {
-  $12 = $4;
-  STACKTOP = sp;return ($12|0);
- }
- $11 = $2;
- _codegen_error($11,69861);
- $12 = $4;
- STACKTOP = sp;return ($12|0);
-}
-function _node_len($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = 0;
- while(1) {
-  $3 = $1;
-  $4 = ($3|0)!=(0|0);
-  $5 = $2;
-  if (!($4)) {
-   break;
-  }
-  $6 = (($5) + 1)|0;
-  $2 = $6;
-  $7 = $1;
-  $8 = ((($7)) + 4|0);
-  $9 = HEAP32[$8>>2]|0;
-  $1 = $9;
- }
- STACKTOP = sp;return ($5|0);
-}
-function _no_optimize($0) {
- $0 = $0|0;
- var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $2;
- $4 = ($3|0)!=(0|0);
- if ($4) {
-  $5 = $2;
-  $6 = ((($5)) + 248|0);
-  $7 = HEAP32[$6>>2]|0;
-  $8 = ($7|0)!=(0|0);
-  if ($8) {
-   $9 = $2;
-   $10 = ((($9)) + 248|0);
-   $11 = HEAP32[$10>>2]|0;
-   $12 = ((($11)) + 1148|0);
-   $13 = HEAP8[$12>>0]|0;
-   $14 = $13 & 1;
-   $15 = $14&255;
-   $16 = ($15|0)!=(0);
-   if ($16) {
-    $1 = 1;
-    $17 = $1;
-    STACKTOP = sp;return ($17|0);
-   }
-  }
- }
- $1 = 0;
- $17 = $1;
- STACKTOP = sp;return ($17|0);
-}
-function _attrsym($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $5 = sp + 4|0;
- $2 = $0;
- $3 = $1;
- $7 = $2;
- $8 = HEAP32[$7>>2]|0;
- $9 = $3;
- $10 = (_mrb_sym2name_len($8,$9,$5)|0);
- $4 = $10;
- $11 = $2;
- $12 = HEAP32[$5>>2]|0;
- $13 = (($12) + 1)|0;
- $14 = (($13) + 1)|0;
- $15 = (_codegen_palloc($11,$14)|0);
- $6 = $15;
- $16 = $6;
- $17 = $4;
- $18 = HEAP32[$5>>2]|0;
- _memcpy(($16|0),($17|0),($18|0))|0;
- $19 = $6;
- $20 = HEAP32[$5>>2]|0;
- $21 = (($19) + ($20)|0);
- HEAP8[$21>>0] = 61;
- $22 = $6;
- $23 = HEAP32[$5>>2]|0;
- $24 = (($23) + 1)|0;
- $25 = (($22) + ($24)|0);
- HEAP8[$25>>0] = 0;
- $26 = $2;
- $27 = HEAP32[$26>>2]|0;
- $28 = $6;
- $29 = HEAP32[$5>>2]|0;
- $30 = (($29) + 1)|0;
- $31 = (_mrb_intern($27,$28,$30)|0);
- STACKTOP = sp;return ($31|0);
-}
-function _codegen_palloc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $5 = $2;
- $6 = ((($5)) + 4|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = $3;
- $9 = (_mrb_pool_alloc($7,$8)|0);
- $4 = $9;
- $10 = $4;
- $11 = ($10|0)!=(0|0);
- if ($11) {
-  $13 = $4;
-  STACKTOP = sp;return ($13|0);
- }
- $12 = $2;
- _codegen_error($12,69888);
- $13 = $4;
- STACKTOP = sp;return ($13|0);
-}
-function _scope_error($0) {
- $0 = $0|0;
- var $1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- _exit(1);
- // unreachable;
-}
-function _scope_add_irep($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = $0;
- $3 = $1;
- $4 = $2;
- $5 = ((($4)) + 216|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ($6|0)==(0|0);
- if ($7) {
-  $8 = $3;
-  $9 = $2;
-  $10 = ((($9)) + 216|0);
-  HEAP32[$10>>2] = $8;
-  STACKTOP = sp;return;
- }
- $11 = $2;
- $12 = ((($11)) + 216|0);
- $13 = HEAP32[$12>>2]|0;
- $14 = ((($13)) + 52|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = $2;
- $17 = ((($16)) + 228|0);
- $18 = HEAP32[$17>>2]|0;
- $19 = ($15|0)==($18|0);
- if ($19) {
-  $20 = $2;
-  $21 = ((($20)) + 228|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = $22<<1;
-  HEAP32[$21>>2] = $23;
-  $24 = $2;
-  $25 = $2;
-  $26 = ((($25)) + 216|0);
-  $27 = HEAP32[$26>>2]|0;
-  $28 = ((($27)) + 20|0);
-  $29 = HEAP32[$28>>2]|0;
-  $30 = $2;
-  $31 = ((($30)) + 228|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = $32<<2;
-  $34 = (_codegen_realloc($24,$29,$33)|0);
-  $35 = $2;
-  $36 = ((($35)) + 216|0);
-  $37 = HEAP32[$36>>2]|0;
-  $38 = ((($37)) + 20|0);
-  HEAP32[$38>>2] = $34;
- }
- $39 = $3;
- $40 = $2;
- $41 = ((($40)) + 216|0);
- $42 = HEAP32[$41>>2]|0;
- $43 = ((($42)) + 20|0);
- $44 = HEAP32[$43>>2]|0;
- $45 = $2;
- $46 = ((($45)) + 216|0);
- $47 = HEAP32[$46>>2]|0;
- $48 = ((($47)) + 52|0);
- $49 = HEAP32[$48>>2]|0;
- $50 = (($44) + ($49<<2)|0);
- HEAP32[$50>>2] = $39;
- $51 = $2;
- $52 = ((($51)) + 216|0);
- $53 = HEAP32[$52>>2]|0;
- $54 = ((($53)) + 52|0);
- $55 = HEAP32[$54>>2]|0;
- $56 = (($55) + 1)|0;
- HEAP32[$54>>2] = $56;
- STACKTOP = sp;return;
-}
-function _mrb_init_comparable($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- (_mrb_define_module($2,69967)|0);
- STACKTOP = sp;return;
-}
-function _mrb_init_enumerable($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = $0;
- $2 = $1;
- (_mrb_define_module($2,69978)|0);
- STACKTOP = sp;return;
-}
-function _emscripten_get_global_libc() {
- var label = 0, sp = 0;
- sp = STACKTOP;
- return (75192|0);
-}
-function ___stdio_close($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $vararg_buffer = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $vararg_buffer = sp;
- $1 = ((($0)) + 60|0);
- $2 = HEAP32[$1>>2]|0;
- $3 = (_dummy_738($2)|0);
- HEAP32[$vararg_buffer>>2] = $3;
- $4 = (___syscall6(6,($vararg_buffer|0))|0);
- $5 = (___syscall_ret($4)|0);
- STACKTOP = sp;return ($5|0);
-}
-function ___stdio_write($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$0 = 0, $$04756 = 0, $$04855 = 0, $$04954 = 0, $$051 = 0, $$1 = 0, $$150 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
- var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
- var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0;
- var $vararg_ptr7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer3 = sp + 16|0;
- $vararg_buffer = sp;
- $3 = sp + 32|0;
- $4 = ((($0)) + 28|0);
- $5 = HEAP32[$4>>2]|0;
- HEAP32[$3>>2] = $5;
- $6 = ((($3)) + 4|0);
- $7 = ((($0)) + 20|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = (($8) - ($5))|0;
- HEAP32[$6>>2] = $9;
- $10 = ((($3)) + 8|0);
- HEAP32[$10>>2] = $1;
- $11 = ((($3)) + 12|0);
- HEAP32[$11>>2] = $2;
- $12 = (($9) + ($2))|0;
- $13 = ((($0)) + 60|0);
- $14 = HEAP32[$13>>2]|0;
- $15 = $3;
- HEAP32[$vararg_buffer>>2] = $14;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $15;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- HEAP32[$vararg_ptr2>>2] = 2;
- $16 = (___syscall146(146,($vararg_buffer|0))|0);
- $17 = (___syscall_ret($16)|0);
- $18 = ($12|0)==($17|0);
- L1: do {
-  if ($18) {
-   label = 3;
-  } else {
-   $$04756 = 2;$$04855 = $12;$$04954 = $3;$26 = $17;
-   while(1) {
-    $25 = ($26|0)<(0);
-    if ($25) {
-     break;
-    }
-    $34 = (($$04855) - ($26))|0;
-    $35 = ((($$04954)) + 4|0);
-    $36 = HEAP32[$35>>2]|0;
-    $37 = ($26>>>0)>($36>>>0);
-    $38 = ((($$04954)) + 8|0);
-    $$150 = $37 ? $38 : $$04954;
-    $39 = $37 << 31 >> 31;
-    $$1 = (($39) + ($$04756))|0;
-    $40 = $37 ? $36 : 0;
-    $$0 = (($26) - ($40))|0;
-    $41 = HEAP32[$$150>>2]|0;
-    $42 = (($41) + ($$0)|0);
-    HEAP32[$$150>>2] = $42;
-    $43 = ((($$150)) + 4|0);
-    $44 = HEAP32[$43>>2]|0;
-    $45 = (($44) - ($$0))|0;
-    HEAP32[$43>>2] = $45;
-    $46 = HEAP32[$13>>2]|0;
-    $47 = $$150;
-    HEAP32[$vararg_buffer3>>2] = $46;
-    $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
-    HEAP32[$vararg_ptr6>>2] = $47;
-    $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
-    HEAP32[$vararg_ptr7>>2] = $$1;
-    $48 = (___syscall146(146,($vararg_buffer3|0))|0);
-    $49 = (___syscall_ret($48)|0);
-    $50 = ($34|0)==($49|0);
-    if ($50) {
-     label = 3;
-     break L1;
-    } else {
-     $$04756 = $$1;$$04855 = $34;$$04954 = $$150;$26 = $49;
-    }
-   }
-   $27 = ((($0)) + 16|0);
-   HEAP32[$27>>2] = 0;
-   HEAP32[$4>>2] = 0;
-   HEAP32[$7>>2] = 0;
-   $28 = HEAP32[$0>>2]|0;
-   $29 = $28 | 32;
-   HEAP32[$0>>2] = $29;
-   $30 = ($$04756|0)==(2);
-   if ($30) {
-    $$051 = 0;
-   } else {
-    $31 = ((($$04954)) + 4|0);
-    $32 = HEAP32[$31>>2]|0;
-    $33 = (($2) - ($32))|0;
-    $$051 = $33;
-   }
-  }
- } while(0);
- if ((label|0) == 3) {
-  $19 = ((($0)) + 44|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = ((($0)) + 48|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = (($20) + ($22)|0);
-  $24 = ((($0)) + 16|0);
-  HEAP32[$24>>2] = $23;
-  HEAP32[$4>>2] = $20;
-  HEAP32[$7>>2] = $20;
-  $$051 = $2;
- }
- STACKTOP = sp;return ($$051|0);
-}
-function ___stdio_seek($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$pre = 0, $10 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, $vararg_ptr3 = 0, $vararg_ptr4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $3 = sp + 20|0;
- $4 = ((($0)) + 60|0);
- $5 = HEAP32[$4>>2]|0;
- $6 = $3;
- HEAP32[$vararg_buffer>>2] = $5;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = 0;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- HEAP32[$vararg_ptr2>>2] = $1;
- $vararg_ptr3 = ((($vararg_buffer)) + 12|0);
- HEAP32[$vararg_ptr3>>2] = $6;
- $vararg_ptr4 = ((($vararg_buffer)) + 16|0);
- HEAP32[$vararg_ptr4>>2] = $2;
- $7 = (___syscall140(140,($vararg_buffer|0))|0);
- $8 = (___syscall_ret($7)|0);
- $9 = ($8|0)<(0);
- if ($9) {
-  HEAP32[$3>>2] = -1;
-  $10 = -1;
- } else {
-  $$pre = HEAP32[$3>>2]|0;
-  $10 = $$pre;
- }
- STACKTOP = sp;return ($10|0);
-}
-function ___syscall_ret($0) {
- $0 = $0|0;
- var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ($0>>>0)>(4294963200);
- if ($1) {
-  $2 = (0 - ($0))|0;
-  $3 = (___errno_location()|0);
-  HEAP32[$3>>2] = $2;
-  $$0 = -1;
- } else {
-  $$0 = $0;
- }
- return ($$0|0);
-}
-function ___errno_location() {
- var $0 = 0, $1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $0 = (___pthread_self_108()|0);
- $1 = ((($0)) + 64|0);
- return ($1|0);
-}
-function ___pthread_self_108() {
- var $0 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $0 = (_pthread_self()|0);
- return ($0|0);
-}
-function _pthread_self() {
- var label = 0, sp = 0;
- sp = STACKTOP;
- return (2676|0);
-}
-function _dummy_738($0) {
- $0 = $0|0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- return ($0|0);
-}
-function ___stdio_read($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $3 = sp + 16|0;
- HEAP32[$3>>2] = $1;
- $4 = ((($3)) + 4|0);
- $5 = ((($0)) + 48|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ($6|0)!=(0);
- $8 = $7&1;
- $9 = (($2) - ($8))|0;
- HEAP32[$4>>2] = $9;
- $10 = ((($3)) + 8|0);
- $11 = ((($0)) + 44|0);
- $12 = HEAP32[$11>>2]|0;
- HEAP32[$10>>2] = $12;
- $13 = ((($3)) + 12|0);
- HEAP32[$13>>2] = $6;
- $14 = ((($0)) + 60|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = $3;
- HEAP32[$vararg_buffer>>2] = $15;
- $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
- HEAP32[$vararg_ptr1>>2] = $16;
- $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
- HEAP32[$vararg_ptr2>>2] = 2;
- $17 = (___syscall145(145,($vararg_buffer|0))|0);
- $18 = (___syscall_ret($17)|0);
- $19 = ($18|0)<(1);
- if ($19) {
-  $20 = $18 & 48;
-  $21 = $20 ^ 16;
-  $22 = HEAP32[$0>>2]|0;
-  $23 = $22 | $21;
-  HEAP32[$0>>2] = $23;
-  $$0 = $18;
- } else {
-  $24 = HEAP32[$4>>2]|0;
-  $25 = ($18>>>0)>($24>>>0);
-  if ($25) {
-   $26 = (($18) - ($24))|0;
-   $27 = HEAP32[$11>>2]|0;
-   $28 = ((($0)) + 4|0);
-   HEAP32[$28>>2] = $27;
-   $29 = (($27) + ($26)|0);
-   $30 = ((($0)) + 8|0);
-   HEAP32[$30>>2] = $29;
-   $31 = HEAP32[$5>>2]|0;
-   $32 = ($31|0)==(0);
-   if ($32) {
-    $$0 = $2;
-   } else {
-    $33 = ((($27)) + 1|0);
-    HEAP32[$28>>2] = $33;
-    $34 = HEAP8[$27>>0]|0;
-    $35 = (($2) + -1)|0;
-    $36 = (($1) + ($35)|0);
-    HEAP8[$36>>0] = $34;
-    $$0 = $2;
-   }
-  } else {
-   $$0 = $18;
-  }
- }
- STACKTOP = sp;return ($$0|0);
-}
-function ___stdout_write($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_ptr1 = 0, $vararg_ptr2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0);
- $vararg_buffer = sp;
- $3 = sp + 16|0;
- $4 = ((($0)) + 36|0);
- HEAP32[$4>>2] = 2;
- $5 = HEAP32[$0>>2]|0;
- $6 = $5 & 64;
- $7 = ($6|0)==(0);
- if ($7) {
-  $8 = ((($0)) + 60|0);
-  $9 = HEAP32[$8>>2]|0;
-  $10 = $3;
-  HEAP32[$vararg_buffer>>2] = $9;
-  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
-  HEAP32[$vararg_ptr1>>2] = 21523;
-  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
-  HEAP32[$vararg_ptr2>>2] = $10;
-  $11 = (___syscall54(54,($vararg_buffer|0))|0);
-  $12 = ($11|0)==(0);
-  if (!($12)) {
-   $13 = ((($0)) + 75|0);
-   HEAP8[$13>>0] = -1;
-  }
- }
- $14 = (___stdio_write($0,$1,$2)|0);
- STACKTOP = sp;return ($14|0);
-}
-function _tolower($0) {
- $0 = $0|0;
- var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = (_isupper($0)|0);
- $2 = ($1|0)==(0);
- $3 = $0 | 32;
- $$0 = $2 ? $0 : $3;
- return ($$0|0);
-}
-function _isupper($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = (($0) + -65)|0;
- $2 = ($1>>>0)<(26);
- $3 = $2&1;
- return ($3|0);
-}
-function _strtox_768($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
- $5 = sp;
- HEAP32[$5>>2] = 0;
- $6 = ((($5)) + 4|0);
- HEAP32[$6>>2] = $0;
- $7 = ((($5)) + 44|0);
- HEAP32[$7>>2] = $0;
- $8 = ($0|0)<(0|0);
- $9 = ((($0)) + 2147483647|0);
- $$sink = $8 ? (-1) : $9;
- $10 = ((($5)) + 8|0);
- HEAP32[$10>>2] = $$sink;
- $11 = ((($5)) + 76|0);
- HEAP32[$11>>2] = -1;
- ___shlim($5,0);
- $12 = (___intscan($5,$2,1,$3,$4)|0);
- $13 = tempRet0;
- $14 = ($1|0)==(0|0);
- if (!($14)) {
-  $15 = ((($5)) + 108|0);
-  $16 = HEAP32[$15>>2]|0;
-  $17 = HEAP32[$6>>2]|0;
-  $18 = HEAP32[$10>>2]|0;
-  $19 = (($17) + ($16))|0;
-  $20 = (($19) - ($18))|0;
-  $21 = (($0) + ($20)|0);
-  HEAP32[$1>>2] = $21;
- }
- tempRet0 = ($13);
- STACKTOP = sp;return ($12|0);
-}
-function ___shlim($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$sink = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = ((($0)) + 104|0);
- HEAP32[$2>>2] = $1;
- $3 = ((($0)) + 8|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ((($0)) + 4|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = $4;
- $8 = $6;
- $9 = (($7) - ($8))|0;
- $10 = ((($0)) + 108|0);
- HEAP32[$10>>2] = $9;
- $11 = ($1|0)!=(0);
- $12 = ($9|0)>($1|0);
- $or$cond = $11 & $12;
- $13 = (($6) + ($1)|0);
- $$sink = $or$cond ? $13 : $4;
- $14 = ((($0)) + 100|0);
- HEAP32[$14>>2] = $$sink;
- return;
-}
-function ___intscan($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$0154222 = 0, $$0157 = 0, $$0157$ = 0, $$0159 = 0, $$1155192 = 0, $$1158 = 0, $$1160 = 0, $$1160169 = 0, $$1165 = 0, $$1165167 = 0, $$1165168 = 0, $$166 = 0, $$2156210 = 0, $$2161$be = 0, $$2161$lcssa = 0, $$3162$be = 0, $$3162215 = 0, $$4163$be = 0, $$4163$lcssa = 0, $$5$be = 0;
- var $$6$be = 0, $$6$lcssa = 0, $$7$be = 0, $$7198 = 0, $$8 = 0, $$9$be = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0;
- var $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0;
- var $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0;
- var $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0;
- var $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0;
- var $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0;
- var $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0;
- var $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0;
- var $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0;
- var $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0;
- var $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0;
- var $294 = 0, $295 = 0, $296 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0;
- var $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0;
- var $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond12 = 0;
- var $or$cond187 = 0, $or$cond5 = 0, $or$cond7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $5 = ($1>>>0)>(36);
- L1: do {
-  if ($5) {
-   $8 = (___errno_location()|0);
-   HEAP32[$8>>2] = 22;
-   $289 = 0;$290 = 0;
-  } else {
-   $6 = ((($0)) + 4|0);
-   $7 = ((($0)) + 100|0);
-   while(1) {
-    $9 = HEAP32[$6>>2]|0;
-    $10 = HEAP32[$7>>2]|0;
-    $11 = ($9>>>0)<($10>>>0);
-    if ($11) {
-     $12 = ((($9)) + 1|0);
-     HEAP32[$6>>2] = $12;
-     $13 = HEAP8[$9>>0]|0;
-     $14 = $13&255;
-     $16 = $14;
-    } else {
-     $15 = (___shgetc($0)|0);
-     $16 = $15;
-    }
-    $17 = (_isspace($16)|0);
-    $18 = ($17|0)==(0);
-    if ($18) {
-     break;
-    }
-   }
-   L11: do {
-    switch ($16|0) {
-    case 43: case 45:  {
-     $19 = ($16|0)==(45);
-     $20 = $19 << 31 >> 31;
-     $21 = HEAP32[$6>>2]|0;
-     $22 = HEAP32[$7>>2]|0;
-     $23 = ($21>>>0)<($22>>>0);
-     if ($23) {
-      $24 = ((($21)) + 1|0);
-      HEAP32[$6>>2] = $24;
-      $25 = HEAP8[$21>>0]|0;
-      $26 = $25&255;
-      $$0157 = $20;$$0159 = $26;
-      break L11;
-     } else {
-      $27 = (___shgetc($0)|0);
-      $$0157 = $20;$$0159 = $27;
-      break L11;
-     }
-     break;
-    }
-    default: {
-     $$0157 = 0;$$0159 = $16;
-    }
-    }
-   } while(0);
-   $28 = ($1|0)==(0);
-   $29 = $1 | 16;
-   $30 = ($29|0)==(16);
-   $31 = ($$0159|0)==(48);
-   $or$cond5 = $30 & $31;
-   do {
-    if ($or$cond5) {
-     $32 = HEAP32[$6>>2]|0;
-     $33 = HEAP32[$7>>2]|0;
-     $34 = ($32>>>0)<($33>>>0);
-     if ($34) {
-      $35 = ((($32)) + 1|0);
-      HEAP32[$6>>2] = $35;
-      $36 = HEAP8[$32>>0]|0;
-      $37 = $36&255;
-      $40 = $37;
-     } else {
-      $38 = (___shgetc($0)|0);
-      $40 = $38;
-     }
-     $39 = $40 | 32;
-     $41 = ($39|0)==(120);
-     if (!($41)) {
-      if ($28) {
-       $$1160169 = $40;$$1165168 = 8;
-       label = 46;
-       break;
-      } else {
-       $$1160 = $40;$$1165 = $1;
-       label = 32;
-       break;
-      }
-     }
-     $42 = HEAP32[$6>>2]|0;
-     $43 = HEAP32[$7>>2]|0;
-     $44 = ($42>>>0)<($43>>>0);
-     if ($44) {
-      $45 = ((($42)) + 1|0);
-      HEAP32[$6>>2] = $45;
-      $46 = HEAP8[$42>>0]|0;
-      $47 = $46&255;
-      $50 = $47;
-     } else {
-      $48 = (___shgetc($0)|0);
-      $50 = $48;
-     }
-     $49 = ((69990) + ($50)|0);
-     $51 = HEAP8[$49>>0]|0;
-     $52 = ($51&255)>(15);
-     if ($52) {
-      $53 = HEAP32[$7>>2]|0;
-      $54 = ($53|0)!=(0|0);
-      if ($54) {
-       $55 = HEAP32[$6>>2]|0;
-       $56 = ((($55)) + -1|0);
-       HEAP32[$6>>2] = $56;
-      }
-      $57 = ($2|0)==(0);
-      if ($57) {
-       ___shlim($0,0);
-       $289 = 0;$290 = 0;
-       break L1;
-      }
-      if (!($54)) {
-       $289 = 0;$290 = 0;
-       break L1;
-      }
-      $58 = HEAP32[$6>>2]|0;
-      $59 = ((($58)) + -1|0);
-      HEAP32[$6>>2] = $59;
-      $289 = 0;$290 = 0;
-      break L1;
-     } else {
-      $$1160169 = $50;$$1165168 = 16;
-      label = 46;
-     }
-    } else {
-     $$166 = $28 ? 10 : $1;
-     $60 = ((69990) + ($$0159)|0);
-     $61 = HEAP8[$60>>0]|0;
-     $62 = $61&255;
-     $63 = ($62>>>0)<($$166>>>0);
-     if ($63) {
-      $$1160 = $$0159;$$1165 = $$166;
-      label = 32;
-     } else {
-      $64 = HEAP32[$7>>2]|0;
-      $65 = ($64|0)==(0|0);
-      if (!($65)) {
-       $66 = HEAP32[$6>>2]|0;
-       $67 = ((($66)) + -1|0);
-       HEAP32[$6>>2] = $67;
-      }
-      ___shlim($0,0);
-      $68 = (___errno_location()|0);
-      HEAP32[$68>>2] = 22;
-      $289 = 0;$290 = 0;
-      break L1;
-     }
-    }
-   } while(0);
-   L43: do {
-    if ((label|0) == 32) {
-     $69 = ($$1165|0)==(10);
-     if ($69) {
-      $70 = (($$1160) + -48)|0;
-      $71 = ($70>>>0)<(10);
-      if ($71) {
-       $$0154222 = 0;$74 = $70;
-       while(1) {
-        $72 = ($$0154222*10)|0;
-        $73 = (($72) + ($74))|0;
-        $75 = HEAP32[$6>>2]|0;
-        $76 = HEAP32[$7>>2]|0;
-        $77 = ($75>>>0)<($76>>>0);
-        if ($77) {
-         $78 = ((($75)) + 1|0);
-         HEAP32[$6>>2] = $78;
-         $79 = HEAP8[$75>>0]|0;
-         $80 = $79&255;
-         $$2161$be = $80;
-        } else {
-         $81 = (___shgetc($0)|0);
-         $$2161$be = $81;
-        }
-        $82 = (($$2161$be) + -48)|0;
-        $83 = ($82>>>0)<(10);
-        $84 = ($73>>>0)<(429496729);
-        $85 = $83 & $84;
-        if ($85) {
-         $$0154222 = $73;$74 = $82;
-        } else {
-         break;
-        }
-       }
-       $$2161$lcssa = $$2161$be;$291 = $73;$292 = 0;
-      } else {
-       $$2161$lcssa = $$1160;$291 = 0;$292 = 0;
-      }
-      $86 = (($$2161$lcssa) + -48)|0;
-      $87 = ($86>>>0)<(10);
-      if ($87) {
-       $$3162215 = $$2161$lcssa;$88 = $291;$89 = $292;$93 = $86;
-       while(1) {
-        $90 = (___muldi3(($88|0),($89|0),10,0)|0);
-        $91 = tempRet0;
-        $92 = ($93|0)<(0);
-        $94 = $92 << 31 >> 31;
-        $95 = $93 ^ -1;
-        $96 = $94 ^ -1;
-        $97 = ($91>>>0)>($96>>>0);
-        $98 = ($90>>>0)>($95>>>0);
-        $99 = ($91|0)==($96|0);
-        $100 = $99 & $98;
-        $101 = $97 | $100;
-        if ($101) {
-         $$1165167 = 10;$$8 = $$3162215;$293 = $88;$294 = $89;
-         label = 72;
-         break L43;
-        }
-        $102 = (_i64Add(($90|0),($91|0),($93|0),($94|0))|0);
-        $103 = tempRet0;
-        $104 = HEAP32[$6>>2]|0;
-        $105 = HEAP32[$7>>2]|0;
-        $106 = ($104>>>0)<($105>>>0);
-        if ($106) {
-         $107 = ((($104)) + 1|0);
-         HEAP32[$6>>2] = $107;
-         $108 = HEAP8[$104>>0]|0;
-         $109 = $108&255;
-         $$3162$be = $109;
-        } else {
-         $110 = (___shgetc($0)|0);
-         $$3162$be = $110;
-        }
-        $111 = (($$3162$be) + -48)|0;
-        $112 = ($111>>>0)<(10);
-        $113 = ($103>>>0)<(429496729);
-        $114 = ($102>>>0)<(2576980378);
-        $115 = ($103|0)==(429496729);
-        $116 = $115 & $114;
-        $117 = $113 | $116;
-        $or$cond7 = $112 & $117;
-        if ($or$cond7) {
-         $$3162215 = $$3162$be;$88 = $102;$89 = $103;$93 = $111;
-        } else {
-         break;
-        }
-       }
-       $118 = ($111>>>0)>(9);
-       if ($118) {
-        $$1158 = $$0157;$263 = $103;$265 = $102;
-       } else {
-        $$1165167 = 10;$$8 = $$3162$be;$293 = $102;$294 = $103;
-        label = 72;
-       }
-      } else {
-       $$1158 = $$0157;$263 = $292;$265 = $291;
-      }
-     } else {
-      $$1160169 = $$1160;$$1165168 = $$1165;
-      label = 46;
-     }
-    }
-   } while(0);
-   L63: do {
-    if ((label|0) == 46) {
-     $119 = (($$1165168) + -1)|0;
-     $120 = $119 & $$1165168;
-     $121 = ($120|0)==(0);
-     if ($121) {
-      $126 = ($$1165168*23)|0;
-      $127 = $126 >>> 5;
-      $128 = $127 & 7;
-      $129 = (70246 + ($128)|0);
-      $130 = HEAP8[$129>>0]|0;
-      $131 = $130 << 24 >> 24;
-      $132 = ((69990) + ($$1160169)|0);
-      $133 = HEAP8[$132>>0]|0;
-      $134 = $133&255;
-      $135 = ($134>>>0)<($$1165168>>>0);
-      if ($135) {
-       $$1155192 = 0;$138 = $134;
-       while(1) {
-        $136 = $$1155192 << $131;
-        $137 = $138 | $136;
-        $139 = HEAP32[$6>>2]|0;
-        $140 = HEAP32[$7>>2]|0;
-        $141 = ($139>>>0)<($140>>>0);
-        if ($141) {
-         $142 = ((($139)) + 1|0);
-         HEAP32[$6>>2] = $142;
-         $143 = HEAP8[$139>>0]|0;
-         $144 = $143&255;
-         $$4163$be = $144;
-        } else {
-         $145 = (___shgetc($0)|0);
-         $$4163$be = $145;
-        }
-        $146 = ((69990) + ($$4163$be)|0);
-        $147 = HEAP8[$146>>0]|0;
-        $148 = $147&255;
-        $149 = ($148>>>0)<($$1165168>>>0);
-        $150 = ($137>>>0)<(134217728);
-        $151 = $150 & $149;
-        if ($151) {
-         $$1155192 = $137;$138 = $148;
-        } else {
-         break;
-        }
-       }
-       $$4163$lcssa = $$4163$be;$155 = $147;$158 = 0;$160 = $137;
-      } else {
-       $$4163$lcssa = $$1160169;$155 = $133;$158 = 0;$160 = 0;
-      }
-      $152 = (_bitshift64Lshr(-1,-1,($131|0))|0);
-      $153 = tempRet0;
-      $154 = $155&255;
-      $156 = ($154>>>0)>=($$1165168>>>0);
-      $157 = ($158>>>0)>($153>>>0);
-      $159 = ($160>>>0)>($152>>>0);
-      $161 = ($158|0)==($153|0);
-      $162 = $161 & $159;
-      $163 = $157 | $162;
-      $or$cond187 = $156 | $163;
-      if ($or$cond187) {
-       $$1165167 = $$1165168;$$8 = $$4163$lcssa;$293 = $160;$294 = $158;
-       label = 72;
-       break;
-      } else {
-       $164 = $160;$165 = $158;$169 = $155;
-      }
-      while(1) {
-       $166 = (_bitshift64Shl(($164|0),($165|0),($131|0))|0);
-       $167 = tempRet0;
-       $168 = $169&255;
-       $170 = $168 | $166;
-       $171 = HEAP32[$6>>2]|0;
-       $172 = HEAP32[$7>>2]|0;
-       $173 = ($171>>>0)<($172>>>0);
-       if ($173) {
-        $174 = ((($171)) + 1|0);
-        HEAP32[$6>>2] = $174;
-        $175 = HEAP8[$171>>0]|0;
-        $176 = $175&255;
-        $$5$be = $176;
-       } else {
-        $177 = (___shgetc($0)|0);
-        $$5$be = $177;
-       }
-       $178 = ((69990) + ($$5$be)|0);
-       $179 = HEAP8[$178>>0]|0;
-       $180 = $179&255;
-       $181 = ($180>>>0)>=($$1165168>>>0);
-       $182 = ($167>>>0)>($153>>>0);
-       $183 = ($170>>>0)>($152>>>0);
-       $184 = ($167|0)==($153|0);
-       $185 = $184 & $183;
-       $186 = $182 | $185;
-       $or$cond = $181 | $186;
-       if ($or$cond) {
-        $$1165167 = $$1165168;$$8 = $$5$be;$293 = $170;$294 = $167;
-        label = 72;
-        break L63;
-       } else {
-        $164 = $170;$165 = $167;$169 = $179;
-       }
-      }
-     }
-     $122 = ((69990) + ($$1160169)|0);
-     $123 = HEAP8[$122>>0]|0;
-     $124 = $123&255;
-     $125 = ($124>>>0)<($$1165168>>>0);
-     if ($125) {
-      $$2156210 = 0;$189 = $124;
-      while(1) {
-       $187 = Math_imul($$2156210, $$1165168)|0;
-       $188 = (($189) + ($187))|0;
-       $190 = HEAP32[$6>>2]|0;
-       $191 = HEAP32[$7>>2]|0;
-       $192 = ($190>>>0)<($191>>>0);
-       if ($192) {
-        $193 = ((($190)) + 1|0);
-        HEAP32[$6>>2] = $193;
-        $194 = HEAP8[$190>>0]|0;
-        $195 = $194&255;
-        $$6$be = $195;
-       } else {
-        $196 = (___shgetc($0)|0);
-        $$6$be = $196;
-       }
-       $197 = ((69990) + ($$6$be)|0);
-       $198 = HEAP8[$197>>0]|0;
-       $199 = $198&255;
-       $200 = ($199>>>0)<($$1165168>>>0);
-       $201 = ($188>>>0)<(119304647);
-       $202 = $201 & $200;
-       if ($202) {
-        $$2156210 = $188;$189 = $199;
-       } else {
-        break;
-       }
-      }
-      $$6$lcssa = $$6$be;$204 = $198;$295 = $188;$296 = 0;
-     } else {
-      $$6$lcssa = $$1160169;$204 = $123;$295 = 0;$296 = 0;
-     }
-     $203 = $204&255;
-     $205 = ($203>>>0)<($$1165168>>>0);
-     if ($205) {
-      $206 = (___udivdi3(-1,-1,($$1165168|0),0)|0);
-      $207 = tempRet0;
-      $$7198 = $$6$lcssa;$209 = $296;$211 = $295;$218 = $204;
-      while(1) {
-       $208 = ($209>>>0)>($207>>>0);
-       $210 = ($211>>>0)>($206>>>0);
-       $212 = ($209|0)==($207|0);
-       $213 = $212 & $210;
-       $214 = $208 | $213;
-       if ($214) {
-        $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209;
-        label = 72;
-        break L63;
-       }
-       $215 = (___muldi3(($211|0),($209|0),($$1165168|0),0)|0);
-       $216 = tempRet0;
-       $217 = $218&255;
-       $219 = $217 ^ -1;
-       $220 = ($216>>>0)>(4294967295);
-       $221 = ($215>>>0)>($219>>>0);
-       $222 = ($216|0)==(-1);
-       $223 = $222 & $221;
-       $224 = $220 | $223;
-       if ($224) {
-        $$1165167 = $$1165168;$$8 = $$7198;$293 = $211;$294 = $209;
-        label = 72;
-        break L63;
-       }
-       $225 = (_i64Add(($217|0),0,($215|0),($216|0))|0);
-       $226 = tempRet0;
-       $227 = HEAP32[$6>>2]|0;
-       $228 = HEAP32[$7>>2]|0;
-       $229 = ($227>>>0)<($228>>>0);
-       if ($229) {
-        $230 = ((($227)) + 1|0);
-        HEAP32[$6>>2] = $230;
-        $231 = HEAP8[$227>>0]|0;
-        $232 = $231&255;
-        $$7$be = $232;
-       } else {
-        $233 = (___shgetc($0)|0);
-        $$7$be = $233;
-       }
-       $234 = ((69990) + ($$7$be)|0);
-       $235 = HEAP8[$234>>0]|0;
-       $236 = $235&255;
-       $237 = ($236>>>0)<($$1165168>>>0);
-       if ($237) {
-        $$7198 = $$7$be;$209 = $226;$211 = $225;$218 = $235;
-       } else {
-        $$1165167 = $$1165168;$$8 = $$7$be;$293 = $225;$294 = $226;
-        label = 72;
-        break;
-       }
-      }
-     } else {
-      $$1165167 = $$1165168;$$8 = $$6$lcssa;$293 = $295;$294 = $296;
-      label = 72;
-     }
-    }
-   } while(0);
-   if ((label|0) == 72) {
-    $238 = ((69990) + ($$8)|0);
-    $239 = HEAP8[$238>>0]|0;
-    $240 = $239&255;
-    $241 = ($240>>>0)<($$1165167>>>0);
-    if ($241) {
-     while(1) {
-      $242 = HEAP32[$6>>2]|0;
-      $243 = HEAP32[$7>>2]|0;
-      $244 = ($242>>>0)<($243>>>0);
-      if ($244) {
-       $245 = ((($242)) + 1|0);
-       HEAP32[$6>>2] = $245;
-       $246 = HEAP8[$242>>0]|0;
-       $247 = $246&255;
-       $$9$be = $247;
-      } else {
-       $248 = (___shgetc($0)|0);
-       $$9$be = $248;
-      }
-      $249 = ((69990) + ($$9$be)|0);
-      $250 = HEAP8[$249>>0]|0;
-      $251 = $250&255;
-      $252 = ($251>>>0)<($$1165167>>>0);
-      if (!($252)) {
-       break;
-      }
-     }
-     $253 = (___errno_location()|0);
-     HEAP32[$253>>2] = 34;
-     $254 = $3 & 1;
-     $255 = ($254|0)==(0);
-     $256 = (0)==(0);
-     $257 = $255 & $256;
-     $$0157$ = $257 ? $$0157 : 0;
-     $$1158 = $$0157$;$263 = $4;$265 = $3;
-    } else {
-     $$1158 = $$0157;$263 = $294;$265 = $293;
-    }
-   }
-   $258 = HEAP32[$7>>2]|0;
-   $259 = ($258|0)==(0|0);
-   if (!($259)) {
-    $260 = HEAP32[$6>>2]|0;
-    $261 = ((($260)) + -1|0);
-    HEAP32[$6>>2] = $261;
-   }
-   $262 = ($263>>>0)<($4>>>0);
-   $264 = ($265>>>0)<($3>>>0);
-   $266 = ($263|0)==($4|0);
-   $267 = $266 & $264;
-   $268 = $262 | $267;
-   if (!($268)) {
-    $269 = $3 & 1;
-    $270 = ($269|0)!=(0);
-    $271 = (0)!=(0);
-    $272 = $270 | $271;
-    $273 = ($$1158|0)!=(0);
-    $or$cond12 = $272 | $273;
-    if (!($or$cond12)) {
-     $274 = (___errno_location()|0);
-     HEAP32[$274>>2] = 34;
-     $275 = (_i64Add(($3|0),($4|0),-1,-1)|0);
-     $276 = tempRet0;
-     $289 = $276;$290 = $275;
-     break;
-    }
-    $277 = ($263>>>0)>($4>>>0);
-    $278 = ($265>>>0)>($3>>>0);
-    $279 = ($263|0)==($4|0);
-    $280 = $279 & $278;
-    $281 = $277 | $280;
-    if ($281) {
-     $282 = (___errno_location()|0);
-     HEAP32[$282>>2] = 34;
-     $289 = $4;$290 = $3;
-     break;
-    }
-   }
-   $283 = ($$1158|0)<(0);
-   $284 = $283 << 31 >> 31;
-   $285 = $265 ^ $$1158;
-   $286 = $263 ^ $284;
-   $287 = (_i64Subtract(($285|0),($286|0),($$1158|0),($284|0))|0);
-   $288 = tempRet0;
-   $289 = $288;$290 = $287;
-  }
- } while(0);
- tempRet0 = ($289);
- return ($290|0);
-}
-function ___shgetc($0) {
- $0 = $0|0;
- var $$0 = 0, $$phi$trans$insert = 0, $$phi$trans$insert28$phi$trans$insert = 0, $$pre = 0, $$pre$phi34Z2D = 0, $$pre29$pre = 0, $$pre35 = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0;
- var $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ((($0)) + 104|0);
- $2 = HEAP32[$1>>2]|0;
- $3 = ($2|0)==(0);
- if ($3) {
-  label = 3;
- } else {
-  $4 = ((($0)) + 108|0);
-  $5 = HEAP32[$4>>2]|0;
-  $6 = ($5|0)<($2|0);
-  if ($6) {
-   label = 3;
-  } else {
-   label = 4;
-  }
- }
- if ((label|0) == 3) {
-  $7 = (___uflow($0)|0);
-  $8 = ($7|0)<(0);
-  if ($8) {
-   label = 4;
-  } else {
-   $10 = HEAP32[$1>>2]|0;
-   $11 = ($10|0)==(0);
-   $$phi$trans$insert = ((($0)) + 8|0);
-   if ($11) {
-    $$pre = HEAP32[$$phi$trans$insert>>2]|0;
-    $$phi$trans$insert28$phi$trans$insert = ((($0)) + 4|0);
-    $$pre29$pre = HEAP32[$$phi$trans$insert28$phi$trans$insert>>2]|0;
-    $$pre35 = ((($0)) + 108|0);
-    $$pre$phi34Z2D = $$pre35;$$sink = $$pre;$26 = $$pre;$29 = $$pre29$pre;
-   } else {
-    $12 = HEAP32[$$phi$trans$insert>>2]|0;
-    $13 = ((($0)) + 4|0);
-    $14 = HEAP32[$13>>2]|0;
-    $15 = $14;
-    $16 = (($12) - ($15))|0;
-    $17 = ((($0)) + 108|0);
-    $18 = HEAP32[$17>>2]|0;
-    $19 = (($10) - ($18))|0;
-    $20 = ($16|0)<($19|0);
-    $21 = $12;
-    if ($20) {
-     $$pre$phi34Z2D = $17;$$sink = $21;$26 = $21;$29 = $14;
-    } else {
-     $22 = (($19) + -1)|0;
-     $23 = (($14) + ($22)|0);
-     $$pre$phi34Z2D = $17;$$sink = $23;$26 = $21;$29 = $14;
-    }
-   }
-   $24 = ((($0)) + 100|0);
-   HEAP32[$24>>2] = $$sink;
-   $25 = ($26|0)==(0|0);
-   if (!($25)) {
-    $27 = $26;
-    $28 = $29;
-    $30 = HEAP32[$$pre$phi34Z2D>>2]|0;
-    $31 = (($27) + 1)|0;
-    $32 = (($31) - ($28))|0;
-    $33 = (($32) + ($30))|0;
-    HEAP32[$$pre$phi34Z2D>>2] = $33;
-   }
-   $34 = ((($29)) + -1|0);
-   $35 = HEAP8[$34>>0]|0;
-   $36 = $35&255;
-   $37 = ($36|0)==($7|0);
-   if ($37) {
-    $$0 = $7;
-   } else {
-    $38 = $7&255;
-    HEAP8[$34>>0] = $38;
-    $$0 = $7;
-   }
-  }
- }
- if ((label|0) == 4) {
-  $9 = ((($0)) + 100|0);
-  HEAP32[$9>>2] = 0;
-  $$0 = -1;
- }
- return ($$0|0);
-}
-function _isspace($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ($0|0)==(32);
- $2 = (($0) + -9)|0;
- $3 = ($2>>>0)<(5);
- $4 = $1 | $3;
- $5 = $4&1;
- return ($5|0);
-}
-function ___uflow($0) {
- $0 = $0|0;
- var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = (___toread($0)|0);
- $3 = ($2|0)==(0);
- if ($3) {
-  $4 = ((($0)) + 32|0);
-  $5 = HEAP32[$4>>2]|0;
-  $6 = (FUNCTION_TABLE_iiii[$5 & 511]($0,$1,1)|0);
-  $7 = ($6|0)==(1);
-  if ($7) {
-   $8 = HEAP8[$1>>0]|0;
-   $9 = $8&255;
-   $$0 = $9;
-  } else {
-   $$0 = -1;
-  }
- } else {
-  $$0 = -1;
- }
- STACKTOP = sp;return ($$0|0);
-}
-function ___toread($0) {
- $0 = $0|0;
- var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $sext = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ((($0)) + 74|0);
- $2 = HEAP8[$1>>0]|0;
- $3 = $2 << 24 >> 24;
- $4 = (($3) + 255)|0;
- $5 = $4 | $3;
- $6 = $5&255;
- HEAP8[$1>>0] = $6;
- $7 = ((($0)) + 20|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ((($0)) + 28|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = ($8>>>0)>($10>>>0);
- if ($11) {
-  $12 = ((($0)) + 36|0);
-  $13 = HEAP32[$12>>2]|0;
-  (FUNCTION_TABLE_iiii[$13 & 511]($0,0,0)|0);
- }
- $14 = ((($0)) + 16|0);
- HEAP32[$14>>2] = 0;
- HEAP32[$9>>2] = 0;
- HEAP32[$7>>2] = 0;
- $15 = HEAP32[$0>>2]|0;
- $16 = $15 & 4;
- $17 = ($16|0)==(0);
- if ($17) {
-  $19 = ((($0)) + 44|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = ((($0)) + 48|0);
-  $22 = HEAP32[$21>>2]|0;
-  $23 = (($20) + ($22)|0);
-  $24 = ((($0)) + 8|0);
-  HEAP32[$24>>2] = $23;
-  $25 = ((($0)) + 4|0);
-  HEAP32[$25>>2] = $23;
-  $26 = $15 << 27;
-  $sext = $26 >> 31;
-  $$0 = $sext;
- } else {
-  $18 = $15 | 32;
-  HEAP32[$0>>2] = $18;
-  $$0 = -1;
- }
- return ($$0|0);
-}
-function _strtoul($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = (_strtox_768($0,$1,$2,-1,0)|0);
- $4 = tempRet0;
- return ($3|0);
-}
-function _copysign($0,$1) {
- $0 = +$0;
- $1 = +$1;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
- $3 = HEAP32[tempDoublePtr+4>>2]|0;
- HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0;
- $5 = HEAP32[tempDoublePtr+4>>2]|0;
- $6 = $3 & 2147483647;
- $7 = $5 & -2147483648;
- $8 = $7 | $6;
- HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $8;$9 = +HEAPF64[tempDoublePtr>>3];
- return (+$9);
-}
-function _strcmp($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- $2 = HEAP8[$0>>0]|0;
- $3 = HEAP8[$1>>0]|0;
- $4 = ($2<<24>>24)!=($3<<24>>24);
- $5 = ($2<<24>>24)==(0);
- $or$cond9 = $5 | $4;
- if ($or$cond9) {
-  $$lcssa = $3;$$lcssa8 = $2;
- } else {
-  $$011 = $1;$$0710 = $0;
-  while(1) {
-   $6 = ((($$0710)) + 1|0);
-   $7 = ((($$011)) + 1|0);
-   $8 = HEAP8[$6>>0]|0;
-   $9 = HEAP8[$7>>0]|0;
-   $10 = ($8<<24>>24)!=($9<<24>>24);
-   $11 = ($8<<24>>24)==(0);
-   $or$cond = $11 | $10;
-   if ($or$cond) {
-    $$lcssa = $9;$$lcssa8 = $8;
-    break;
-   } else {
-    $$011 = $7;$$0710 = $6;
-   }
-  }
- }
- $12 = $$lcssa8&255;
- $13 = $$lcssa&255;
- $14 = (($12) - ($13))|0;
- return ($14|0);
-}
-function _memcmp($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$01318 = 0, $$01417 = 0, $$019 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = ($2|0)==(0);
- L1: do {
-  if ($3) {
-   $14 = 0;
-  } else {
-   $$01318 = $0;$$01417 = $2;$$019 = $1;
-   while(1) {
-    $4 = HEAP8[$$01318>>0]|0;
-    $5 = HEAP8[$$019>>0]|0;
-    $6 = ($4<<24>>24)==($5<<24>>24);
-    if (!($6)) {
-     break;
-    }
-    $7 = (($$01417) + -1)|0;
-    $8 = ((($$01318)) + 1|0);
-    $9 = ((($$019)) + 1|0);
-    $10 = ($7|0)==(0);
-    if ($10) {
-     $14 = 0;
-     break L1;
-    } else {
-     $$01318 = $8;$$01417 = $7;$$019 = $9;
-    }
-   }
-   $11 = $4&255;
-   $12 = $5&255;
-   $13 = (($11) - ($12))|0;
-   $14 = $13;
-  }
- } while(0);
- return ($14|0);
-}
-function _strncmp($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$01824 = 0, $$01926 = 0, $$01926$in = 0, $$020 = 0, $$025 = 0, $$lcssa = 0, $$lcssa22 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0;
- var $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond21 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = ($2|0)==(0);
- if ($3) {
-  $$020 = 0;
- } else {
-  $4 = HEAP8[$0>>0]|0;
-  $5 = $4&255;
-  $6 = ($4<<24>>24)==(0);
-  $7 = HEAP8[$1>>0]|0;
-  $8 = $7&255;
-  L3: do {
-   if ($6) {
-    $$lcssa = $8;$$lcssa22 = $5;
-   } else {
-    $$01824 = $0;$$01926$in = $2;$$025 = $1;$10 = $7;$13 = $4;$22 = $8;$23 = $5;
-    while(1) {
-     $$01926 = (($$01926$in) + -1)|0;
-     $9 = ($10<<24>>24)!=(0);
-     $11 = ($$01926|0)!=(0);
-     $or$cond = $11 & $9;
-     $12 = ($13<<24>>24)==($10<<24>>24);
-     $or$cond21 = $12 & $or$cond;
-     if (!($or$cond21)) {
-      $$lcssa = $22;$$lcssa22 = $23;
-      break L3;
-     }
-     $14 = ((($$01824)) + 1|0);
-     $15 = ((($$025)) + 1|0);
-     $16 = HEAP8[$14>>0]|0;
-     $17 = $16&255;
-     $18 = ($16<<24>>24)==(0);
-     $19 = HEAP8[$15>>0]|0;
-     $20 = $19&255;
-     if ($18) {
-      $$lcssa = $20;$$lcssa22 = $17;
-      break;
-     } else {
-      $$01824 = $14;$$01926$in = $$01926;$$025 = $15;$10 = $19;$13 = $16;$22 = $20;$23 = $17;
-     }
-    }
-   }
-  } while(0);
-  $21 = (($$lcssa22) - ($$lcssa))|0;
-  $$020 = $21;
- }
- return ($$020|0);
-}
-function _vsnprintf($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$$015 = 0, $$0 = 0, $$014 = 0, $$015 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, src = 0, stop = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
- $4 = sp + 124|0;
- $5 = sp;
- dest=$5; src=3180; stop=dest+124|0; do { HEAP32[dest>>2]=HEAP32[src>>2]|0; dest=dest+4|0; src=src+4|0; } while ((dest|0) < (stop|0));
- $6 = (($1) + -1)|0;
- $7 = ($6>>>0)>(2147483646);
- if ($7) {
-  $8 = ($1|0)==(0);
-  if ($8) {
-   $$014 = $4;$$015 = 1;
-   label = 4;
-  } else {
-   $9 = (___errno_location()|0);
-   HEAP32[$9>>2] = 75;
-   $$0 = -1;
-  }
- } else {
-  $$014 = $0;$$015 = $1;
-  label = 4;
- }
- if ((label|0) == 4) {
-  $10 = $$014;
-  $11 = (-2 - ($10))|0;
-  $12 = ($$015>>>0)>($11>>>0);
-  $$$015 = $12 ? $11 : $$015;
-  $13 = ((($5)) + 48|0);
-  HEAP32[$13>>2] = $$$015;
-  $14 = ((($5)) + 20|0);
-  HEAP32[$14>>2] = $$014;
-  $15 = ((($5)) + 44|0);
-  HEAP32[$15>>2] = $$014;
-  $16 = (($$014) + ($$$015)|0);
-  $17 = ((($5)) + 16|0);
-  HEAP32[$17>>2] = $16;
-  $18 = ((($5)) + 28|0);
-  HEAP32[$18>>2] = $16;
-  $19 = (_vfprintf($5,$2,$3)|0);
-  $20 = ($$$015|0)==(0);
-  if ($20) {
-   $$0 = $19;
-  } else {
-   $21 = HEAP32[$14>>2]|0;
-   $22 = HEAP32[$17>>2]|0;
-   $23 = ($21|0)==($22|0);
-   $24 = $23 << 31 >> 31;
-   $25 = (($21) + ($24)|0);
-   HEAP8[$25>>0] = 0;
-   $$0 = $19;
-  }
- }
- STACKTOP = sp;return ($$0|0);
-}
-function _vfprintf($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$ = 0, $$0 = 0, $$1 = 0, $$1$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, $vacopy_currentptr = 0, dest = 0, label = 0, sp = 0, stop = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 224|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(224|0);
- $3 = sp + 120|0;
- $4 = sp + 80|0;
- $5 = sp;
- $6 = sp + 136|0;
- dest=$4; stop=dest+40|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
- $vacopy_currentptr = HEAP32[$2>>2]|0;
- HEAP32[$3>>2] = $vacopy_currentptr;
- $7 = (_printf_core(0,$1,$3,$5,$4)|0);
- $8 = ($7|0)<(0);
- if ($8) {
-  $$0 = -1;
- } else {
-  $9 = ((($0)) + 76|0);
-  $10 = HEAP32[$9>>2]|0;
-  $11 = ($10|0)>(-1);
-  if ($11) {
-   $12 = (___lockfile($0)|0);
-   $40 = $12;
-  } else {
-   $40 = 0;
-  }
-  $13 = HEAP32[$0>>2]|0;
-  $14 = $13 & 32;
-  $15 = ((($0)) + 74|0);
-  $16 = HEAP8[$15>>0]|0;
-  $17 = ($16<<24>>24)<(1);
-  if ($17) {
-   $18 = $13 & -33;
-   HEAP32[$0>>2] = $18;
-  }
-  $19 = ((($0)) + 48|0);
-  $20 = HEAP32[$19>>2]|0;
-  $21 = ($20|0)==(0);
-  if ($21) {
-   $23 = ((($0)) + 44|0);
-   $24 = HEAP32[$23>>2]|0;
-   HEAP32[$23>>2] = $6;
-   $25 = ((($0)) + 28|0);
-   HEAP32[$25>>2] = $6;
-   $26 = ((($0)) + 20|0);
-   HEAP32[$26>>2] = $6;
-   HEAP32[$19>>2] = 80;
-   $27 = ((($6)) + 80|0);
-   $28 = ((($0)) + 16|0);
-   HEAP32[$28>>2] = $27;
-   $29 = (_printf_core($0,$1,$3,$5,$4)|0);
-   $30 = ($24|0)==(0|0);
-   if ($30) {
-    $$1 = $29;
-   } else {
-    $31 = ((($0)) + 36|0);
-    $32 = HEAP32[$31>>2]|0;
-    (FUNCTION_TABLE_iiii[$32 & 511]($0,0,0)|0);
-    $33 = HEAP32[$26>>2]|0;
-    $34 = ($33|0)==(0|0);
-    $$ = $34 ? -1 : $29;
-    HEAP32[$23>>2] = $24;
-    HEAP32[$19>>2] = 0;
-    HEAP32[$28>>2] = 0;
-    HEAP32[$25>>2] = 0;
-    HEAP32[$26>>2] = 0;
-    $$1 = $$;
-   }
-  } else {
-   $22 = (_printf_core($0,$1,$3,$5,$4)|0);
-   $$1 = $22;
-  }
-  $35 = HEAP32[$0>>2]|0;
-  $36 = $35 & 32;
-  $37 = ($36|0)==(0);
-  $$1$ = $37 ? $$1 : -1;
-  $38 = $35 | $14;
-  HEAP32[$0>>2] = $38;
-  $39 = ($40|0)==(0);
-  if (!($39)) {
-   ___unlockfile($0);
-  }
-  $$0 = $$1$;
- }
- STACKTOP = sp;return ($$0|0);
-}
-function _printf_core($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$ = 0, $$$ = 0, $$$0259 = 0, $$$0262 = 0, $$$0269 = 0, $$$4266 = 0, $$$5 = 0, $$0 = 0, $$0228 = 0, $$0228$ = 0, $$0229322 = 0, $$0232 = 0, $$0235 = 0, $$0237 = 0, $$0240$lcssa = 0, $$0240$lcssa357 = 0, $$0240321 = 0, $$0243 = 0, $$0247 = 0, $$0249$lcssa = 0;
- var $$0249306 = 0, $$0252 = 0, $$0253 = 0, $$0254 = 0, $$0254$$0254$ = 0, $$0259 = 0, $$0262$lcssa = 0, $$0262311 = 0, $$0269 = 0, $$0269$phi = 0, $$1 = 0, $$1230333 = 0, $$1233 = 0, $$1236 = 0, $$1238 = 0, $$1241332 = 0, $$1244320 = 0, $$1248 = 0, $$1250 = 0, $$1255 = 0;
- var $$1260 = 0, $$1263 = 0, $$1263$ = 0, $$1270 = 0, $$2 = 0, $$2234 = 0, $$2239 = 0, $$2242305 = 0, $$2245 = 0, $$2251 = 0, $$2256 = 0, $$2256$ = 0, $$2256$$$2256 = 0, $$2261 = 0, $$2271 = 0, $$284$ = 0, $$289 = 0, $$290 = 0, $$3257 = 0, $$3265 = 0;
- var $$3272 = 0, $$3303 = 0, $$377 = 0, $$4258355 = 0, $$4266 = 0, $$5 = 0, $$6268 = 0, $$lcssa295 = 0, $$pre = 0, $$pre346 = 0, $$pre347 = 0, $$pre347$pre = 0, $$pre349 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0;
- var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
- var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
- var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
- var $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0;
- var $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0;
- var $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0;
- var $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0;
- var $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0;
- var $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0;
- var $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0;
- var $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0;
- var $306 = 0.0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0;
- var $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
- var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
- var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
- var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
- var $arglist_current = 0, $arglist_current2 = 0, $arglist_next = 0, $arglist_next3 = 0, $expanded = 0, $expanded10 = 0, $expanded11 = 0, $expanded13 = 0, $expanded14 = 0, $expanded15 = 0, $expanded4 = 0, $expanded6 = 0, $expanded7 = 0, $expanded8 = 0, $isdigit = 0, $isdigit275 = 0, $isdigit277 = 0, $isdigittmp = 0, $isdigittmp$ = 0, $isdigittmp274 = 0;
- var $isdigittmp276 = 0, $narrow = 0, $or$cond = 0, $or$cond281 = 0, $or$cond283 = 0, $or$cond286 = 0, $storemerge = 0, $storemerge273310 = 0, $storemerge278 = 0, $trunc = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $5 = sp + 16|0;
- $6 = sp;
- $7 = sp + 24|0;
- $8 = sp + 8|0;
- $9 = sp + 20|0;
- HEAP32[$5>>2] = $1;
- $10 = ($0|0)!=(0|0);
- $11 = ((($7)) + 40|0);
- $12 = $11;
- $13 = ((($7)) + 39|0);
- $14 = ((($8)) + 4|0);
- $$0243 = 0;$$0247 = 0;$$0269 = 0;$21 = $1;
- L1: while(1) {
-  $15 = ($$0247|0)>(-1);
-  do {
-   if ($15) {
-    $16 = (2147483647 - ($$0247))|0;
-    $17 = ($$0243|0)>($16|0);
-    if ($17) {
-     $18 = (___errno_location()|0);
-     HEAP32[$18>>2] = 75;
-     $$1248 = -1;
-     break;
-    } else {
-     $19 = (($$0243) + ($$0247))|0;
-     $$1248 = $19;
-     break;
-    }
-   } else {
-    $$1248 = $$0247;
-   }
-  } while(0);
-  $20 = HEAP8[$21>>0]|0;
-  $22 = ($20<<24>>24)==(0);
-  if ($22) {
-   label = 87;
-   break;
-  } else {
-   $23 = $20;$25 = $21;
-  }
-  L9: while(1) {
-   switch ($23<<24>>24) {
-   case 37:  {
-    $$0249306 = $25;$27 = $25;
-    label = 9;
-    break L9;
-    break;
-   }
-   case 0:  {
-    $$0249$lcssa = $25;$39 = $25;
-    break L9;
-    break;
-   }
-   default: {
-   }
-   }
-   $24 = ((($25)) + 1|0);
-   HEAP32[$5>>2] = $24;
-   $$pre = HEAP8[$24>>0]|0;
-   $23 = $$pre;$25 = $24;
-  }
-  L12: do {
-   if ((label|0) == 9) {
-    while(1) {
-     label = 0;
-     $26 = ((($27)) + 1|0);
-     $28 = HEAP8[$26>>0]|0;
-     $29 = ($28<<24>>24)==(37);
-     if (!($29)) {
-      $$0249$lcssa = $$0249306;$39 = $27;
-      break L12;
-     }
-     $30 = ((($$0249306)) + 1|0);
-     $31 = ((($27)) + 2|0);
-     HEAP32[$5>>2] = $31;
-     $32 = HEAP8[$31>>0]|0;
-     $33 = ($32<<24>>24)==(37);
-     if ($33) {
-      $$0249306 = $30;$27 = $31;
-      label = 9;
-     } else {
-      $$0249$lcssa = $30;$39 = $31;
-      break;
-     }
-    }
-   }
-  } while(0);
-  $34 = $$0249$lcssa;
-  $35 = $21;
-  $36 = (($34) - ($35))|0;
-  if ($10) {
-   _out_1229($0,$21,$36);
-  }
-  $37 = ($36|0)==(0);
-  if (!($37)) {
-   $$0269$phi = $$0269;$$0243 = $36;$$0247 = $$1248;$21 = $39;$$0269 = $$0269$phi;
-   continue;
-  }
-  $38 = ((($39)) + 1|0);
-  $40 = HEAP8[$38>>0]|0;
-  $41 = $40 << 24 >> 24;
-  $isdigittmp = (($41) + -48)|0;
-  $isdigit = ($isdigittmp>>>0)<(10);
-  if ($isdigit) {
-   $42 = ((($39)) + 2|0);
-   $43 = HEAP8[$42>>0]|0;
-   $44 = ($43<<24>>24)==(36);
-   $45 = ((($39)) + 3|0);
-   $$377 = $44 ? $45 : $38;
-   $$$0269 = $44 ? 1 : $$0269;
-   $isdigittmp$ = $44 ? $isdigittmp : -1;
-   $$0253 = $isdigittmp$;$$1270 = $$$0269;$storemerge = $$377;
-  } else {
-   $$0253 = -1;$$1270 = $$0269;$storemerge = $38;
-  }
-  HEAP32[$5>>2] = $storemerge;
-  $46 = HEAP8[$storemerge>>0]|0;
-  $47 = $46 << 24 >> 24;
-  $48 = (($47) + -32)|0;
-  $49 = ($48>>>0)<(32);
-  L24: do {
-   if ($49) {
-    $$0262311 = 0;$329 = $46;$51 = $48;$storemerge273310 = $storemerge;
-    while(1) {
-     $50 = 1 << $51;
-     $52 = $50 & 75913;
-     $53 = ($52|0)==(0);
-     if ($53) {
-      $$0262$lcssa = $$0262311;$$lcssa295 = $329;$62 = $storemerge273310;
-      break L24;
-     }
-     $54 = $50 | $$0262311;
-     $55 = ((($storemerge273310)) + 1|0);
-     HEAP32[$5>>2] = $55;
-     $56 = HEAP8[$55>>0]|0;
-     $57 = $56 << 24 >> 24;
-     $58 = (($57) + -32)|0;
-     $59 = ($58>>>0)<(32);
-     if ($59) {
-      $$0262311 = $54;$329 = $56;$51 = $58;$storemerge273310 = $55;
-     } else {
-      $$0262$lcssa = $54;$$lcssa295 = $56;$62 = $55;
-      break;
-     }
-    }
-   } else {
-    $$0262$lcssa = 0;$$lcssa295 = $46;$62 = $storemerge;
-   }
-  } while(0);
-  $60 = ($$lcssa295<<24>>24)==(42);
-  if ($60) {
-   $61 = ((($62)) + 1|0);
-   $63 = HEAP8[$61>>0]|0;
-   $64 = $63 << 24 >> 24;
-   $isdigittmp276 = (($64) + -48)|0;
-   $isdigit277 = ($isdigittmp276>>>0)<(10);
-   if ($isdigit277) {
-    $65 = ((($62)) + 2|0);
-    $66 = HEAP8[$65>>0]|0;
-    $67 = ($66<<24>>24)==(36);
-    if ($67) {
-     $68 = (($4) + ($isdigittmp276<<2)|0);
-     HEAP32[$68>>2] = 10;
-     $69 = HEAP8[$61>>0]|0;
-     $70 = $69 << 24 >> 24;
-     $71 = (($70) + -48)|0;
-     $72 = (($3) + ($71<<3)|0);
-     $73 = $72;
-     $74 = $73;
-     $75 = HEAP32[$74>>2]|0;
-     $76 = (($73) + 4)|0;
-     $77 = $76;
-     $78 = HEAP32[$77>>2]|0;
-     $79 = ((($62)) + 3|0);
-     $$0259 = $75;$$2271 = 1;$storemerge278 = $79;
-    } else {
-     label = 23;
-    }
-   } else {
-    label = 23;
-   }
-   if ((label|0) == 23) {
-    label = 0;
-    $80 = ($$1270|0)==(0);
-    if (!($80)) {
-     $$0 = -1;
-     break;
-    }
-    if ($10) {
-     $arglist_current = HEAP32[$2>>2]|0;
-     $81 = $arglist_current;
-     $82 = ((0) + 4|0);
-     $expanded4 = $82;
-     $expanded = (($expanded4) - 1)|0;
-     $83 = (($81) + ($expanded))|0;
-     $84 = ((0) + 4|0);
-     $expanded8 = $84;
-     $expanded7 = (($expanded8) - 1)|0;
-     $expanded6 = $expanded7 ^ -1;
-     $85 = $83 & $expanded6;
-     $86 = $85;
-     $87 = HEAP32[$86>>2]|0;
-     $arglist_next = ((($86)) + 4|0);
-     HEAP32[$2>>2] = $arglist_next;
-     $$0259 = $87;$$2271 = 0;$storemerge278 = $61;
-    } else {
-     $$0259 = 0;$$2271 = 0;$storemerge278 = $61;
-    }
-   }
-   HEAP32[$5>>2] = $storemerge278;
-   $88 = ($$0259|0)<(0);
-   $89 = $$0262$lcssa | 8192;
-   $90 = (0 - ($$0259))|0;
-   $$$0262 = $88 ? $89 : $$0262$lcssa;
-   $$$0259 = $88 ? $90 : $$0259;
-   $$1260 = $$$0259;$$1263 = $$$0262;$$3272 = $$2271;$94 = $storemerge278;
-  } else {
-   $91 = (_getint($5)|0);
-   $92 = ($91|0)<(0);
-   if ($92) {
-    $$0 = -1;
-    break;
-   }
-   $$pre346 = HEAP32[$5>>2]|0;
-   $$1260 = $91;$$1263 = $$0262$lcssa;$$3272 = $$1270;$94 = $$pre346;
-  }
-  $93 = HEAP8[$94>>0]|0;
-  $95 = ($93<<24>>24)==(46);
-  do {
-   if ($95) {
-    $96 = ((($94)) + 1|0);
-    $97 = HEAP8[$96>>0]|0;
-    $98 = ($97<<24>>24)==(42);
-    if (!($98)) {
-     $125 = ((($94)) + 1|0);
-     HEAP32[$5>>2] = $125;
-     $126 = (_getint($5)|0);
-     $$pre347$pre = HEAP32[$5>>2]|0;
-     $$0254 = $126;$$pre347 = $$pre347$pre;
-     break;
-    }
-    $99 = ((($94)) + 2|0);
-    $100 = HEAP8[$99>>0]|0;
-    $101 = $100 << 24 >> 24;
-    $isdigittmp274 = (($101) + -48)|0;
-    $isdigit275 = ($isdigittmp274>>>0)<(10);
-    if ($isdigit275) {
-     $102 = ((($94)) + 3|0);
-     $103 = HEAP8[$102>>0]|0;
-     $104 = ($103<<24>>24)==(36);
-     if ($104) {
-      $105 = (($4) + ($isdigittmp274<<2)|0);
-      HEAP32[$105>>2] = 10;
-      $106 = HEAP8[$99>>0]|0;
-      $107 = $106 << 24 >> 24;
-      $108 = (($107) + -48)|0;
-      $109 = (($3) + ($108<<3)|0);
-      $110 = $109;
-      $111 = $110;
-      $112 = HEAP32[$111>>2]|0;
-      $113 = (($110) + 4)|0;
-      $114 = $113;
-      $115 = HEAP32[$114>>2]|0;
-      $116 = ((($94)) + 4|0);
-      HEAP32[$5>>2] = $116;
-      $$0254 = $112;$$pre347 = $116;
-      break;
-     }
-    }
-    $117 = ($$3272|0)==(0);
-    if (!($117)) {
-     $$0 = -1;
-     break L1;
-    }
-    if ($10) {
-     $arglist_current2 = HEAP32[$2>>2]|0;
-     $118 = $arglist_current2;
-     $119 = ((0) + 4|0);
-     $expanded11 = $119;
-     $expanded10 = (($expanded11) - 1)|0;
-     $120 = (($118) + ($expanded10))|0;
-     $121 = ((0) + 4|0);
-     $expanded15 = $121;
-     $expanded14 = (($expanded15) - 1)|0;
-     $expanded13 = $expanded14 ^ -1;
-     $122 = $120 & $expanded13;
-     $123 = $122;
-     $124 = HEAP32[$123>>2]|0;
-     $arglist_next3 = ((($123)) + 4|0);
-     HEAP32[$2>>2] = $arglist_next3;
-     $330 = $124;
-    } else {
-     $330 = 0;
-    }
-    HEAP32[$5>>2] = $99;
-    $$0254 = $330;$$pre347 = $99;
-   } else {
-    $$0254 = -1;$$pre347 = $94;
-   }
-  } while(0);
-  $$0252 = 0;$128 = $$pre347;
-  while(1) {
-   $127 = HEAP8[$128>>0]|0;
-   $129 = $127 << 24 >> 24;
-   $130 = (($129) + -65)|0;
-   $131 = ($130>>>0)>(57);
-   if ($131) {
-    $$0 = -1;
-    break L1;
-   }
-   $132 = ((($128)) + 1|0);
-   HEAP32[$5>>2] = $132;
-   $133 = HEAP8[$128>>0]|0;
-   $134 = $133 << 24 >> 24;
-   $135 = (($134) + -65)|0;
-   $136 = ((70255 + (($$0252*58)|0)|0) + ($135)|0);
-   $137 = HEAP8[$136>>0]|0;
-   $138 = $137&255;
-   $139 = (($138) + -1)|0;
-   $140 = ($139>>>0)<(8);
-   if ($140) {
-    $$0252 = $138;$128 = $132;
-   } else {
-    break;
-   }
-  }
-  $141 = ($137<<24>>24)==(0);
-  if ($141) {
-   $$0 = -1;
-   break;
-  }
-  $142 = ($137<<24>>24)==(19);
-  $143 = ($$0253|0)>(-1);
-  do {
-   if ($142) {
-    if ($143) {
-     $$0 = -1;
-     break L1;
-    } else {
-     label = 49;
-    }
-   } else {
-    if ($143) {
-     $144 = (($4) + ($$0253<<2)|0);
-     HEAP32[$144>>2] = $138;
-     $145 = (($3) + ($$0253<<3)|0);
-     $146 = $145;
-     $147 = $146;
-     $148 = HEAP32[$147>>2]|0;
-     $149 = (($146) + 4)|0;
-     $150 = $149;
-     $151 = HEAP32[$150>>2]|0;
-     $152 = $6;
-     $153 = $152;
-     HEAP32[$153>>2] = $148;
-     $154 = (($152) + 4)|0;
-     $155 = $154;
-     HEAP32[$155>>2] = $151;
-     label = 49;
-     break;
-    }
-    if (!($10)) {
-     $$0 = 0;
-     break L1;
-    }
-    _pop_arg($6,$138,$2);
-   }
-  } while(0);
-  if ((label|0) == 49) {
-   label = 0;
-   if (!($10)) {
-    $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-    continue;
-   }
-  }
-  $156 = HEAP8[$128>>0]|0;
-  $157 = $156 << 24 >> 24;
-  $158 = ($$0252|0)!=(0);
-  $159 = $157 & 15;
-  $160 = ($159|0)==(3);
-  $or$cond281 = $158 & $160;
-  $161 = $157 & -33;
-  $$0235 = $or$cond281 ? $161 : $157;
-  $162 = $$1263 & 8192;
-  $163 = ($162|0)==(0);
-  $164 = $$1263 & -65537;
-  $$1263$ = $163 ? $$1263 : $164;
-  L71: do {
-   switch ($$0235|0) {
-   case 110:  {
-    $trunc = $$0252&255;
-    switch ($trunc<<24>>24) {
-    case 0:  {
-     $171 = HEAP32[$6>>2]|0;
-     HEAP32[$171>>2] = $$1248;
-     $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-     continue L1;
-     break;
-    }
-    case 1:  {
-     $172 = HEAP32[$6>>2]|0;
-     HEAP32[$172>>2] = $$1248;
-     $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-     continue L1;
-     break;
-    }
-    case 2:  {
-     $173 = ($$1248|0)<(0);
-     $174 = $173 << 31 >> 31;
-     $175 = HEAP32[$6>>2]|0;
-     $176 = $175;
-     $177 = $176;
-     HEAP32[$177>>2] = $$1248;
-     $178 = (($176) + 4)|0;
-     $179 = $178;
-     HEAP32[$179>>2] = $174;
-     $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-     continue L1;
-     break;
-    }
-    case 3:  {
-     $180 = $$1248&65535;
-     $181 = HEAP32[$6>>2]|0;
-     HEAP16[$181>>1] = $180;
-     $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-     continue L1;
-     break;
-    }
-    case 4:  {
-     $182 = $$1248&255;
-     $183 = HEAP32[$6>>2]|0;
-     HEAP8[$183>>0] = $182;
-     $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-     continue L1;
-     break;
-    }
-    case 6:  {
-     $184 = HEAP32[$6>>2]|0;
-     HEAP32[$184>>2] = $$1248;
-     $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-     continue L1;
-     break;
-    }
-    case 7:  {
-     $185 = ($$1248|0)<(0);
-     $186 = $185 << 31 >> 31;
-     $187 = HEAP32[$6>>2]|0;
-     $188 = $187;
-     $189 = $188;
-     HEAP32[$189>>2] = $$1248;
-     $190 = (($188) + 4)|0;
-     $191 = $190;
-     HEAP32[$191>>2] = $186;
-     $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-     continue L1;
-     break;
-    }
-    default: {
-     $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-     continue L1;
-    }
-    }
-    break;
-   }
-   case 112:  {
-    $192 = ($$0254>>>0)>(8);
-    $193 = $192 ? $$0254 : 8;
-    $194 = $$1263$ | 8;
-    $$1236 = 120;$$1255 = $193;$$3265 = $194;
-    label = 61;
-    break;
-   }
-   case 88: case 120:  {
-    $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$;
-    label = 61;
-    break;
-   }
-   case 111:  {
-    $210 = $6;
-    $211 = $210;
-    $212 = HEAP32[$211>>2]|0;
-    $213 = (($210) + 4)|0;
-    $214 = $213;
-    $215 = HEAP32[$214>>2]|0;
-    $216 = (_fmt_o($212,$215,$11)|0);
-    $217 = $$1263$ & 8;
-    $218 = ($217|0)==(0);
-    $219 = $216;
-    $220 = (($12) - ($219))|0;
-    $221 = ($$0254|0)>($220|0);
-    $222 = (($220) + 1)|0;
-    $223 = $218 | $221;
-    $$0254$$0254$ = $223 ? $$0254 : $222;
-    $$0228 = $216;$$1233 = 0;$$1238 = 70719;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215;
-    label = 67;
-    break;
-   }
-   case 105: case 100:  {
-    $224 = $6;
-    $225 = $224;
-    $226 = HEAP32[$225>>2]|0;
-    $227 = (($224) + 4)|0;
-    $228 = $227;
-    $229 = HEAP32[$228>>2]|0;
-    $230 = ($229|0)<(0);
-    if ($230) {
-     $231 = (_i64Subtract(0,0,($226|0),($229|0))|0);
-     $232 = tempRet0;
-     $233 = $6;
-     $234 = $233;
-     HEAP32[$234>>2] = $231;
-     $235 = (($233) + 4)|0;
-     $236 = $235;
-     HEAP32[$236>>2] = $232;
-     $$0232 = 1;$$0237 = 70719;$242 = $231;$243 = $232;
-     label = 66;
-     break L71;
-    } else {
-     $237 = $$1263$ & 2048;
-     $238 = ($237|0)==(0);
-     $239 = $$1263$ & 1;
-     $240 = ($239|0)==(0);
-     $$ = $240 ? 70719 : (70721);
-     $$$ = $238 ? $$ : (70720);
-     $241 = $$1263$ & 2049;
-     $narrow = ($241|0)!=(0);
-     $$284$ = $narrow&1;
-     $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229;
-     label = 66;
-     break L71;
-    }
-    break;
-   }
-   case 117:  {
-    $165 = $6;
-    $166 = $165;
-    $167 = HEAP32[$166>>2]|0;
-    $168 = (($165) + 4)|0;
-    $169 = $168;
-    $170 = HEAP32[$169>>2]|0;
-    $$0232 = 0;$$0237 = 70719;$242 = $167;$243 = $170;
-    label = 66;
-    break;
-   }
-   case 99:  {
-    $259 = $6;
-    $260 = $259;
-    $261 = HEAP32[$260>>2]|0;
-    $262 = (($259) + 4)|0;
-    $263 = $262;
-    $264 = HEAP32[$263>>2]|0;
-    $265 = $261&255;
-    HEAP8[$13>>0] = $265;
-    $$2 = $13;$$2234 = 0;$$2239 = 70719;$$2251 = $11;$$5 = 1;$$6268 = $164;
-    break;
-   }
-   case 109:  {
-    $266 = (___errno_location()|0);
-    $267 = HEAP32[$266>>2]|0;
-    $268 = (_strerror($267)|0);
-    $$1 = $268;
-    label = 71;
-    break;
-   }
-   case 115:  {
-    $269 = HEAP32[$6>>2]|0;
-    $270 = ($269|0)!=(0|0);
-    $271 = $270 ? $269 : 70729;
-    $$1 = $271;
-    label = 71;
-    break;
-   }
-   case 67:  {
-    $278 = $6;
-    $279 = $278;
-    $280 = HEAP32[$279>>2]|0;
-    $281 = (($278) + 4)|0;
-    $282 = $281;
-    $283 = HEAP32[$282>>2]|0;
-    HEAP32[$8>>2] = $280;
-    HEAP32[$14>>2] = 0;
-    HEAP32[$6>>2] = $8;
-    $$4258355 = -1;$331 = $8;
-    label = 75;
-    break;
-   }
-   case 83:  {
-    $$pre349 = HEAP32[$6>>2]|0;
-    $284 = ($$0254|0)==(0);
-    if ($284) {
-     _pad_674($0,32,$$1260,0,$$1263$);
-     $$0240$lcssa357 = 0;
-     label = 84;
-    } else {
-     $$4258355 = $$0254;$331 = $$pre349;
-     label = 75;
-    }
-    break;
-   }
-   case 65: case 71: case 70: case 69: case 97: case 103: case 102: case 101:  {
-    $306 = +HEAPF64[$6>>3];
-    $307 = (_fmt_fp_1233($0,$306,$$1260,$$0254,$$1263$,$$0235)|0);
-    $$0243 = $307;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-    continue L1;
-    break;
-   }
-   default: {
-    $$2 = $21;$$2234 = 0;$$2239 = 70719;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$;
-   }
-   }
-  } while(0);
-  L95: do {
-   if ((label|0) == 61) {
-    label = 0;
-    $195 = $6;
-    $196 = $195;
-    $197 = HEAP32[$196>>2]|0;
-    $198 = (($195) + 4)|0;
-    $199 = $198;
-    $200 = HEAP32[$199>>2]|0;
-    $201 = $$1236 & 32;
-    $202 = (_fmt_x($197,$200,$11,$201)|0);
-    $203 = ($197|0)==(0);
-    $204 = ($200|0)==(0);
-    $205 = $203 & $204;
-    $206 = $$3265 & 8;
-    $207 = ($206|0)==(0);
-    $or$cond283 = $207 | $205;
-    $208 = $$1236 >> 4;
-    $209 = (70719 + ($208)|0);
-    $$289 = $or$cond283 ? 70719 : $209;
-    $$290 = $or$cond283 ? 0 : 2;
-    $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200;
-    label = 67;
-   }
-   else if ((label|0) == 66) {
-    label = 0;
-    $244 = (_fmt_u_1230($242,$243,$11)|0);
-    $$0228 = $244;$$1233 = $$0232;$$1238 = $$0237;$$2256 = $$0254;$$4266 = $$1263$;$248 = $242;$250 = $243;
-    label = 67;
-   }
-   else if ((label|0) == 71) {
-    label = 0;
-    $272 = (_memchr($$1,0,$$0254)|0);
-    $273 = ($272|0)==(0|0);
-    $274 = $272;
-    $275 = $$1;
-    $276 = (($274) - ($275))|0;
-    $277 = (($$1) + ($$0254)|0);
-    $$3257 = $273 ? $$0254 : $276;
-    $$1250 = $273 ? $277 : $272;
-    $$2 = $$1;$$2234 = 0;$$2239 = 70719;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164;
-   }
-   else if ((label|0) == 75) {
-    label = 0;
-    $$0229322 = $331;$$0240321 = 0;$$1244320 = 0;
-    while(1) {
-     $285 = HEAP32[$$0229322>>2]|0;
-     $286 = ($285|0)==(0);
-     if ($286) {
-      $$0240$lcssa = $$0240321;$$2245 = $$1244320;
-      break;
-     }
-     $287 = (_wctomb($9,$285)|0);
-     $288 = ($287|0)<(0);
-     $289 = (($$4258355) - ($$0240321))|0;
-     $290 = ($287>>>0)>($289>>>0);
-     $or$cond286 = $288 | $290;
-     if ($or$cond286) {
-      $$0240$lcssa = $$0240321;$$2245 = $287;
-      break;
-     }
-     $291 = ((($$0229322)) + 4|0);
-     $292 = (($287) + ($$0240321))|0;
-     $293 = ($$4258355>>>0)>($292>>>0);
-     if ($293) {
-      $$0229322 = $291;$$0240321 = $292;$$1244320 = $287;
-     } else {
-      $$0240$lcssa = $292;$$2245 = $287;
-      break;
-     }
-    }
-    $294 = ($$2245|0)<(0);
-    if ($294) {
-     $$0 = -1;
-     break L1;
-    }
-    _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$);
-    $295 = ($$0240$lcssa|0)==(0);
-    if ($295) {
-     $$0240$lcssa357 = 0;
-     label = 84;
-    } else {
-     $$1230333 = $331;$$1241332 = 0;
-     while(1) {
-      $296 = HEAP32[$$1230333>>2]|0;
-      $297 = ($296|0)==(0);
-      if ($297) {
-       $$0240$lcssa357 = $$0240$lcssa;
-       label = 84;
-       break L95;
-      }
-      $298 = (_wctomb($9,$296)|0);
-      $299 = (($298) + ($$1241332))|0;
-      $300 = ($299|0)>($$0240$lcssa|0);
-      if ($300) {
-       $$0240$lcssa357 = $$0240$lcssa;
-       label = 84;
-       break L95;
-      }
-      $301 = ((($$1230333)) + 4|0);
-      _out_1229($0,$9,$298);
-      $302 = ($299>>>0)<($$0240$lcssa>>>0);
-      if ($302) {
-       $$1230333 = $301;$$1241332 = $299;
-      } else {
-       $$0240$lcssa357 = $$0240$lcssa;
-       label = 84;
-       break;
-      }
-     }
-    }
-   }
-  } while(0);
-  if ((label|0) == 67) {
-   label = 0;
-   $245 = ($$2256|0)>(-1);
-   $246 = $$4266 & -65537;
-   $$$4266 = $245 ? $246 : $$4266;
-   $247 = ($248|0)!=(0);
-   $249 = ($250|0)!=(0);
-   $251 = $247 | $249;
-   $252 = ($$2256|0)!=(0);
-   $or$cond = $252 | $251;
-   $253 = $$0228;
-   $254 = (($12) - ($253))|0;
-   $255 = $251 ^ 1;
-   $256 = $255&1;
-   $257 = (($256) + ($254))|0;
-   $258 = ($$2256|0)>($257|0);
-   $$2256$ = $258 ? $$2256 : $257;
-   $$2256$$$2256 = $or$cond ? $$2256$ : $$2256;
-   $$0228$ = $or$cond ? $$0228 : $11;
-   $$2 = $$0228$;$$2234 = $$1233;$$2239 = $$1238;$$2251 = $11;$$5 = $$2256$$$2256;$$6268 = $$$4266;
-  }
-  else if ((label|0) == 84) {
-   label = 0;
-   $303 = $$1263$ ^ 8192;
-   _pad_674($0,32,$$1260,$$0240$lcssa357,$303);
-   $304 = ($$1260|0)>($$0240$lcssa357|0);
-   $305 = $304 ? $$1260 : $$0240$lcssa357;
-   $$0243 = $305;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
-   continue;
-  }
-  $308 = $$2251;
-  $309 = $$2;
-  $310 = (($308) - ($309))|0;
-  $311 = ($$5|0)<($310|0);
-  $$$5 = $311 ? $310 : $$5;
-  $312 = (($$$5) + ($$2234))|0;
-  $313 = ($$1260|0)<($312|0);
-  $$2261 = $313 ? $312 : $$1260;
-  _pad_674($0,32,$$2261,$312,$$6268);
-  _out_1229($0,$$2239,$$2234);
-  $314 = $$6268 ^ 65536;
-  _pad_674($0,48,$$2261,$312,$314);
-  _pad_674($0,48,$$$5,$310,0);
-  _out_1229($0,$$2,$310);
-  $315 = $$6268 ^ 8192;
-  _pad_674($0,32,$$2261,$312,$315);
-  $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132;
- }
- L114: do {
-  if ((label|0) == 87) {
-   $316 = ($0|0)==(0|0);
-   if ($316) {
-    $317 = ($$0269|0)==(0);
-    if ($317) {
-     $$0 = 0;
-    } else {
-     $$2242305 = 1;
-     while(1) {
-      $318 = (($4) + ($$2242305<<2)|0);
-      $319 = HEAP32[$318>>2]|0;
-      $320 = ($319|0)==(0);
-      if ($320) {
-       $$3303 = $$2242305;
-       break;
-      }
-      $321 = (($3) + ($$2242305<<3)|0);
-      _pop_arg($321,$319,$2);
-      $322 = (($$2242305) + 1)|0;
-      $323 = ($322|0)<(10);
-      if ($323) {
-       $$2242305 = $322;
-      } else {
-       $$0 = 1;
-       break L114;
-      }
-     }
-     while(1) {
-      $326 = (($4) + ($$3303<<2)|0);
-      $327 = HEAP32[$326>>2]|0;
-      $328 = ($327|0)==(0);
-      $325 = (($$3303) + 1)|0;
-      if (!($328)) {
-       $$0 = -1;
-       break L114;
-      }
-      $324 = ($325|0)<(10);
-      if ($324) {
-       $$3303 = $325;
-      } else {
-       $$0 = 1;
-       break;
-      }
-     }
-    }
-   } else {
-    $$0 = $$1248;
-   }
-  }
- } while(0);
- STACKTOP = sp;return ($$0|0);
-}
-function ___lockfile($0) {
- $0 = $0|0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- return 0;
-}
-function ___unlockfile($0) {
- $0 = $0|0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- return;
-}
-function _out_1229($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = HEAP32[$0>>2]|0;
- $4 = $3 & 32;
- $5 = ($4|0)==(0);
- if ($5) {
-  (___fwritex($1,$2,$0)|0);
- }
- return;
-}
-function _getint($0) {
- $0 = $0|0;
- var $$0$lcssa = 0, $$06 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $isdigit = 0, $isdigit5 = 0, $isdigittmp = 0, $isdigittmp4 = 0, $isdigittmp7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = HEAP32[$0>>2]|0;
- $2 = HEAP8[$1>>0]|0;
- $3 = $2 << 24 >> 24;
- $isdigittmp4 = (($3) + -48)|0;
- $isdigit5 = ($isdigittmp4>>>0)<(10);
- if ($isdigit5) {
-  $$06 = 0;$7 = $1;$isdigittmp7 = $isdigittmp4;
-  while(1) {
-   $4 = ($$06*10)|0;
-   $5 = (($isdigittmp7) + ($4))|0;
-   $6 = ((($7)) + 1|0);
-   HEAP32[$0>>2] = $6;
-   $8 = HEAP8[$6>>0]|0;
-   $9 = $8 << 24 >> 24;
-   $isdigittmp = (($9) + -48)|0;
-   $isdigit = ($isdigittmp>>>0)<(10);
-   if ($isdigit) {
-    $$06 = $5;$7 = $6;$isdigittmp7 = $isdigittmp;
-   } else {
-    $$0$lcssa = $5;
-    break;
-   }
-  }
- } else {
-  $$0$lcssa = 0;
- }
- return ($$0$lcssa|0);
-}
-function _pop_arg($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$mask = 0, $$mask31 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
- var $116 = 0.0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0;
- var $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0;
- var $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0;
- var $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $arglist_current = 0, $arglist_current11 = 0, $arglist_current14 = 0, $arglist_current17 = 0;
- var $arglist_current2 = 0, $arglist_current20 = 0, $arglist_current23 = 0, $arglist_current26 = 0, $arglist_current5 = 0, $arglist_current8 = 0, $arglist_next = 0, $arglist_next12 = 0, $arglist_next15 = 0, $arglist_next18 = 0, $arglist_next21 = 0, $arglist_next24 = 0, $arglist_next27 = 0, $arglist_next3 = 0, $arglist_next6 = 0, $arglist_next9 = 0, $expanded = 0, $expanded28 = 0, $expanded30 = 0, $expanded31 = 0;
- var $expanded32 = 0, $expanded34 = 0, $expanded35 = 0, $expanded37 = 0, $expanded38 = 0, $expanded39 = 0, $expanded41 = 0, $expanded42 = 0, $expanded44 = 0, $expanded45 = 0, $expanded46 = 0, $expanded48 = 0, $expanded49 = 0, $expanded51 = 0, $expanded52 = 0, $expanded53 = 0, $expanded55 = 0, $expanded56 = 0, $expanded58 = 0, $expanded59 = 0;
- var $expanded60 = 0, $expanded62 = 0, $expanded63 = 0, $expanded65 = 0, $expanded66 = 0, $expanded67 = 0, $expanded69 = 0, $expanded70 = 0, $expanded72 = 0, $expanded73 = 0, $expanded74 = 0, $expanded76 = 0, $expanded77 = 0, $expanded79 = 0, $expanded80 = 0, $expanded81 = 0, $expanded83 = 0, $expanded84 = 0, $expanded86 = 0, $expanded87 = 0;
- var $expanded88 = 0, $expanded90 = 0, $expanded91 = 0, $expanded93 = 0, $expanded94 = 0, $expanded95 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = ($1>>>0)>(20);
- L1: do {
-  if (!($3)) {
-   do {
-    switch ($1|0) {
-    case 9:  {
-     $arglist_current = HEAP32[$2>>2]|0;
-     $4 = $arglist_current;
-     $5 = ((0) + 4|0);
-     $expanded28 = $5;
-     $expanded = (($expanded28) - 1)|0;
-     $6 = (($4) + ($expanded))|0;
-     $7 = ((0) + 4|0);
-     $expanded32 = $7;
-     $expanded31 = (($expanded32) - 1)|0;
-     $expanded30 = $expanded31 ^ -1;
-     $8 = $6 & $expanded30;
-     $9 = $8;
-     $10 = HEAP32[$9>>2]|0;
-     $arglist_next = ((($9)) + 4|0);
-     HEAP32[$2>>2] = $arglist_next;
-     HEAP32[$0>>2] = $10;
-     break L1;
-     break;
-    }
-    case 10:  {
-     $arglist_current2 = HEAP32[$2>>2]|0;
-     $11 = $arglist_current2;
-     $12 = ((0) + 4|0);
-     $expanded35 = $12;
-     $expanded34 = (($expanded35) - 1)|0;
-     $13 = (($11) + ($expanded34))|0;
-     $14 = ((0) + 4|0);
-     $expanded39 = $14;
-     $expanded38 = (($expanded39) - 1)|0;
-     $expanded37 = $expanded38 ^ -1;
-     $15 = $13 & $expanded37;
-     $16 = $15;
-     $17 = HEAP32[$16>>2]|0;
-     $arglist_next3 = ((($16)) + 4|0);
-     HEAP32[$2>>2] = $arglist_next3;
-     $18 = ($17|0)<(0);
-     $19 = $18 << 31 >> 31;
-     $20 = $0;
-     $21 = $20;
-     HEAP32[$21>>2] = $17;
-     $22 = (($20) + 4)|0;
-     $23 = $22;
-     HEAP32[$23>>2] = $19;
-     break L1;
-     break;
-    }
-    case 11:  {
-     $arglist_current5 = HEAP32[$2>>2]|0;
-     $24 = $arglist_current5;
-     $25 = ((0) + 4|0);
-     $expanded42 = $25;
-     $expanded41 = (($expanded42) - 1)|0;
-     $26 = (($24) + ($expanded41))|0;
-     $27 = ((0) + 4|0);
-     $expanded46 = $27;
-     $expanded45 = (($expanded46) - 1)|0;
-     $expanded44 = $expanded45 ^ -1;
-     $28 = $26 & $expanded44;
-     $29 = $28;
-     $30 = HEAP32[$29>>2]|0;
-     $arglist_next6 = ((($29)) + 4|0);
-     HEAP32[$2>>2] = $arglist_next6;
-     $31 = $0;
-     $32 = $31;
-     HEAP32[$32>>2] = $30;
-     $33 = (($31) + 4)|0;
-     $34 = $33;
-     HEAP32[$34>>2] = 0;
-     break L1;
-     break;
-    }
-    case 12:  {
-     $arglist_current8 = HEAP32[$2>>2]|0;
-     $35 = $arglist_current8;
-     $36 = ((0) + 8|0);
-     $expanded49 = $36;
-     $expanded48 = (($expanded49) - 1)|0;
-     $37 = (($35) + ($expanded48))|0;
-     $38 = ((0) + 8|0);
-     $expanded53 = $38;
-     $expanded52 = (($expanded53) - 1)|0;
-     $expanded51 = $expanded52 ^ -1;
-     $39 = $37 & $expanded51;
-     $40 = $39;
-     $41 = $40;
-     $42 = $41;
-     $43 = HEAP32[$42>>2]|0;
-     $44 = (($41) + 4)|0;
-     $45 = $44;
-     $46 = HEAP32[$45>>2]|0;
-     $arglist_next9 = ((($40)) + 8|0);
-     HEAP32[$2>>2] = $arglist_next9;
-     $47 = $0;
-     $48 = $47;
-     HEAP32[$48>>2] = $43;
-     $49 = (($47) + 4)|0;
-     $50 = $49;
-     HEAP32[$50>>2] = $46;
-     break L1;
-     break;
-    }
-    case 13:  {
-     $arglist_current11 = HEAP32[$2>>2]|0;
-     $51 = $arglist_current11;
-     $52 = ((0) + 4|0);
-     $expanded56 = $52;
-     $expanded55 = (($expanded56) - 1)|0;
-     $53 = (($51) + ($expanded55))|0;
-     $54 = ((0) + 4|0);
-     $expanded60 = $54;
-     $expanded59 = (($expanded60) - 1)|0;
-     $expanded58 = $expanded59 ^ -1;
-     $55 = $53 & $expanded58;
-     $56 = $55;
-     $57 = HEAP32[$56>>2]|0;
-     $arglist_next12 = ((($56)) + 4|0);
-     HEAP32[$2>>2] = $arglist_next12;
-     $58 = $57&65535;
-     $59 = $58 << 16 >> 16;
-     $60 = ($59|0)<(0);
-     $61 = $60 << 31 >> 31;
-     $62 = $0;
-     $63 = $62;
-     HEAP32[$63>>2] = $59;
-     $64 = (($62) + 4)|0;
-     $65 = $64;
-     HEAP32[$65>>2] = $61;
-     break L1;
-     break;
-    }
-    case 14:  {
-     $arglist_current14 = HEAP32[$2>>2]|0;
-     $66 = $arglist_current14;
-     $67 = ((0) + 4|0);
-     $expanded63 = $67;
-     $expanded62 = (($expanded63) - 1)|0;
-     $68 = (($66) + ($expanded62))|0;
-     $69 = ((0) + 4|0);
-     $expanded67 = $69;
-     $expanded66 = (($expanded67) - 1)|0;
-     $expanded65 = $expanded66 ^ -1;
-     $70 = $68 & $expanded65;
-     $71 = $70;
-     $72 = HEAP32[$71>>2]|0;
-     $arglist_next15 = ((($71)) + 4|0);
-     HEAP32[$2>>2] = $arglist_next15;
-     $$mask31 = $72 & 65535;
-     $73 = $0;
-     $74 = $73;
-     HEAP32[$74>>2] = $$mask31;
-     $75 = (($73) + 4)|0;
-     $76 = $75;
-     HEAP32[$76>>2] = 0;
-     break L1;
-     break;
-    }
-    case 15:  {
-     $arglist_current17 = HEAP32[$2>>2]|0;
-     $77 = $arglist_current17;
-     $78 = ((0) + 4|0);
-     $expanded70 = $78;
-     $expanded69 = (($expanded70) - 1)|0;
-     $79 = (($77) + ($expanded69))|0;
-     $80 = ((0) + 4|0);
-     $expanded74 = $80;
-     $expanded73 = (($expanded74) - 1)|0;
-     $expanded72 = $expanded73 ^ -1;
-     $81 = $79 & $expanded72;
-     $82 = $81;
-     $83 = HEAP32[$82>>2]|0;
-     $arglist_next18 = ((($82)) + 4|0);
-     HEAP32[$2>>2] = $arglist_next18;
-     $84 = $83&255;
-     $85 = $84 << 24 >> 24;
-     $86 = ($85|0)<(0);
-     $87 = $86 << 31 >> 31;
-     $88 = $0;
-     $89 = $88;
-     HEAP32[$89>>2] = $85;
-     $90 = (($88) + 4)|0;
-     $91 = $90;
-     HEAP32[$91>>2] = $87;
-     break L1;
-     break;
-    }
-    case 16:  {
-     $arglist_current20 = HEAP32[$2>>2]|0;
-     $92 = $arglist_current20;
-     $93 = ((0) + 4|0);
-     $expanded77 = $93;
-     $expanded76 = (($expanded77) - 1)|0;
-     $94 = (($92) + ($expanded76))|0;
-     $95 = ((0) + 4|0);
-     $expanded81 = $95;
-     $expanded80 = (($expanded81) - 1)|0;
-     $expanded79 = $expanded80 ^ -1;
-     $96 = $94 & $expanded79;
-     $97 = $96;
-     $98 = HEAP32[$97>>2]|0;
-     $arglist_next21 = ((($97)) + 4|0);
-     HEAP32[$2>>2] = $arglist_next21;
-     $$mask = $98 & 255;
-     $99 = $0;
-     $100 = $99;
-     HEAP32[$100>>2] = $$mask;
-     $101 = (($99) + 4)|0;
-     $102 = $101;
-     HEAP32[$102>>2] = 0;
-     break L1;
-     break;
-    }
-    case 17:  {
-     $arglist_current23 = HEAP32[$2>>2]|0;
-     $103 = $arglist_current23;
-     $104 = ((0) + 8|0);
-     $expanded84 = $104;
-     $expanded83 = (($expanded84) - 1)|0;
-     $105 = (($103) + ($expanded83))|0;
-     $106 = ((0) + 8|0);
-     $expanded88 = $106;
-     $expanded87 = (($expanded88) - 1)|0;
-     $expanded86 = $expanded87 ^ -1;
-     $107 = $105 & $expanded86;
-     $108 = $107;
-     $109 = +HEAPF64[$108>>3];
-     $arglist_next24 = ((($108)) + 8|0);
-     HEAP32[$2>>2] = $arglist_next24;
-     HEAPF64[$0>>3] = $109;
-     break L1;
-     break;
-    }
-    case 18:  {
-     $arglist_current26 = HEAP32[$2>>2]|0;
-     $110 = $arglist_current26;
-     $111 = ((0) + 8|0);
-     $expanded91 = $111;
-     $expanded90 = (($expanded91) - 1)|0;
-     $112 = (($110) + ($expanded90))|0;
-     $113 = ((0) + 8|0);
-     $expanded95 = $113;
-     $expanded94 = (($expanded95) - 1)|0;
-     $expanded93 = $expanded94 ^ -1;
-     $114 = $112 & $expanded93;
-     $115 = $114;
-     $116 = +HEAPF64[$115>>3];
-     $arglist_next27 = ((($115)) + 8|0);
-     HEAP32[$2>>2] = $arglist_next27;
-     HEAPF64[$0>>3] = $116;
-     break L1;
-     break;
-    }
-    default: {
-     break L1;
-    }
-    }
-   } while(0);
-  }
- } while(0);
- return;
-}
-function _fmt_x($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$05$lcssa = 0, $$056 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- $4 = ($0|0)==(0);
- $5 = ($1|0)==(0);
- $6 = $4 & $5;
- if ($6) {
-  $$05$lcssa = $2;
- } else {
-  $$056 = $2;$15 = $1;$8 = $0;
-  while(1) {
-   $7 = $8 & 15;
-   $9 = (70767 + ($7)|0);
-   $10 = HEAP8[$9>>0]|0;
-   $11 = $10&255;
-   $12 = $11 | $3;
-   $13 = $12&255;
-   $14 = ((($$056)) + -1|0);
-   HEAP8[$14>>0] = $13;
-   $16 = (_bitshift64Lshr(($8|0),($15|0),4)|0);
-   $17 = tempRet0;
-   $18 = ($16|0)==(0);
-   $19 = ($17|0)==(0);
-   $20 = $18 & $19;
-   if ($20) {
-    $$05$lcssa = $14;
-    break;
-   } else {
-    $$056 = $14;$15 = $17;$8 = $16;
-   }
-  }
- }
- return ($$05$lcssa|0);
-}
-function _fmt_o($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$0$lcssa = 0, $$06 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = ($0|0)==(0);
- $4 = ($1|0)==(0);
- $5 = $3 & $4;
- if ($5) {
-  $$0$lcssa = $2;
- } else {
-  $$06 = $2;$11 = $1;$7 = $0;
-  while(1) {
-   $6 = $7&255;
-   $8 = $6 & 7;
-   $9 = $8 | 48;
-   $10 = ((($$06)) + -1|0);
-   HEAP8[$10>>0] = $9;
-   $12 = (_bitshift64Lshr(($7|0),($11|0),3)|0);
-   $13 = tempRet0;
-   $14 = ($12|0)==(0);
-   $15 = ($13|0)==(0);
-   $16 = $14 & $15;
-   if ($16) {
-    $$0$lcssa = $10;
-    break;
-   } else {
-    $$06 = $10;$11 = $13;$7 = $12;
-   }
-  }
- }
- return ($$0$lcssa|0);
-}
-function _fmt_u_1230($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$010$lcssa$off0 = 0, $$012 = 0, $$09$lcssa = 0, $$0914 = 0, $$1$lcssa = 0, $$111 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = ($1>>>0)>(0);
- $4 = ($0>>>0)>(4294967295);
- $5 = ($1|0)==(0);
- $6 = $5 & $4;
- $7 = $3 | $6;
- if ($7) {
-  $$0914 = $2;$8 = $0;$9 = $1;
-  while(1) {
-   $10 = (___uremdi3(($8|0),($9|0),10,0)|0);
-   $11 = tempRet0;
-   $12 = $10&255;
-   $13 = $12 | 48;
-   $14 = ((($$0914)) + -1|0);
-   HEAP8[$14>>0] = $13;
-   $15 = (___udivdi3(($8|0),($9|0),10,0)|0);
-   $16 = tempRet0;
-   $17 = ($9>>>0)>(9);
-   $18 = ($8>>>0)>(4294967295);
-   $19 = ($9|0)==(9);
-   $20 = $19 & $18;
-   $21 = $17 | $20;
-   if ($21) {
-    $$0914 = $14;$8 = $15;$9 = $16;
-   } else {
-    break;
-   }
-  }
-  $$010$lcssa$off0 = $15;$$09$lcssa = $14;
- } else {
-  $$010$lcssa$off0 = $0;$$09$lcssa = $2;
- }
- $22 = ($$010$lcssa$off0|0)==(0);
- if ($22) {
-  $$1$lcssa = $$09$lcssa;
- } else {
-  $$012 = $$010$lcssa$off0;$$111 = $$09$lcssa;
-  while(1) {
-   $23 = (($$012>>>0) % 10)&-1;
-   $24 = $23 | 48;
-   $25 = $24&255;
-   $26 = ((($$111)) + -1|0);
-   HEAP8[$26>>0] = $25;
-   $27 = (($$012>>>0) / 10)&-1;
-   $28 = ($$012>>>0)<(10);
-   if ($28) {
-    $$1$lcssa = $26;
-    break;
-   } else {
-    $$012 = $27;$$111 = $26;
-   }
-  }
- }
- return ($$1$lcssa|0);
-}
-function _strerror($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = (___pthread_self_105()|0);
- $2 = ((($1)) + 188|0);
- $3 = HEAP32[$2>>2]|0;
- $4 = (___strerror_l($0,$3)|0);
- return ($4|0);
-}
-function _memchr($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$0$lcssa = 0, $$035$lcssa = 0, $$035$lcssa65 = 0, $$03555 = 0, $$036$lcssa = 0, $$036$lcssa64 = 0, $$03654 = 0, $$046 = 0, $$137$lcssa = 0, $$13745 = 0, $$140 = 0, $$2 = 0, $$23839 = 0, $$3 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0;
- var $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
- var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond53 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = $1 & 255;
- $4 = $0;
- $5 = $4 & 3;
- $6 = ($5|0)!=(0);
- $7 = ($2|0)!=(0);
- $or$cond53 = $7 & $6;
- L1: do {
-  if ($or$cond53) {
-   $8 = $1&255;
-   $$03555 = $0;$$03654 = $2;
-   while(1) {
-    $9 = HEAP8[$$03555>>0]|0;
-    $10 = ($9<<24>>24)==($8<<24>>24);
-    if ($10) {
-     $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654;
-     label = 6;
-     break L1;
-    }
-    $11 = ((($$03555)) + 1|0);
-    $12 = (($$03654) + -1)|0;
-    $13 = $11;
-    $14 = $13 & 3;
-    $15 = ($14|0)!=(0);
-    $16 = ($12|0)!=(0);
-    $or$cond = $16 & $15;
-    if ($or$cond) {
-     $$03555 = $11;$$03654 = $12;
-    } else {
-     $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16;
-     label = 5;
-     break;
-    }
-   }
-  } else {
-   $$035$lcssa = $0;$$036$lcssa = $2;$$lcssa = $7;
-   label = 5;
-  }
- } while(0);
- if ((label|0) == 5) {
-  if ($$lcssa) {
-   $$035$lcssa65 = $$035$lcssa;$$036$lcssa64 = $$036$lcssa;
-   label = 6;
-  } else {
-   $$2 = $$035$lcssa;$$3 = 0;
-  }
- }
- L8: do {
-  if ((label|0) == 6) {
-   $17 = HEAP8[$$035$lcssa65>>0]|0;
-   $18 = $1&255;
-   $19 = ($17<<24>>24)==($18<<24>>24);
-   if ($19) {
-    $$2 = $$035$lcssa65;$$3 = $$036$lcssa64;
-   } else {
-    $20 = Math_imul($3, 16843009)|0;
-    $21 = ($$036$lcssa64>>>0)>(3);
-    L11: do {
-     if ($21) {
-      $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64;
-      while(1) {
-       $22 = HEAP32[$$046>>2]|0;
-       $23 = $22 ^ $20;
-       $24 = (($23) + -16843009)|0;
-       $25 = $23 & -2139062144;
-       $26 = $25 ^ -2139062144;
-       $27 = $26 & $24;
-       $28 = ($27|0)==(0);
-       if (!($28)) {
-        break;
-       }
-       $29 = ((($$046)) + 4|0);
-       $30 = (($$13745) + -4)|0;
-       $31 = ($30>>>0)>(3);
-       if ($31) {
-        $$046 = $29;$$13745 = $30;
-       } else {
-        $$0$lcssa = $29;$$137$lcssa = $30;
-        label = 11;
-        break L11;
-       }
-      }
-      $$140 = $$046;$$23839 = $$13745;
-     } else {
-      $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64;
-      label = 11;
-     }
-    } while(0);
-    if ((label|0) == 11) {
-     $32 = ($$137$lcssa|0)==(0);
-     if ($32) {
-      $$2 = $$0$lcssa;$$3 = 0;
-      break;
-     } else {
-      $$140 = $$0$lcssa;$$23839 = $$137$lcssa;
-     }
-    }
-    while(1) {
-     $33 = HEAP8[$$140>>0]|0;
-     $34 = ($33<<24>>24)==($18<<24>>24);
-     if ($34) {
-      $$2 = $$140;$$3 = $$23839;
-      break L8;
-     }
-     $35 = ((($$140)) + 1|0);
-     $36 = (($$23839) + -1)|0;
-     $37 = ($36|0)==(0);
-     if ($37) {
-      $$2 = $35;$$3 = 0;
-      break;
-     } else {
-      $$140 = $35;$$23839 = $36;
-     }
-    }
-   }
-  }
- } while(0);
- $38 = ($$3|0)!=(0);
- $39 = $38 ? $$2 : 0;
- return ($39|0);
-}
-function _pad_674($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$0$lcssa = 0, $$011 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 256|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(256|0);
- $5 = sp;
- $6 = $4 & 73728;
- $7 = ($6|0)==(0);
- $8 = ($2|0)>($3|0);
- $or$cond = $8 & $7;
- if ($or$cond) {
-  $9 = (($2) - ($3))|0;
-  $10 = ($9>>>0)<(256);
-  $11 = $10 ? $9 : 256;
-  _memset(($5|0),($1|0),($11|0))|0;
-  $12 = ($9>>>0)>(255);
-  if ($12) {
-   $13 = (($2) - ($3))|0;
-   $$011 = $9;
-   while(1) {
-    _out_1229($0,$5,256);
-    $14 = (($$011) + -256)|0;
-    $15 = ($14>>>0)>(255);
-    if ($15) {
-     $$011 = $14;
-    } else {
-     break;
-    }
-   }
-   $16 = $13 & 255;
-   $$0$lcssa = $16;
-  } else {
-   $$0$lcssa = $9;
-  }
-  _out_1229($0,$5,$$0$lcssa);
- }
- STACKTOP = sp;return;
-}
-function _wctomb($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = ($0|0)==(0|0);
- if ($2) {
-  $$0 = 0;
- } else {
-  $3 = (_wcrtomb($0,$1,0)|0);
-  $$0 = $3;
- }
- return ($$0|0);
-}
-function _fmt_fp_1233($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = +$1;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $$ = 0, $$$ = 0, $$$$559 = 0.0, $$$3484 = 0, $$$3484691 = 0, $$$3484692 = 0, $$$3501 = 0, $$$4502 = 0, $$$542 = 0.0, $$$559 = 0.0, $$0 = 0, $$0463$lcssa = 0, $$0463584 = 0, $$0464594 = 0, $$0471 = 0.0, $$0479 = 0, $$0487642 = 0, $$0488 = 0, $$0488653 = 0, $$0488655 = 0;
- var $$0496$$9 = 0, $$0497654 = 0, $$0498 = 0, $$0509582 = 0.0, $$0510 = 0, $$0511 = 0, $$0514637 = 0, $$0520 = 0, $$0521 = 0, $$0521$ = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0527629 = 0, $$0527631 = 0, $$0530636 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0;
- var $$1480 = 0, $$1482$lcssa = 0, $$1482661 = 0, $$1489641 = 0, $$1499$lcssa = 0, $$1499660 = 0, $$1508583 = 0, $$1512$lcssa = 0, $$1512607 = 0, $$1515 = 0, $$1524 = 0, $$1526 = 0, $$1528614 = 0, $$1531$lcssa = 0, $$1531630 = 0, $$1598 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2476$$547 = 0;
- var $$2476$$549 = 0, $$2483$ph = 0, $$2500 = 0, $$2513 = 0, $$2516618 = 0, $$2529 = 0, $$2532617 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484648 = 0, $$3501$lcssa = 0, $$3501647 = 0, $$3533613 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478590 = 0, $$4492 = 0, $$4502 = 0, $$4518 = 0;
- var $$5$lcssa = 0, $$534$ = 0, $$539 = 0, $$539$ = 0, $$542 = 0.0, $$546 = 0, $$548 = 0, $$5486$lcssa = 0, $$5486623 = 0, $$5493597 = 0, $$5519$ph = 0, $$555 = 0, $$556 = 0, $$559 = 0.0, $$5602 = 0, $$6 = 0, $$6494589 = 0, $$7495601 = 0, $$7505 = 0, $$7505$ = 0;
- var $$7505$ph = 0, $$8 = 0, $$9$ph = 0, $$lcssa673 = 0, $$neg = 0, $$neg567 = 0, $$pn = 0, $$pn566 = 0, $$pr = 0, $$pr564 = 0, $$pre = 0, $$pre$phi690Z2D = 0, $$pre689 = 0, $$sink545$lcssa = 0, $$sink545622 = 0, $$sink562 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0;
- var $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0.0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0.0, $117 = 0.0, $118 = 0.0, $119 = 0, $12 = 0, $120 = 0;
- var $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0;
- var $14 = 0.0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0;
- var $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0;
- var $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0;
- var $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0;
- var $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0.0, $229 = 0.0, $23 = 0;
- var $230 = 0, $231 = 0.0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0;
- var $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0;
- var $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0;
- var $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0;
- var $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0;
- var $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0;
- var $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0, $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0.0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0;
- var $358 = 0, $359 = 0, $36 = 0.0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0;
- var $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
- var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0.0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0.0, $61 = 0, $62 = 0, $63 = 0;
- var $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0;
- var $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $exitcond = 0;
- var $narrow = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond = 0, $or$cond3$not = 0, $or$cond537 = 0, $or$cond541 = 0, $or$cond544 = 0, $or$cond554 = 0, $or$cond6 = 0, $scevgep684 = 0, $scevgep684685 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 560|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(560|0);
- $6 = sp + 8|0;
- $7 = sp;
- $8 = sp + 524|0;
- $9 = $8;
- $10 = sp + 512|0;
- HEAP32[$7>>2] = 0;
- $11 = ((($10)) + 12|0);
- (___DOUBLE_BITS_675($1)|0);
- $12 = tempRet0;
- $13 = ($12|0)<(0);
- if ($13) {
-  $14 = -$1;
-  $$0471 = $14;$$0520 = 1;$$0521 = 70736;
- } else {
-  $15 = $4 & 2048;
-  $16 = ($15|0)==(0);
-  $17 = $4 & 1;
-  $18 = ($17|0)==(0);
-  $$ = $18 ? (70737) : (70742);
-  $$$ = $16 ? $$ : (70739);
-  $19 = $4 & 2049;
-  $narrow = ($19|0)!=(0);
-  $$534$ = $narrow&1;
-  $$0471 = $1;$$0520 = $$534$;$$0521 = $$$;
- }
- (___DOUBLE_BITS_675($$0471)|0);
- $20 = tempRet0;
- $21 = $20 & 2146435072;
- $22 = ($21>>>0)<(2146435072);
- $23 = (0)<(0);
- $24 = ($21|0)==(2146435072);
- $25 = $24 & $23;
- $26 = $22 | $25;
- do {
-  if ($26) {
-   $35 = (+_frexpl($$0471,$7));
-   $36 = $35 * 2.0;
-   $37 = $36 != 0.0;
-   if ($37) {
-    $38 = HEAP32[$7>>2]|0;
-    $39 = (($38) + -1)|0;
-    HEAP32[$7>>2] = $39;
-   }
-   $40 = $5 | 32;
-   $41 = ($40|0)==(97);
-   if ($41) {
-    $42 = $5 & 32;
-    $43 = ($42|0)==(0);
-    $44 = ((($$0521)) + 9|0);
-    $$0521$ = $43 ? $$0521 : $44;
-    $45 = $$0520 | 2;
-    $46 = ($3>>>0)>(11);
-    $47 = (12 - ($3))|0;
-    $48 = ($47|0)==(0);
-    $49 = $46 | $48;
-    do {
-     if ($49) {
-      $$1472 = $36;
-     } else {
-      $$0509582 = 8.0;$$1508583 = $47;
-      while(1) {
-       $50 = (($$1508583) + -1)|0;
-       $51 = $$0509582 * 16.0;
-       $52 = ($50|0)==(0);
-       if ($52) {
-        break;
-       } else {
-        $$0509582 = $51;$$1508583 = $50;
-       }
-      }
-      $53 = HEAP8[$$0521$>>0]|0;
-      $54 = ($53<<24>>24)==(45);
-      if ($54) {
-       $55 = -$36;
-       $56 = $55 - $51;
-       $57 = $51 + $56;
-       $58 = -$57;
-       $$1472 = $58;
-       break;
-      } else {
-       $59 = $36 + $51;
-       $60 = $59 - $51;
-       $$1472 = $60;
-       break;
-      }
-     }
-    } while(0);
-    $61 = HEAP32[$7>>2]|0;
-    $62 = ($61|0)<(0);
-    $63 = (0 - ($61))|0;
-    $64 = $62 ? $63 : $61;
-    $65 = ($64|0)<(0);
-    $66 = $65 << 31 >> 31;
-    $67 = (_fmt_u_1230($64,$66,$11)|0);
-    $68 = ($67|0)==($11|0);
-    if ($68) {
-     $69 = ((($10)) + 11|0);
-     HEAP8[$69>>0] = 48;
-     $$0511 = $69;
-    } else {
-     $$0511 = $67;
-    }
-    $70 = $61 >> 31;
-    $71 = $70 & 2;
-    $72 = (($71) + 43)|0;
-    $73 = $72&255;
-    $74 = ((($$0511)) + -1|0);
-    HEAP8[$74>>0] = $73;
-    $75 = (($5) + 15)|0;
-    $76 = $75&255;
-    $77 = ((($$0511)) + -2|0);
-    HEAP8[$77>>0] = $76;
-    $notrhs = ($3|0)<(1);
-    $78 = $4 & 8;
-    $79 = ($78|0)==(0);
-    $$0523 = $8;$$2473 = $$1472;
-    while(1) {
-     $80 = (~~(($$2473)));
-     $81 = (70767 + ($80)|0);
-     $82 = HEAP8[$81>>0]|0;
-     $83 = $82&255;
-     $84 = $83 | $42;
-     $85 = $84&255;
-     $86 = ((($$0523)) + 1|0);
-     HEAP8[$$0523>>0] = $85;
-     $87 = (+($80|0));
-     $88 = $$2473 - $87;
-     $89 = $88 * 16.0;
-     $90 = $86;
-     $91 = (($90) - ($9))|0;
-     $92 = ($91|0)==(1);
-     if ($92) {
-      $notlhs = $89 == 0.0;
-      $or$cond3$not = $notrhs & $notlhs;
-      $or$cond = $79 & $or$cond3$not;
-      if ($or$cond) {
-       $$1524 = $86;
-      } else {
-       $93 = ((($$0523)) + 2|0);
-       HEAP8[$86>>0] = 46;
-       $$1524 = $93;
-      }
-     } else {
-      $$1524 = $86;
-     }
-     $94 = $89 != 0.0;
-     if ($94) {
-      $$0523 = $$1524;$$2473 = $89;
-     } else {
-      break;
-     }
-    }
-    $95 = ($3|0)!=(0);
-    $96 = $77;
-    $97 = $11;
-    $98 = $$1524;
-    $99 = (($98) - ($9))|0;
-    $100 = (($97) - ($96))|0;
-    $101 = (($99) + -2)|0;
-    $102 = ($101|0)<($3|0);
-    $or$cond537 = $95 & $102;
-    $103 = (($3) + 2)|0;
-    $$pn = $or$cond537 ? $103 : $99;
-    $$0525 = (($100) + ($45))|0;
-    $104 = (($$0525) + ($$pn))|0;
-    _pad_674($0,32,$2,$104,$4);
-    _out_1229($0,$$0521$,$45);
-    $105 = $4 ^ 65536;
-    _pad_674($0,48,$2,$104,$105);
-    _out_1229($0,$8,$99);
-    $106 = (($$pn) - ($99))|0;
-    _pad_674($0,48,$106,0,0);
-    _out_1229($0,$77,$100);
-    $107 = $4 ^ 8192;
-    _pad_674($0,32,$2,$104,$107);
-    $$sink562 = $104;
-    break;
-   }
-   $108 = ($3|0)<(0);
-   $$539 = $108 ? 6 : $3;
-   if ($37) {
-    $109 = $36 * 268435456.0;
-    $110 = HEAP32[$7>>2]|0;
-    $111 = (($110) + -28)|0;
-    HEAP32[$7>>2] = $111;
-    $$3 = $109;$$pr = $111;
-   } else {
-    $$pre = HEAP32[$7>>2]|0;
-    $$3 = $36;$$pr = $$pre;
-   }
-   $112 = ($$pr|0)<(0);
-   $113 = ((($6)) + 288|0);
-   $$556 = $112 ? $6 : $113;
-   $$0498 = $$556;$$4 = $$3;
-   while(1) {
-    $114 = (~~(($$4))>>>0);
-    HEAP32[$$0498>>2] = $114;
-    $115 = ((($$0498)) + 4|0);
-    $116 = (+($114>>>0));
-    $117 = $$4 - $116;
-    $118 = $117 * 1.0E+9;
-    $119 = $118 != 0.0;
-    if ($119) {
-     $$0498 = $115;$$4 = $118;
-    } else {
-     break;
-    }
-   }
-   $120 = ($$pr|0)>(0);
-   if ($120) {
-    $$1482661 = $$556;$$1499660 = $115;$122 = $$pr;
-    while(1) {
-     $121 = ($122|0)<(29);
-     $123 = $121 ? $122 : 29;
-     $$0488653 = ((($$1499660)) + -4|0);
-     $124 = ($$0488653>>>0)<($$1482661>>>0);
-     if ($124) {
-      $$2483$ph = $$1482661;
-     } else {
-      $$0488655 = $$0488653;$$0497654 = 0;
-      while(1) {
-       $125 = HEAP32[$$0488655>>2]|0;
-       $126 = (_bitshift64Shl(($125|0),0,($123|0))|0);
-       $127 = tempRet0;
-       $128 = (_i64Add(($126|0),($127|0),($$0497654|0),0)|0);
-       $129 = tempRet0;
-       $130 = (___uremdi3(($128|0),($129|0),1000000000,0)|0);
-       $131 = tempRet0;
-       HEAP32[$$0488655>>2] = $130;
-       $132 = (___udivdi3(($128|0),($129|0),1000000000,0)|0);
-       $133 = tempRet0;
-       $$0488 = ((($$0488655)) + -4|0);
-       $134 = ($$0488>>>0)<($$1482661>>>0);
-       if ($134) {
-        break;
-       } else {
-        $$0488655 = $$0488;$$0497654 = $132;
-       }
-      }
-      $135 = ($132|0)==(0);
-      if ($135) {
-       $$2483$ph = $$1482661;
-      } else {
-       $136 = ((($$1482661)) + -4|0);
-       HEAP32[$136>>2] = $132;
-       $$2483$ph = $136;
-      }
-     }
-     $$2500 = $$1499660;
-     while(1) {
-      $137 = ($$2500>>>0)>($$2483$ph>>>0);
-      if (!($137)) {
-       break;
-      }
-      $138 = ((($$2500)) + -4|0);
-      $139 = HEAP32[$138>>2]|0;
-      $140 = ($139|0)==(0);
-      if ($140) {
-       $$2500 = $138;
-      } else {
-       break;
-      }
-     }
-     $141 = HEAP32[$7>>2]|0;
-     $142 = (($141) - ($123))|0;
-     HEAP32[$7>>2] = $142;
-     $143 = ($142|0)>(0);
-     if ($143) {
-      $$1482661 = $$2483$ph;$$1499660 = $$2500;$122 = $142;
-     } else {
-      $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142;
-      break;
-     }
-    }
-   } else {
-    $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr;
-   }
-   $144 = ($$pr564|0)<(0);
-   if ($144) {
-    $145 = (($$539) + 25)|0;
-    $146 = (($145|0) / 9)&-1;
-    $147 = (($146) + 1)|0;
-    $148 = ($40|0)==(102);
-    $$3484648 = $$1482$lcssa;$$3501647 = $$1499$lcssa;$150 = $$pr564;
-    while(1) {
-     $149 = (0 - ($150))|0;
-     $151 = ($149|0)<(9);
-     $152 = $151 ? $149 : 9;
-     $153 = ($$3484648>>>0)<($$3501647>>>0);
-     if ($153) {
-      $157 = 1 << $152;
-      $158 = (($157) + -1)|0;
-      $159 = 1000000000 >>> $152;
-      $$0487642 = 0;$$1489641 = $$3484648;
-      while(1) {
-       $160 = HEAP32[$$1489641>>2]|0;
-       $161 = $160 & $158;
-       $162 = $160 >>> $152;
-       $163 = (($162) + ($$0487642))|0;
-       HEAP32[$$1489641>>2] = $163;
-       $164 = Math_imul($161, $159)|0;
-       $165 = ((($$1489641)) + 4|0);
-       $166 = ($165>>>0)<($$3501647>>>0);
-       if ($166) {
-        $$0487642 = $164;$$1489641 = $165;
-       } else {
-        break;
-       }
-      }
-      $167 = HEAP32[$$3484648>>2]|0;
-      $168 = ($167|0)==(0);
-      $169 = ((($$3484648)) + 4|0);
-      $$$3484 = $168 ? $169 : $$3484648;
-      $170 = ($164|0)==(0);
-      if ($170) {
-       $$$3484692 = $$$3484;$$4502 = $$3501647;
-      } else {
-       $171 = ((($$3501647)) + 4|0);
-       HEAP32[$$3501647>>2] = $164;
-       $$$3484692 = $$$3484;$$4502 = $171;
-      }
-     } else {
-      $154 = HEAP32[$$3484648>>2]|0;
-      $155 = ($154|0)==(0);
-      $156 = ((($$3484648)) + 4|0);
-      $$$3484691 = $155 ? $156 : $$3484648;
-      $$$3484692 = $$$3484691;$$4502 = $$3501647;
-     }
-     $172 = $148 ? $$556 : $$$3484692;
-     $173 = $$4502;
-     $174 = $172;
-     $175 = (($173) - ($174))|0;
-     $176 = $175 >> 2;
-     $177 = ($176|0)>($147|0);
-     $178 = (($172) + ($147<<2)|0);
-     $$$4502 = $177 ? $178 : $$4502;
-     $179 = HEAP32[$7>>2]|0;
-     $180 = (($179) + ($152))|0;
-     HEAP32[$7>>2] = $180;
-     $181 = ($180|0)<(0);
-     if ($181) {
-      $$3484648 = $$$3484692;$$3501647 = $$$4502;$150 = $180;
-     } else {
-      $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502;
-      break;
-     }
-    }
-   } else {
-    $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa;
-   }
-   $182 = ($$3484$lcssa>>>0)<($$3501$lcssa>>>0);
-   $183 = $$556;
-   if ($182) {
-    $184 = $$3484$lcssa;
-    $185 = (($183) - ($184))|0;
-    $186 = $185 >> 2;
-    $187 = ($186*9)|0;
-    $188 = HEAP32[$$3484$lcssa>>2]|0;
-    $189 = ($188>>>0)<(10);
-    if ($189) {
-     $$1515 = $187;
-    } else {
-     $$0514637 = $187;$$0530636 = 10;
-     while(1) {
-      $190 = ($$0530636*10)|0;
-      $191 = (($$0514637) + 1)|0;
-      $192 = ($188>>>0)<($190>>>0);
-      if ($192) {
-       $$1515 = $191;
-       break;
-      } else {
-       $$0514637 = $191;$$0530636 = $190;
-      }
-     }
-    }
-   } else {
-    $$1515 = 0;
-   }
-   $193 = ($40|0)!=(102);
-   $194 = $193 ? $$1515 : 0;
-   $195 = (($$539) - ($194))|0;
-   $196 = ($40|0)==(103);
-   $197 = ($$539|0)!=(0);
-   $198 = $197 & $196;
-   $$neg = $198 << 31 >> 31;
-   $199 = (($195) + ($$neg))|0;
-   $200 = $$3501$lcssa;
-   $201 = (($200) - ($183))|0;
-   $202 = $201 >> 2;
-   $203 = ($202*9)|0;
-   $204 = (($203) + -9)|0;
-   $205 = ($199|0)<($204|0);
-   if ($205) {
-    $206 = ((($$556)) + 4|0);
-    $207 = (($199) + 9216)|0;
-    $208 = (($207|0) / 9)&-1;
-    $209 = (($208) + -1024)|0;
-    $210 = (($206) + ($209<<2)|0);
-    $211 = (($207|0) % 9)&-1;
-    $$0527629 = (($211) + 1)|0;
-    $212 = ($$0527629|0)<(9);
-    if ($212) {
-     $$0527631 = $$0527629;$$1531630 = 10;
-     while(1) {
-      $213 = ($$1531630*10)|0;
-      $$0527 = (($$0527631) + 1)|0;
-      $exitcond = ($$0527|0)==(9);
-      if ($exitcond) {
-       $$1531$lcssa = $213;
-       break;
-      } else {
-       $$0527631 = $$0527;$$1531630 = $213;
-      }
-     }
-    } else {
-     $$1531$lcssa = 10;
-    }
-    $214 = HEAP32[$210>>2]|0;
-    $215 = (($214>>>0) % ($$1531$lcssa>>>0))&-1;
-    $216 = ($215|0)==(0);
-    $217 = ((($210)) + 4|0);
-    $218 = ($217|0)==($$3501$lcssa|0);
-    $or$cond541 = $218 & $216;
-    if ($or$cond541) {
-     $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa;
-    } else {
-     $219 = (($214>>>0) / ($$1531$lcssa>>>0))&-1;
-     $220 = $219 & 1;
-     $221 = ($220|0)==(0);
-     $$542 = $221 ? 9007199254740992.0 : 9007199254740994.0;
-     $222 = (($$1531$lcssa|0) / 2)&-1;
-     $223 = ($215>>>0)<($222>>>0);
-     $224 = ($215|0)==($222|0);
-     $or$cond544 = $218 & $224;
-     $$559 = $or$cond544 ? 1.0 : 1.5;
-     $$$559 = $223 ? 0.5 : $$559;
-     $225 = ($$0520|0)==(0);
-     if ($225) {
-      $$1467 = $$$559;$$1469 = $$542;
-     } else {
-      $226 = HEAP8[$$0521>>0]|0;
-      $227 = ($226<<24>>24)==(45);
-      $228 = -$$542;
-      $229 = -$$$559;
-      $$$542 = $227 ? $228 : $$542;
-      $$$$559 = $227 ? $229 : $$$559;
-      $$1467 = $$$$559;$$1469 = $$$542;
-     }
-     $230 = (($214) - ($215))|0;
-     HEAP32[$210>>2] = $230;
-     $231 = $$1469 + $$1467;
-     $232 = $231 != $$1469;
-     if ($232) {
-      $233 = (($230) + ($$1531$lcssa))|0;
-      HEAP32[$210>>2] = $233;
-      $234 = ($233>>>0)>(999999999);
-      if ($234) {
-       $$5486623 = $$3484$lcssa;$$sink545622 = $210;
-       while(1) {
-        $235 = ((($$sink545622)) + -4|0);
-        HEAP32[$$sink545622>>2] = 0;
-        $236 = ($235>>>0)<($$5486623>>>0);
-        if ($236) {
-         $237 = ((($$5486623)) + -4|0);
-         HEAP32[$237>>2] = 0;
-         $$6 = $237;
-        } else {
-         $$6 = $$5486623;
-        }
-        $238 = HEAP32[$235>>2]|0;
-        $239 = (($238) + 1)|0;
-        HEAP32[$235>>2] = $239;
-        $240 = ($239>>>0)>(999999999);
-        if ($240) {
-         $$5486623 = $$6;$$sink545622 = $235;
-        } else {
-         $$5486$lcssa = $$6;$$sink545$lcssa = $235;
-         break;
-        }
-       }
-      } else {
-       $$5486$lcssa = $$3484$lcssa;$$sink545$lcssa = $210;
-      }
-      $241 = $$5486$lcssa;
-      $242 = (($183) - ($241))|0;
-      $243 = $242 >> 2;
-      $244 = ($243*9)|0;
-      $245 = HEAP32[$$5486$lcssa>>2]|0;
-      $246 = ($245>>>0)<(10);
-      if ($246) {
-       $$4492 = $$sink545$lcssa;$$4518 = $244;$$8 = $$5486$lcssa;
-      } else {
-       $$2516618 = $244;$$2532617 = 10;
-       while(1) {
-        $247 = ($$2532617*10)|0;
-        $248 = (($$2516618) + 1)|0;
-        $249 = ($245>>>0)<($247>>>0);
-        if ($249) {
-         $$4492 = $$sink545$lcssa;$$4518 = $248;$$8 = $$5486$lcssa;
-         break;
-        } else {
-         $$2516618 = $248;$$2532617 = $247;
-        }
-       }
-      }
-     } else {
-      $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa;
-     }
-    }
-    $250 = ((($$4492)) + 4|0);
-    $251 = ($$3501$lcssa>>>0)>($250>>>0);
-    $$$3501 = $251 ? $250 : $$3501$lcssa;
-    $$5519$ph = $$4518;$$7505$ph = $$$3501;$$9$ph = $$8;
-   } else {
-    $$5519$ph = $$1515;$$7505$ph = $$3501$lcssa;$$9$ph = $$3484$lcssa;
-   }
-   $$7505 = $$7505$ph;
-   while(1) {
-    $252 = ($$7505>>>0)>($$9$ph>>>0);
-    if (!($252)) {
-     $$lcssa673 = 0;
-     break;
-    }
-    $253 = ((($$7505)) + -4|0);
-    $254 = HEAP32[$253>>2]|0;
-    $255 = ($254|0)==(0);
-    if ($255) {
-     $$7505 = $253;
-    } else {
-     $$lcssa673 = 1;
-     break;
-    }
-   }
-   $256 = (0 - ($$5519$ph))|0;
-   do {
-    if ($196) {
-     $not$ = $197 ^ 1;
-     $257 = $not$&1;
-     $$539$ = (($257) + ($$539))|0;
-     $258 = ($$539$|0)>($$5519$ph|0);
-     $259 = ($$5519$ph|0)>(-5);
-     $or$cond6 = $258 & $259;
-     if ($or$cond6) {
-      $260 = (($5) + -1)|0;
-      $$neg567 = (($$539$) + -1)|0;
-      $261 = (($$neg567) - ($$5519$ph))|0;
-      $$0479 = $260;$$2476 = $261;
-     } else {
-      $262 = (($5) + -2)|0;
-      $263 = (($$539$) + -1)|0;
-      $$0479 = $262;$$2476 = $263;
-     }
-     $264 = $4 & 8;
-     $265 = ($264|0)==(0);
-     if ($265) {
-      if ($$lcssa673) {
-       $266 = ((($$7505)) + -4|0);
-       $267 = HEAP32[$266>>2]|0;
-       $268 = ($267|0)==(0);
-       if ($268) {
-        $$2529 = 9;
-       } else {
-        $269 = (($267>>>0) % 10)&-1;
-        $270 = ($269|0)==(0);
-        if ($270) {
-         $$1528614 = 0;$$3533613 = 10;
-         while(1) {
-          $271 = ($$3533613*10)|0;
-          $272 = (($$1528614) + 1)|0;
-          $273 = (($267>>>0) % ($271>>>0))&-1;
-          $274 = ($273|0)==(0);
-          if ($274) {
-           $$1528614 = $272;$$3533613 = $271;
-          } else {
-           $$2529 = $272;
-           break;
-          }
-         }
-        } else {
-         $$2529 = 0;
-        }
-       }
-      } else {
-       $$2529 = 9;
-      }
-      $275 = $$0479 | 32;
-      $276 = ($275|0)==(102);
-      $277 = $$7505;
-      $278 = (($277) - ($183))|0;
-      $279 = $278 >> 2;
-      $280 = ($279*9)|0;
-      $281 = (($280) + -9)|0;
-      if ($276) {
-       $282 = (($281) - ($$2529))|0;
-       $283 = ($282|0)>(0);
-       $$546 = $283 ? $282 : 0;
-       $284 = ($$2476|0)<($$546|0);
-       $$2476$$547 = $284 ? $$2476 : $$546;
-       $$1480 = $$0479;$$3477 = $$2476$$547;$$pre$phi690Z2D = 0;
-       break;
-      } else {
-       $285 = (($281) + ($$5519$ph))|0;
-       $286 = (($285) - ($$2529))|0;
-       $287 = ($286|0)>(0);
-       $$548 = $287 ? $286 : 0;
-       $288 = ($$2476|0)<($$548|0);
-       $$2476$$549 = $288 ? $$2476 : $$548;
-       $$1480 = $$0479;$$3477 = $$2476$$549;$$pre$phi690Z2D = 0;
-       break;
-      }
-     } else {
-      $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264;
-     }
-    } else {
-     $$pre689 = $4 & 8;
-     $$1480 = $5;$$3477 = $$539;$$pre$phi690Z2D = $$pre689;
-    }
-   } while(0);
-   $289 = $$3477 | $$pre$phi690Z2D;
-   $290 = ($289|0)!=(0);
-   $291 = $290&1;
-   $292 = $$1480 | 32;
-   $293 = ($292|0)==(102);
-   if ($293) {
-    $294 = ($$5519$ph|0)>(0);
-    $295 = $294 ? $$5519$ph : 0;
-    $$2513 = 0;$$pn566 = $295;
-   } else {
-    $296 = ($$5519$ph|0)<(0);
-    $297 = $296 ? $256 : $$5519$ph;
-    $298 = ($297|0)<(0);
-    $299 = $298 << 31 >> 31;
-    $300 = (_fmt_u_1230($297,$299,$11)|0);
-    $301 = $11;
-    $302 = $300;
-    $303 = (($301) - ($302))|0;
-    $304 = ($303|0)<(2);
-    if ($304) {
-     $$1512607 = $300;
-     while(1) {
-      $305 = ((($$1512607)) + -1|0);
-      HEAP8[$305>>0] = 48;
-      $306 = $305;
-      $307 = (($301) - ($306))|0;
-      $308 = ($307|0)<(2);
-      if ($308) {
-       $$1512607 = $305;
-      } else {
-       $$1512$lcssa = $305;
-       break;
-      }
-     }
-    } else {
-     $$1512$lcssa = $300;
-    }
-    $309 = $$5519$ph >> 31;
-    $310 = $309 & 2;
-    $311 = (($310) + 43)|0;
-    $312 = $311&255;
-    $313 = ((($$1512$lcssa)) + -1|0);
-    HEAP8[$313>>0] = $312;
-    $314 = $$1480&255;
-    $315 = ((($$1512$lcssa)) + -2|0);
-    HEAP8[$315>>0] = $314;
-    $316 = $315;
-    $317 = (($301) - ($316))|0;
-    $$2513 = $315;$$pn566 = $317;
-   }
-   $318 = (($$0520) + 1)|0;
-   $319 = (($318) + ($$3477))|0;
-   $$1526 = (($319) + ($291))|0;
-   $320 = (($$1526) + ($$pn566))|0;
-   _pad_674($0,32,$2,$320,$4);
-   _out_1229($0,$$0521,$$0520);
-   $321 = $4 ^ 65536;
-   _pad_674($0,48,$2,$320,$321);
-   if ($293) {
-    $322 = ($$9$ph>>>0)>($$556>>>0);
-    $$0496$$9 = $322 ? $$556 : $$9$ph;
-    $323 = ((($8)) + 9|0);
-    $324 = $323;
-    $325 = ((($8)) + 8|0);
-    $$5493597 = $$0496$$9;
-    while(1) {
-     $326 = HEAP32[$$5493597>>2]|0;
-     $327 = (_fmt_u_1230($326,0,$323)|0);
-     $328 = ($$5493597|0)==($$0496$$9|0);
-     if ($328) {
-      $334 = ($327|0)==($323|0);
-      if ($334) {
-       HEAP8[$325>>0] = 48;
-       $$1465 = $325;
-      } else {
-       $$1465 = $327;
-      }
-     } else {
-      $329 = ($327>>>0)>($8>>>0);
-      if ($329) {
-       $330 = $327;
-       $331 = (($330) - ($9))|0;
-       _memset(($8|0),48,($331|0))|0;
-       $$0464594 = $327;
-       while(1) {
-        $332 = ((($$0464594)) + -1|0);
-        $333 = ($332>>>0)>($8>>>0);
-        if ($333) {
-         $$0464594 = $332;
-        } else {
-         $$1465 = $332;
-         break;
-        }
-       }
-      } else {
-       $$1465 = $327;
-      }
-     }
-     $335 = $$1465;
-     $336 = (($324) - ($335))|0;
-     _out_1229($0,$$1465,$336);
-     $337 = ((($$5493597)) + 4|0);
-     $338 = ($337>>>0)>($$556>>>0);
-     if ($338) {
-      break;
-     } else {
-      $$5493597 = $337;
-     }
-    }
-    $339 = ($289|0)==(0);
-    if (!($339)) {
-     _out_1229($0,70783,1);
-    }
-    $340 = ($337>>>0)<($$7505>>>0);
-    $341 = ($$3477|0)>(0);
-    $342 = $340 & $341;
-    if ($342) {
-     $$4478590 = $$3477;$$6494589 = $337;
-     while(1) {
-      $343 = HEAP32[$$6494589>>2]|0;
-      $344 = (_fmt_u_1230($343,0,$323)|0);
-      $345 = ($344>>>0)>($8>>>0);
-      if ($345) {
-       $346 = $344;
-       $347 = (($346) - ($9))|0;
-       _memset(($8|0),48,($347|0))|0;
-       $$0463584 = $344;
-       while(1) {
-        $348 = ((($$0463584)) + -1|0);
-        $349 = ($348>>>0)>($8>>>0);
-        if ($349) {
-         $$0463584 = $348;
-        } else {
-         $$0463$lcssa = $348;
-         break;
-        }
-       }
-      } else {
-       $$0463$lcssa = $344;
-      }
-      $350 = ($$4478590|0)<(9);
-      $351 = $350 ? $$4478590 : 9;
-      _out_1229($0,$$0463$lcssa,$351);
-      $352 = ((($$6494589)) + 4|0);
-      $353 = (($$4478590) + -9)|0;
-      $354 = ($352>>>0)<($$7505>>>0);
-      $355 = ($$4478590|0)>(9);
-      $356 = $354 & $355;
-      if ($356) {
-       $$4478590 = $353;$$6494589 = $352;
-      } else {
-       $$4478$lcssa = $353;
-       break;
-      }
-     }
-    } else {
-     $$4478$lcssa = $$3477;
-    }
-    $357 = (($$4478$lcssa) + 9)|0;
-    _pad_674($0,48,$357,9,0);
-   } else {
-    $358 = ((($$9$ph)) + 4|0);
-    $$7505$ = $$lcssa673 ? $$7505 : $358;
-    $359 = ($$3477|0)>(-1);
-    if ($359) {
-     $360 = ((($8)) + 9|0);
-     $361 = ($$pre$phi690Z2D|0)==(0);
-     $362 = $360;
-     $363 = (0 - ($9))|0;
-     $364 = ((($8)) + 8|0);
-     $$5602 = $$3477;$$7495601 = $$9$ph;
-     while(1) {
-      $365 = HEAP32[$$7495601>>2]|0;
-      $366 = (_fmt_u_1230($365,0,$360)|0);
-      $367 = ($366|0)==($360|0);
-      if ($367) {
-       HEAP8[$364>>0] = 48;
-       $$0 = $364;
-      } else {
-       $$0 = $366;
-      }
-      $368 = ($$7495601|0)==($$9$ph|0);
-      do {
-       if ($368) {
-        $372 = ((($$0)) + 1|0);
-        _out_1229($0,$$0,1);
-        $373 = ($$5602|0)<(1);
-        $or$cond554 = $361 & $373;
-        if ($or$cond554) {
-         $$2 = $372;
-         break;
-        }
-        _out_1229($0,70783,1);
-        $$2 = $372;
-       } else {
-        $369 = ($$0>>>0)>($8>>>0);
-        if (!($369)) {
-         $$2 = $$0;
-         break;
-        }
-        $scevgep684 = (($$0) + ($363)|0);
-        $scevgep684685 = $scevgep684;
-        _memset(($8|0),48,($scevgep684685|0))|0;
-        $$1598 = $$0;
-        while(1) {
-         $370 = ((($$1598)) + -1|0);
-         $371 = ($370>>>0)>($8>>>0);
-         if ($371) {
-          $$1598 = $370;
-         } else {
-          $$2 = $370;
-          break;
-         }
-        }
-       }
-      } while(0);
-      $374 = $$2;
-      $375 = (($362) - ($374))|0;
-      $376 = ($$5602|0)>($375|0);
-      $377 = $376 ? $375 : $$5602;
-      _out_1229($0,$$2,$377);
-      $378 = (($$5602) - ($375))|0;
-      $379 = ((($$7495601)) + 4|0);
-      $380 = ($379>>>0)<($$7505$>>>0);
-      $381 = ($378|0)>(-1);
-      $382 = $380 & $381;
-      if ($382) {
-       $$5602 = $378;$$7495601 = $379;
-      } else {
-       $$5$lcssa = $378;
-       break;
-      }
-     }
-    } else {
-     $$5$lcssa = $$3477;
-    }
-    $383 = (($$5$lcssa) + 18)|0;
-    _pad_674($0,48,$383,18,0);
-    $384 = $11;
-    $385 = $$2513;
-    $386 = (($384) - ($385))|0;
-    _out_1229($0,$$2513,$386);
-   }
-   $387 = $4 ^ 8192;
-   _pad_674($0,32,$2,$320,$387);
-   $$sink562 = $320;
-  } else {
-   $27 = $5 & 32;
-   $28 = ($27|0)!=(0);
-   $29 = $28 ? 70755 : 70759;
-   $30 = ($$0471 != $$0471) | (0.0 != 0.0);
-   $31 = $28 ? 72686 : 70763;
-   $$0510 = $30 ? $31 : $29;
-   $32 = (($$0520) + 3)|0;
-   $33 = $4 & -65537;
-   _pad_674($0,32,$2,$32,$33);
-   _out_1229($0,$$0521,$$0520);
-   _out_1229($0,$$0510,3);
-   $34 = $4 ^ 8192;
-   _pad_674($0,32,$2,$32,$34);
-   $$sink562 = $32;
-  }
- } while(0);
- $388 = ($$sink562|0)<($2|0);
- $$555 = $388 ? $2 : $$sink562;
- STACKTOP = sp;return ($$555|0);
-}
-function ___DOUBLE_BITS_675($0) {
- $0 = +$0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
- $2 = HEAP32[tempDoublePtr+4>>2]|0;
- tempRet0 = ($2);
- return ($1|0);
-}
-function _frexpl($0,$1) {
- $0 = +$0;
- $1 = $1|0;
- var $2 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (+_frexp($0,$1));
- return (+$2);
-}
-function _frexp($0,$1) {
- $0 = +$0;
- $1 = $1|0;
- var $$0 = 0.0, $$016 = 0.0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0.0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0.0, $storemerge = 0, $trunc$clear = 0, label = 0;
- var sp = 0;
- sp = STACKTOP;
- HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
- $3 = HEAP32[tempDoublePtr+4>>2]|0;
- $4 = (_bitshift64Lshr(($2|0),($3|0),52)|0);
- $5 = tempRet0;
- $6 = $4&65535;
- $trunc$clear = $6 & 2047;
- switch ($trunc$clear<<16>>16) {
- case 0:  {
-  $7 = $0 != 0.0;
-  if ($7) {
-   $8 = $0 * 1.8446744073709552E+19;
-   $9 = (+_frexp($8,$1));
-   $10 = HEAP32[$1>>2]|0;
-   $11 = (($10) + -64)|0;
-   $$016 = $9;$storemerge = $11;
-  } else {
-   $$016 = $0;$storemerge = 0;
-  }
-  HEAP32[$1>>2] = $storemerge;
-  $$0 = $$016;
-  break;
- }
- case 2047:  {
-  $$0 = $0;
-  break;
- }
- default: {
-  $12 = $4 & 2047;
-  $13 = (($12) + -1022)|0;
-  HEAP32[$1>>2] = $13;
-  $14 = $3 & -2146435073;
-  $15 = $14 | 1071644672;
-  HEAP32[tempDoublePtr>>2] = $2;HEAP32[tempDoublePtr+4>>2] = $15;$16 = +HEAPF64[tempDoublePtr>>3];
-  $$0 = $16;
- }
- }
- return (+$$0);
-}
-function _wcrtomb($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0;
- var $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0;
- var $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $not$ = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = ($0|0)==(0|0);
- do {
-  if ($3) {
-   $$0 = 1;
-  } else {
-   $4 = ($1>>>0)<(128);
-   if ($4) {
-    $5 = $1&255;
-    HEAP8[$0>>0] = $5;
-    $$0 = 1;
-    break;
-   }
-   $6 = (___pthread_self_448()|0);
-   $7 = ((($6)) + 188|0);
-   $8 = HEAP32[$7>>2]|0;
-   $9 = HEAP32[$8>>2]|0;
-   $not$ = ($9|0)==(0|0);
-   if ($not$) {
-    $10 = $1 & -128;
-    $11 = ($10|0)==(57216);
-    if ($11) {
-     $13 = $1&255;
-     HEAP8[$0>>0] = $13;
-     $$0 = 1;
-     break;
-    } else {
-     $12 = (___errno_location()|0);
-     HEAP32[$12>>2] = 84;
-     $$0 = -1;
-     break;
-    }
-   }
-   $14 = ($1>>>0)<(2048);
-   if ($14) {
-    $15 = $1 >>> 6;
-    $16 = $15 | 192;
-    $17 = $16&255;
-    $18 = ((($0)) + 1|0);
-    HEAP8[$0>>0] = $17;
-    $19 = $1 & 63;
-    $20 = $19 | 128;
-    $21 = $20&255;
-    HEAP8[$18>>0] = $21;
-    $$0 = 2;
-    break;
-   }
-   $22 = ($1>>>0)<(55296);
-   $23 = $1 & -8192;
-   $24 = ($23|0)==(57344);
-   $or$cond = $22 | $24;
-   if ($or$cond) {
-    $25 = $1 >>> 12;
-    $26 = $25 | 224;
-    $27 = $26&255;
-    $28 = ((($0)) + 1|0);
-    HEAP8[$0>>0] = $27;
-    $29 = $1 >>> 6;
-    $30 = $29 & 63;
-    $31 = $30 | 128;
-    $32 = $31&255;
-    $33 = ((($0)) + 2|0);
-    HEAP8[$28>>0] = $32;
-    $34 = $1 & 63;
-    $35 = $34 | 128;
-    $36 = $35&255;
-    HEAP8[$33>>0] = $36;
-    $$0 = 3;
-    break;
-   }
-   $37 = (($1) + -65536)|0;
-   $38 = ($37>>>0)<(1048576);
-   if ($38) {
-    $39 = $1 >>> 18;
-    $40 = $39 | 240;
-    $41 = $40&255;
-    $42 = ((($0)) + 1|0);
-    HEAP8[$0>>0] = $41;
-    $43 = $1 >>> 12;
-    $44 = $43 & 63;
-    $45 = $44 | 128;
-    $46 = $45&255;
-    $47 = ((($0)) + 2|0);
-    HEAP8[$42>>0] = $46;
-    $48 = $1 >>> 6;
-    $49 = $48 & 63;
-    $50 = $49 | 128;
-    $51 = $50&255;
-    $52 = ((($0)) + 3|0);
-    HEAP8[$47>>0] = $51;
-    $53 = $1 & 63;
-    $54 = $53 | 128;
-    $55 = $54&255;
-    HEAP8[$52>>0] = $55;
-    $$0 = 4;
-    break;
-   } else {
-    $56 = (___errno_location()|0);
-    HEAP32[$56>>2] = 84;
-    $$0 = -1;
-    break;
-   }
-  }
- } while(0);
- return ($$0|0);
-}
-function ___pthread_self_448() {
- var $0 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $0 = (_pthread_self()|0);
- return ($0|0);
-}
-function ___pthread_self_105() {
- var $0 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $0 = (_pthread_self()|0);
- return ($0|0);
-}
-function ___strerror_l($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- $$016 = 0;
- while(1) {
-  $3 = (70785 + ($$016)|0);
-  $4 = HEAP8[$3>>0]|0;
-  $5 = $4&255;
-  $6 = ($5|0)==($0|0);
-  if ($6) {
-   label = 2;
-   break;
-  }
-  $7 = (($$016) + 1)|0;
-  $8 = ($7|0)==(87);
-  if ($8) {
-   $$01214 = 70873;$$115 = 87;
-   label = 5;
-   break;
-  } else {
-   $$016 = $7;
-  }
- }
- if ((label|0) == 2) {
-  $2 = ($$016|0)==(0);
-  if ($2) {
-   $$012$lcssa = 70873;
-  } else {
-   $$01214 = 70873;$$115 = $$016;
-   label = 5;
-  }
- }
- if ((label|0) == 5) {
-  while(1) {
-   label = 0;
-   $$113 = $$01214;
-   while(1) {
-    $9 = HEAP8[$$113>>0]|0;
-    $10 = ($9<<24>>24)==(0);
-    $11 = ((($$113)) + 1|0);
-    if ($10) {
-     break;
-    } else {
-     $$113 = $11;
-    }
-   }
-   $12 = (($$115) + -1)|0;
-   $13 = ($12|0)==(0);
-   if ($13) {
-    $$012$lcssa = $11;
-    break;
-   } else {
-    $$01214 = $11;$$115 = $12;
-    label = 5;
-   }
-  }
- }
- $14 = ((($1)) + 20|0);
- $15 = HEAP32[$14>>2]|0;
- $16 = (___lctrans($$012$lcssa,$15)|0);
- return ($16|0);
-}
-function ___lctrans($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (___lctrans_impl($0,$1)|0);
- return ($2|0);
-}
-function ___lctrans_impl($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$0 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = ($1|0)==(0|0);
- if ($2) {
-  $$0 = 0;
- } else {
-  $3 = HEAP32[$1>>2]|0;
-  $4 = ((($1)) + 4|0);
-  $5 = HEAP32[$4>>2]|0;
-  $6 = (___mo_lookup($3,$5,$0)|0);
-  $$0 = $6;
- }
- $7 = ($$0|0)!=(0|0);
- $8 = $7 ? $$0 : $0;
- return ($8|0);
-}
-function ___mo_lookup($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$ = 0, $$090 = 0, $$094 = 0, $$191 = 0, $$195 = 0, $$4 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
- var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
- var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond102 = 0, $or$cond104 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = HEAP32[$0>>2]|0;
- $4 = (($3) + 1794895138)|0;
- $5 = ((($0)) + 8|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = (_swapc($6,$4)|0);
- $8 = ((($0)) + 12|0);
- $9 = HEAP32[$8>>2]|0;
- $10 = (_swapc($9,$4)|0);
- $11 = ((($0)) + 16|0);
- $12 = HEAP32[$11>>2]|0;
- $13 = (_swapc($12,$4)|0);
- $14 = $1 >>> 2;
- $15 = ($7>>>0)<($14>>>0);
- L1: do {
-  if ($15) {
-   $16 = $7 << 2;
-   $17 = (($1) - ($16))|0;
-   $18 = ($10>>>0)<($17>>>0);
-   $19 = ($13>>>0)<($17>>>0);
-   $or$cond = $18 & $19;
-   if ($or$cond) {
-    $20 = $13 | $10;
-    $21 = $20 & 3;
-    $22 = ($21|0)==(0);
-    if ($22) {
-     $23 = $10 >>> 2;
-     $24 = $13 >>> 2;
-     $$090 = 0;$$094 = $7;
-     while(1) {
-      $25 = $$094 >>> 1;
-      $26 = (($$090) + ($25))|0;
-      $27 = $26 << 1;
-      $28 = (($27) + ($23))|0;
-      $29 = (($0) + ($28<<2)|0);
-      $30 = HEAP32[$29>>2]|0;
-      $31 = (_swapc($30,$4)|0);
-      $32 = (($28) + 1)|0;
-      $33 = (($0) + ($32<<2)|0);
-      $34 = HEAP32[$33>>2]|0;
-      $35 = (_swapc($34,$4)|0);
-      $36 = ($35>>>0)<($1>>>0);
-      $37 = (($1) - ($35))|0;
-      $38 = ($31>>>0)<($37>>>0);
-      $or$cond102 = $36 & $38;
-      if (!($or$cond102)) {
-       $$4 = 0;
-       break L1;
-      }
-      $39 = (($35) + ($31))|0;
-      $40 = (($0) + ($39)|0);
-      $41 = HEAP8[$40>>0]|0;
-      $42 = ($41<<24>>24)==(0);
-      if (!($42)) {
-       $$4 = 0;
-       break L1;
-      }
-      $43 = (($0) + ($35)|0);
-      $44 = (_strcmp($2,$43)|0);
-      $45 = ($44|0)==(0);
-      if ($45) {
-       break;
-      }
-      $62 = ($$094|0)==(1);
-      $63 = ($44|0)<(0);
-      $64 = (($$094) - ($25))|0;
-      $$195 = $63 ? $25 : $64;
-      $$191 = $63 ? $$090 : $26;
-      if ($62) {
-       $$4 = 0;
-       break L1;
-      } else {
-       $$090 = $$191;$$094 = $$195;
-      }
-     }
-     $46 = (($27) + ($24))|0;
-     $47 = (($0) + ($46<<2)|0);
-     $48 = HEAP32[$47>>2]|0;
-     $49 = (_swapc($48,$4)|0);
-     $50 = (($46) + 1)|0;
-     $51 = (($0) + ($50<<2)|0);
-     $52 = HEAP32[$51>>2]|0;
-     $53 = (_swapc($52,$4)|0);
-     $54 = ($53>>>0)<($1>>>0);
-     $55 = (($1) - ($53))|0;
-     $56 = ($49>>>0)<($55>>>0);
-     $or$cond104 = $54 & $56;
-     if ($or$cond104) {
-      $57 = (($0) + ($53)|0);
-      $58 = (($53) + ($49))|0;
-      $59 = (($0) + ($58)|0);
-      $60 = HEAP8[$59>>0]|0;
-      $61 = ($60<<24>>24)==(0);
-      $$ = $61 ? $57 : 0;
-      $$4 = $$;
-     } else {
-      $$4 = 0;
-     }
-    } else {
-     $$4 = 0;
-    }
-   } else {
-    $$4 = 0;
-   }
-  } else {
-   $$4 = 0;
-  }
- } while(0);
- return ($$4|0);
-}
-function _swapc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = ($1|0)==(0);
- $3 = (_llvm_bswap_i32(($0|0))|0);
- $$ = $2 ? $0 : $3;
- return ($$|0);
-}
-function ___fwritex($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$038 = 0, $$042 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $$pre = 0, $$pre47 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0;
- var $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- $3 = ((($2)) + 16|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ($4|0)==(0|0);
- if ($5) {
-  $7 = (___towrite($2)|0);
-  $8 = ($7|0)==(0);
-  if ($8) {
-   $$pre = HEAP32[$3>>2]|0;
-   $12 = $$pre;
-   label = 5;
-  } else {
-   $$1 = 0;
-  }
- } else {
-  $6 = $4;
-  $12 = $6;
-  label = 5;
- }
- L5: do {
-  if ((label|0) == 5) {
-   $9 = ((($2)) + 20|0);
-   $10 = HEAP32[$9>>2]|0;
-   $11 = (($12) - ($10))|0;
-   $13 = ($11>>>0)<($1>>>0);
-   $14 = $10;
-   if ($13) {
-    $15 = ((($2)) + 36|0);
-    $16 = HEAP32[$15>>2]|0;
-    $17 = (FUNCTION_TABLE_iiii[$16 & 511]($2,$0,$1)|0);
-    $$1 = $17;
-    break;
-   }
-   $18 = ((($2)) + 75|0);
-   $19 = HEAP8[$18>>0]|0;
-   $20 = ($19<<24>>24)>(-1);
-   L10: do {
-    if ($20) {
-     $$038 = $1;
-     while(1) {
-      $21 = ($$038|0)==(0);
-      if ($21) {
-       $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14;
-       break L10;
-      }
-      $22 = (($$038) + -1)|0;
-      $23 = (($0) + ($22)|0);
-      $24 = HEAP8[$23>>0]|0;
-      $25 = ($24<<24>>24)==(10);
-      if ($25) {
-       break;
-      } else {
-       $$038 = $22;
-      }
-     }
-     $26 = ((($2)) + 36|0);
-     $27 = HEAP32[$26>>2]|0;
-     $28 = (FUNCTION_TABLE_iiii[$27 & 511]($2,$0,$$038)|0);
-     $29 = ($28>>>0)<($$038>>>0);
-     if ($29) {
-      $$1 = $28;
-      break L5;
-     }
-     $30 = (($0) + ($$038)|0);
-     $$042 = (($1) - ($$038))|0;
-     $$pre47 = HEAP32[$9>>2]|0;
-     $$139 = $$038;$$141 = $30;$$143 = $$042;$31 = $$pre47;
-    } else {
-     $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14;
-    }
-   } while(0);
-   _memcpy(($31|0),($$141|0),($$143|0))|0;
-   $32 = HEAP32[$9>>2]|0;
-   $33 = (($32) + ($$143)|0);
-   HEAP32[$9>>2] = $33;
-   $34 = (($$139) + ($$143))|0;
-   $$1 = $34;
-  }
- } while(0);
- return ($$1|0);
-}
-function ___towrite($0) {
- $0 = $0|0;
- var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ((($0)) + 74|0);
- $2 = HEAP8[$1>>0]|0;
- $3 = $2 << 24 >> 24;
- $4 = (($3) + 255)|0;
- $5 = $4 | $3;
- $6 = $5&255;
- HEAP8[$1>>0] = $6;
- $7 = HEAP32[$0>>2]|0;
- $8 = $7 & 8;
- $9 = ($8|0)==(0);
- if ($9) {
-  $11 = ((($0)) + 8|0);
-  HEAP32[$11>>2] = 0;
-  $12 = ((($0)) + 4|0);
-  HEAP32[$12>>2] = 0;
-  $13 = ((($0)) + 44|0);
-  $14 = HEAP32[$13>>2]|0;
-  $15 = ((($0)) + 28|0);
-  HEAP32[$15>>2] = $14;
-  $16 = ((($0)) + 20|0);
-  HEAP32[$16>>2] = $14;
-  $17 = ((($0)) + 48|0);
-  $18 = HEAP32[$17>>2]|0;
-  $19 = (($14) + ($18)|0);
-  $20 = ((($0)) + 16|0);
-  HEAP32[$20>>2] = $19;
-  $$0 = 0;
- } else {
-  $10 = $7 | 32;
-  HEAP32[$0>>2] = $10;
-  $$0 = -1;
- }
- return ($$0|0);
-}
-function _sn_write($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$ = 0, $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = ((($0)) + 16|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ((($0)) + 20|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = $6;
- $8 = (($4) - ($7))|0;
- $9 = ($8>>>0)>($2>>>0);
- $$ = $9 ? $2 : $8;
- _memcpy(($6|0),($1|0),($$|0))|0;
- $10 = HEAP32[$5>>2]|0;
- $11 = (($10) + ($$)|0);
- HEAP32[$5>>2] = $11;
- return ($2|0);
-}
-function _isalnum($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $isdigit = 0, $isdigittmp = 0, $not$ = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = (_isalpha($0)|0);
- $isdigittmp = (($0) + -48)|0;
- $isdigit = ($isdigittmp>>>0)<(10);
- $not$ = ($1|0)!=(0);
- $2 = $isdigit | $not$;
- $3 = $2&1;
- return ($3|0);
-}
-function _isalpha($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = $0 | 32;
- $2 = (($1) + -97)|0;
- $3 = ($2>>>0)<(26);
- $4 = $3&1;
- return ($4|0);
-}
-function _isdigit($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = (($0) + -48)|0;
- $2 = ($1>>>0)<(10);
- $3 = $2&1;
- return ($3|0);
-}
-function ___floatscan($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$0 = 0, $$0105$ph = 0, $$0106$ph = 0, $$0107$lcssa = 0, $$0107127 = 0, $$0113 = 0, $$0114 = 0.0, $$1$lcssa = 0, $$1108 = 0, $$1128 = 0, $$2 = 0, $$2109125 = 0, $$3110 = 0, $$3126 = 0, $$4 = 0, $$4111 = 0, $$5 = 0, $$6 = 0, $$in = 0, $$old8 = 0;
- var $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0;
- var $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0.0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0.0, $14 = 0, $15 = 0;
- var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0;
- var $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0;
- var $53 = 0.0, $54 = 0.0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0;
- var $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0;
- var $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond5 = 0, $or$cond7 = 0, $or$cond9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- switch ($1|0) {
- case 0:  {
-  $$0105$ph = -149;$$0106$ph = 24;
-  label = 4;
-  break;
- }
- case 1:  {
-  $$0105$ph = -1074;$$0106$ph = 53;
-  label = 4;
-  break;
- }
- case 2:  {
-  $$0105$ph = -1074;$$0106$ph = 53;
-  label = 4;
-  break;
- }
- default: {
-  $$0114 = 0.0;
- }
- }
- L4: do {
-  if ((label|0) == 4) {
-   $3 = ((($0)) + 4|0);
-   $4 = ((($0)) + 100|0);
-   while(1) {
-    $5 = HEAP32[$3>>2]|0;
-    $6 = HEAP32[$4>>2]|0;
-    $7 = ($5>>>0)<($6>>>0);
-    if ($7) {
-     $8 = ((($5)) + 1|0);
-     HEAP32[$3>>2] = $8;
-     $9 = HEAP8[$5>>0]|0;
-     $10 = $9&255;
-     $12 = $10;
-    } else {
-     $11 = (___shgetc($0)|0);
-     $12 = $11;
-    }
-    $13 = (_isspace($12)|0);
-    $14 = ($13|0)==(0);
-    if ($14) {
-     break;
-    }
-   }
-   L13: do {
-    switch ($12|0) {
-    case 43: case 45:  {
-     $15 = ($12|0)==(45);
-     $16 = $15&1;
-     $17 = $16 << 1;
-     $18 = (1 - ($17))|0;
-     $19 = HEAP32[$3>>2]|0;
-     $20 = HEAP32[$4>>2]|0;
-     $21 = ($19>>>0)<($20>>>0);
-     if ($21) {
-      $22 = ((($19)) + 1|0);
-      HEAP32[$3>>2] = $22;
-      $23 = HEAP8[$19>>0]|0;
-      $24 = $23&255;
-      $$0 = $24;$$0113 = $18;
-      break L13;
-     } else {
-      $25 = (___shgetc($0)|0);
-      $$0 = $25;$$0113 = $18;
-      break L13;
-     }
-     break;
-    }
-    default: {
-     $$0 = $12;$$0113 = 1;
-    }
-    }
-   } while(0);
-   $$0107127 = 0;$$1128 = $$0;
-   while(1) {
-    $26 = $$1128 | 32;
-    $27 = (72677 + ($$0107127)|0);
-    $28 = HEAP8[$27>>0]|0;
-    $29 = $28 << 24 >> 24;
-    $30 = ($26|0)==($29|0);
-    if (!($30)) {
-     $$0107$lcssa = $$0107127;$$1$lcssa = $$1128;
-     break;
-    }
-    $31 = ($$0107127>>>0)<(7);
-    do {
-     if ($31) {
-      $32 = HEAP32[$3>>2]|0;
-      $33 = HEAP32[$4>>2]|0;
-      $34 = ($32>>>0)<($33>>>0);
-      if ($34) {
-       $35 = ((($32)) + 1|0);
-       HEAP32[$3>>2] = $35;
-       $36 = HEAP8[$32>>0]|0;
-       $37 = $36&255;
-       $$2 = $37;
-       break;
-      } else {
-       $38 = (___shgetc($0)|0);
-       $$2 = $38;
-       break;
-      }
-     } else {
-      $$2 = $$1128;
-     }
-    } while(0);
-    $39 = (($$0107127) + 1)|0;
-    $40 = ($39>>>0)<(8);
-    if ($40) {
-     $$0107127 = $39;$$1128 = $$2;
-    } else {
-     $$0107$lcssa = $39;$$1$lcssa = $$2;
-     break;
-    }
-   }
-   L29: do {
-    switch ($$0107$lcssa|0) {
-    case 8:  {
-     break;
-    }
-    case 3:  {
-     label = 23;
-     break;
-    }
-    default: {
-     $41 = ($$0107$lcssa>>>0)>(3);
-     $42 = ($2|0)!=(0);
-     $or$cond5 = $42 & $41;
-     if ($or$cond5) {
-      $43 = ($$0107$lcssa|0)==(8);
-      if ($43) {
-       break L29;
-      } else {
-       label = 23;
-       break L29;
-      }
-     }
-     $56 = ($$0107$lcssa|0)==(0);
-     L34: do {
-      if ($56) {
-       $$2109125 = 0;$$3126 = $$1$lcssa;
-       while(1) {
-        $57 = $$3126 | 32;
-        $58 = (72686 + ($$2109125)|0);
-        $59 = HEAP8[$58>>0]|0;
-        $60 = $59 << 24 >> 24;
-        $61 = ($57|0)==($60|0);
-        if (!($61)) {
-         $$3110 = $$2109125;$$5 = $$3126;
-         break L34;
-        }
-        $62 = ($$2109125>>>0)<(2);
-        do {
-         if ($62) {
-          $63 = HEAP32[$3>>2]|0;
-          $64 = HEAP32[$4>>2]|0;
-          $65 = ($63>>>0)<($64>>>0);
-          if ($65) {
-           $66 = ((($63)) + 1|0);
-           HEAP32[$3>>2] = $66;
-           $67 = HEAP8[$63>>0]|0;
-           $68 = $67&255;
-           $$4 = $68;
-           break;
-          } else {
-           $69 = (___shgetc($0)|0);
-           $$4 = $69;
-           break;
-          }
-         } else {
-          $$4 = $$3126;
-         }
-        } while(0);
-        $70 = (($$2109125) + 1)|0;
-        $71 = ($70>>>0)<(3);
-        if ($71) {
-         $$2109125 = $70;$$3126 = $$4;
-        } else {
-         $$3110 = $70;$$5 = $$4;
-         break;
-        }
-       }
-      } else {
-       $$3110 = $$0107$lcssa;$$5 = $$1$lcssa;
-      }
-     } while(0);
-     switch ($$3110|0) {
-     case 3:  {
-      $72 = HEAP32[$3>>2]|0;
-      $73 = HEAP32[$4>>2]|0;
-      $74 = ($72>>>0)<($73>>>0);
-      if ($74) {
-       $75 = ((($72)) + 1|0);
-       HEAP32[$3>>2] = $75;
-       $76 = HEAP8[$72>>0]|0;
-       $77 = $76&255;
-       $80 = $77;
-      } else {
-       $78 = (___shgetc($0)|0);
-       $80 = $78;
-      }
-      $79 = ($80|0)==(40);
-      if ($79) {
-       $$4111 = 1;
-      } else {
-       $81 = HEAP32[$4>>2]|0;
-       $82 = ($81|0)==(0|0);
-       if ($82) {
-        $$0114 = nan;
-        break L4;
-       }
-       $83 = HEAP32[$3>>2]|0;
-       $84 = ((($83)) + -1|0);
-       HEAP32[$3>>2] = $84;
-       $$0114 = nan;
-       break L4;
-      }
-      while(1) {
-       $85 = HEAP32[$3>>2]|0;
-       $86 = HEAP32[$4>>2]|0;
-       $87 = ($85>>>0)<($86>>>0);
-       if ($87) {
-        $88 = ((($85)) + 1|0);
-        HEAP32[$3>>2] = $88;
-        $89 = HEAP8[$85>>0]|0;
-        $90 = $89&255;
-        $93 = $90;
-       } else {
-        $91 = (___shgetc($0)|0);
-        $93 = $91;
-       }
-       $92 = (($93) + -48)|0;
-       $94 = ($92>>>0)<(10);
-       $95 = (($93) + -65)|0;
-       $96 = ($95>>>0)<(26);
-       $or$cond = $94 | $96;
-       if (!($or$cond)) {
-        $97 = (($93) + -97)|0;
-        $98 = ($97>>>0)<(26);
-        $99 = ($93|0)==(95);
-        $or$cond7 = $99 | $98;
-        if (!($or$cond7)) {
-         break;
-        }
-       }
-       $111 = (($$4111) + 1)|0;
-       $$4111 = $111;
-      }
-      $100 = ($93|0)==(41);
-      if ($100) {
-       $$0114 = nan;
-       break L4;
-      }
-      $101 = HEAP32[$4>>2]|0;
-      $102 = ($101|0)==(0|0);
-      if (!($102)) {
-       $103 = HEAP32[$3>>2]|0;
-       $104 = ((($103)) + -1|0);
-       HEAP32[$3>>2] = $104;
-      }
-      if (!($42)) {
-       $106 = (___errno_location()|0);
-       HEAP32[$106>>2] = 22;
-       ___shlim($0,0);
-       $$0114 = 0.0;
-       break L4;
-      }
-      $105 = ($$4111|0)==(0);
-      if ($105) {
-       $$0114 = nan;
-       break L4;
-      } else {
-       $$in = $$4111;
-      }
-      while(1) {
-       $107 = (($$in) + -1)|0;
-       if (!($102)) {
-        $108 = HEAP32[$3>>2]|0;
-        $109 = ((($108)) + -1|0);
-        HEAP32[$3>>2] = $109;
-       }
-       $110 = ($107|0)==(0);
-       if ($110) {
-        $$0114 = nan;
-        break L4;
-       } else {
-        $$in = $107;
-       }
-      }
-      break;
-     }
-     case 0:  {
-      $117 = ($$5|0)==(48);
-      if ($117) {
-       $118 = HEAP32[$3>>2]|0;
-       $119 = HEAP32[$4>>2]|0;
-       $120 = ($118>>>0)<($119>>>0);
-       if ($120) {
-        $121 = ((($118)) + 1|0);
-        HEAP32[$3>>2] = $121;
-        $122 = HEAP8[$118>>0]|0;
-        $123 = $122&255;
-        $126 = $123;
-       } else {
-        $124 = (___shgetc($0)|0);
-        $126 = $124;
-       }
-       $125 = $126 | 32;
-       $127 = ($125|0)==(120);
-       if ($127) {
-        $128 = (+_hexfloat($0,$$0106$ph,$$0105$ph,$$0113,$2));
-        $$0114 = $128;
-        break L4;
-       }
-       $129 = HEAP32[$4>>2]|0;
-       $130 = ($129|0)==(0|0);
-       if ($130) {
-        $$6 = 48;
-       } else {
-        $131 = HEAP32[$3>>2]|0;
-        $132 = ((($131)) + -1|0);
-        HEAP32[$3>>2] = $132;
-        $$6 = 48;
-       }
-      } else {
-       $$6 = $$5;
-      }
-      $133 = (+_decfloat($0,$$6,$$0106$ph,$$0105$ph,$$0113,$2));
-      $$0114 = $133;
-      break L4;
-      break;
-     }
-     default: {
-      $112 = HEAP32[$4>>2]|0;
-      $113 = ($112|0)==(0|0);
-      if (!($113)) {
-       $114 = HEAP32[$3>>2]|0;
-       $115 = ((($114)) + -1|0);
-       HEAP32[$3>>2] = $115;
-      }
-      $116 = (___errno_location()|0);
-      HEAP32[$116>>2] = 22;
-      ___shlim($0,0);
-      $$0114 = 0.0;
-      break L4;
-     }
-     }
-    }
-    }
-   } while(0);
-   if ((label|0) == 23) {
-    $44 = HEAP32[$4>>2]|0;
-    $45 = ($44|0)==(0|0);
-    if (!($45)) {
-     $46 = HEAP32[$3>>2]|0;
-     $47 = ((($46)) + -1|0);
-     HEAP32[$3>>2] = $47;
-    }
-    $48 = ($2|0)!=(0);
-    $49 = ($$0107$lcssa>>>0)>(3);
-    $or$cond9 = $48 & $49;
-    if ($or$cond9) {
-     $$1108 = $$0107$lcssa;
-     while(1) {
-      if (!($45)) {
-       $50 = HEAP32[$3>>2]|0;
-       $51 = ((($50)) + -1|0);
-       HEAP32[$3>>2] = $51;
-      }
-      $52 = (($$1108) + -1)|0;
-      $$old8 = ($52>>>0)>(3);
-      if ($$old8) {
-       $$1108 = $52;
-      } else {
-       break;
-      }
-     }
-    }
-   }
-   $53 = (+($$0113|0));
-   $54 = $53 * inf;
-   $55 = $54;
-   $$0114 = $55;
-  }
- } while(0);
- return (+$$0114);
-}
-function _hexfloat($0,$1,$2,$3,$4) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- var $$0 = 0, $$0133 = 0, $$0142 = 0, $$0146 = 0, $$0148 = 0, $$0148$ = 0, $$0151 = 0.0, $$0152 = 0.0, $$0155 = 0.0, $$0155$ = 0.0, $$0159 = 0, $$0165 = 0.0, $$0166 = 0, $$0166169 = 0, $$0166170 = 0, $$1$ph = 0, $$1147 = 0, $$1149 = 0, $$1153 = 0.0, $$1156 = 0.0;
- var $$1160 = 0, $$2 = 0, $$2$lcssa = 0, $$2144 = 0, $$2150 = 0, $$2154 = 0.0, $$2157 = 0.0, $$2161 = 0, $$3145 = 0, $$3158$lcssa = 0.0, $$3158179 = 0.0, $$3162$lcssa = 0, $$3162183 = 0, $$4 = 0.0, $$4163$lcssa = 0, $$4163178 = 0, $$5 = 0.0, $$5164 = 0, $$6 = 0, $$pn = 0.0;
- var $$pre = 0.0, $$pre$phiZ2D = 0.0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
- var $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0;
- var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0.0, $143 = 0.0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
- var $152 = 0, $153 = 0.0, $154 = 0.0, $155 = 0.0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0.0, $167 = 0.0, $168 = 0.0, $169 = 0, $17 = 0;
- var $170 = 0, $171 = 0.0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
- var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0.0, $197 = 0, $198 = 0.0, $199 = 0.0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0.0, $206 = 0.0;
- var $207 = 0.0, $208 = 0.0, $209 = 0.0, $21 = 0, $210 = 0.0, $211 = 0, $212 = 0, $213 = 0.0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0;
- var $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0;
- var $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0.0, $67 = 0.0;
- var $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 0, $72 = 0.0, $73 = 0.0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0;
- var $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0.0, $96 = 0.0, $97 = 0, $98 = 0, $99 = 0, $not$ = 0, $or$cond = 0, $or$cond168 = 0, $or$cond206 = 0, $or$cond4 = 0;
- var $or$cond6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $5 = ((($0)) + 4|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = ((($0)) + 100|0);
- $8 = HEAP32[$7>>2]|0;
- $9 = ($6>>>0)<($8>>>0);
- if ($9) {
-  $10 = ((($6)) + 1|0);
-  HEAP32[$5>>2] = $10;
-  $11 = HEAP8[$6>>0]|0;
-  $12 = $11&255;
-  $$0 = $12;$$0142 = 0;
- } else {
-  $13 = (___shgetc($0)|0);
-  $$0 = $13;$$0142 = 0;
- }
- L4: while(1) {
-  switch ($$0|0) {
-  case 46:  {
-   label = 8;
-   break L4;
-   break;
-  }
-  case 48:  {
-   break;
-  }
-  default: {
-   $$0146 = 0;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$0;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0;
-   break L4;
-  }
-  }
-  $14 = HEAP32[$5>>2]|0;
-  $15 = HEAP32[$7>>2]|0;
-  $16 = ($14>>>0)<($15>>>0);
-  if ($16) {
-   $17 = ((($14)) + 1|0);
-   HEAP32[$5>>2] = $17;
-   $18 = HEAP8[$14>>0]|0;
-   $19 = $18&255;
-   $$0 = $19;$$0142 = 1;
-   continue;
-  } else {
-   $20 = (___shgetc($0)|0);
-   $$0 = $20;$$0142 = 1;
-   continue;
-  }
- }
- if ((label|0) == 8) {
-  $21 = HEAP32[$5>>2]|0;
-  $22 = HEAP32[$7>>2]|0;
-  $23 = ($21>>>0)<($22>>>0);
-  if ($23) {
-   $24 = ((($21)) + 1|0);
-   HEAP32[$5>>2] = $24;
-   $25 = HEAP8[$21>>0]|0;
-   $26 = $25&255;
-   $$1$ph = $26;
-  } else {
-   $27 = (___shgetc($0)|0);
-   $$1$ph = $27;
-  }
-  $28 = ($$1$ph|0)==(48);
-  if ($28) {
-   $36 = 0;$37 = 0;
-   while(1) {
-    $29 = HEAP32[$5>>2]|0;
-    $30 = HEAP32[$7>>2]|0;
-    $31 = ($29>>>0)<($30>>>0);
-    if ($31) {
-     $32 = ((($29)) + 1|0);
-     HEAP32[$5>>2] = $32;
-     $33 = HEAP8[$29>>0]|0;
-     $34 = $33&255;
-     $41 = $34;
-    } else {
-     $35 = (___shgetc($0)|0);
-     $41 = $35;
-    }
-    $38 = (_i64Add(($36|0),($37|0),-1,-1)|0);
-    $39 = tempRet0;
-    $40 = ($41|0)==(48);
-    if ($40) {
-     $36 = $38;$37 = $39;
-    } else {
-     $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $41;$$2144 = 1;$101 = $39;$53 = 0;$55 = 0;$99 = $38;
-     break;
-    }
-   }
-  } else {
-   $$0146 = 1;$$0148 = 0;$$0152 = 1.0;$$0155 = 0.0;$$0159 = 0;$$2 = $$1$ph;$$2144 = $$0142;$101 = 0;$53 = 0;$55 = 0;$99 = 0;
-  }
- }
- while(1) {
-  $42 = (($$2) + -48)|0;
-  $43 = ($42>>>0)<(10);
-  $44 = ($$2|0)==(46);
-  if (!($43)) {
-   $45 = $$2 | 32;
-   $46 = (($45) + -97)|0;
-   $47 = ($46>>>0)<(6);
-   $or$cond6 = $44 | $47;
-   if (!($or$cond6)) {
-    $$2$lcssa = $$2;
-    break;
-   }
-  }
-  if ($44) {
-   $48 = ($$0146|0)==(0);
-   if ($48) {
-    $$1147 = 1;$$2150 = $$0148;$$2154 = $$0152;$$2157 = $$0155;$$2161 = $$0159;$$3145 = $$2144;$214 = $55;$215 = $53;$216 = $55;$217 = $53;
-   } else {
-    $$2$lcssa = 46;
-    break;
-   }
-  } else {
-   $49 = ($$2|0)>(57);
-   $50 = $$2 | 32;
-   $51 = (($50) + -87)|0;
-   $$0133 = $49 ? $51 : $42;
-   $52 = ($53|0)<(0);
-   $54 = ($55>>>0)<(8);
-   $56 = ($53|0)==(0);
-   $57 = $56 & $54;
-   $58 = $52 | $57;
-   do {
-    if ($58) {
-     $59 = $$0159 << 4;
-     $60 = (($$0133) + ($59))|0;
-     $$1149 = $$0148;$$1153 = $$0152;$$1156 = $$0155;$$1160 = $60;
-    } else {
-     $61 = ($53|0)<(0);
-     $62 = ($55>>>0)<(14);
-     $63 = ($53|0)==(0);
-     $64 = $63 & $62;
-     $65 = $61 | $64;
-     if ($65) {
-      $66 = (+($$0133|0));
-      $67 = $$0152 * 0.0625;
-      $68 = $67 * $66;
-      $69 = $$0155 + $68;
-      $$1149 = $$0148;$$1153 = $67;$$1156 = $69;$$1160 = $$0159;
-      break;
-     } else {
-      $70 = ($$0133|0)==(0);
-      $71 = ($$0148|0)!=(0);
-      $or$cond = $71 | $70;
-      $72 = $$0152 * 0.5;
-      $73 = $$0155 + $72;
-      $$0155$ = $or$cond ? $$0155 : $73;
-      $$0148$ = $or$cond ? $$0148 : 1;
-      $$1149 = $$0148$;$$1153 = $$0152;$$1156 = $$0155$;$$1160 = $$0159;
-      break;
-     }
-    }
-   } while(0);
-   $74 = (_i64Add(($55|0),($53|0),1,0)|0);
-   $75 = tempRet0;
-   $$1147 = $$0146;$$2150 = $$1149;$$2154 = $$1153;$$2157 = $$1156;$$2161 = $$1160;$$3145 = 1;$214 = $99;$215 = $101;$216 = $74;$217 = $75;
-  }
-  $76 = HEAP32[$5>>2]|0;
-  $77 = HEAP32[$7>>2]|0;
-  $78 = ($76>>>0)<($77>>>0);
-  if ($78) {
-   $79 = ((($76)) + 1|0);
-   HEAP32[$5>>2] = $79;
-   $80 = HEAP8[$76>>0]|0;
-   $81 = $80&255;
-   $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $81;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214;
-   continue;
-  } else {
-   $82 = (___shgetc($0)|0);
-   $$0146 = $$1147;$$0148 = $$2150;$$0152 = $$2154;$$0155 = $$2157;$$0159 = $$2161;$$2 = $82;$$2144 = $$3145;$101 = $215;$53 = $217;$55 = $216;$99 = $214;
-   continue;
-  }
- }
- $83 = ($$2144|0)==(0);
- do {
-  if ($83) {
-   $84 = HEAP32[$7>>2]|0;
-   $85 = ($84|0)!=(0|0);
-   if ($85) {
-    $86 = HEAP32[$5>>2]|0;
-    $87 = ((($86)) + -1|0);
-    HEAP32[$5>>2] = $87;
-   }
-   $88 = ($4|0)==(0);
-   if ($88) {
-    ___shlim($0,0);
-   } else {
-    if ($85) {
-     $89 = HEAP32[$5>>2]|0;
-     $90 = ((($89)) + -1|0);
-     HEAP32[$5>>2] = $90;
-    }
-    $91 = ($$0146|0)==(0);
-    $92 = ($84|0)==(0|0);
-    $or$cond206 = $91 | $92;
-    if (!($or$cond206)) {
-     $93 = HEAP32[$5>>2]|0;
-     $94 = ((($93)) + -1|0);
-     HEAP32[$5>>2] = $94;
-    }
-   }
-   $95 = (+($3|0));
-   $96 = $95 * 0.0;
-   $$0165 = $96;
-  } else {
-   $97 = ($$0146|0)==(0);
-   $98 = $97 ? $55 : $99;
-   $100 = $97 ? $53 : $101;
-   $102 = ($53|0)<(0);
-   $103 = ($55>>>0)<(8);
-   $104 = ($53|0)==(0);
-   $105 = $104 & $103;
-   $106 = $102 | $105;
-   if ($106) {
-    $$3162183 = $$0159;$108 = $55;$109 = $53;
-    while(1) {
-     $107 = $$3162183 << 4;
-     $110 = (_i64Add(($108|0),($109|0),1,0)|0);
-     $111 = tempRet0;
-     $112 = ($111|0)<(0);
-     $113 = ($110>>>0)<(8);
-     $114 = ($111|0)==(0);
-     $115 = $114 & $113;
-     $116 = $112 | $115;
-     if ($116) {
-      $$3162183 = $107;$108 = $110;$109 = $111;
-     } else {
-      $$3162$lcssa = $107;
-      break;
-     }
-    }
-   } else {
-    $$3162$lcssa = $$0159;
-   }
-   $117 = $$2$lcssa | 32;
-   $118 = ($117|0)==(112);
-   if ($118) {
-    $119 = (_scanexp($0,$4)|0);
-    $120 = tempRet0;
-    $121 = ($119|0)==(0);
-    $122 = ($120|0)==(-2147483648);
-    $123 = $121 & $122;
-    if ($123) {
-     $124 = ($4|0)==(0);
-     if ($124) {
-      ___shlim($0,0);
-      $$0165 = 0.0;
-      break;
-     }
-     $125 = HEAP32[$7>>2]|0;
-     $126 = ($125|0)==(0|0);
-     if ($126) {
-      $137 = 0;$138 = 0;
-     } else {
-      $127 = HEAP32[$5>>2]|0;
-      $128 = ((($127)) + -1|0);
-      HEAP32[$5>>2] = $128;
-      $137 = 0;$138 = 0;
-     }
-    } else {
-     $137 = $119;$138 = $120;
-    }
-   } else {
-    $129 = HEAP32[$7>>2]|0;
-    $130 = ($129|0)==(0|0);
-    if ($130) {
-     $137 = 0;$138 = 0;
-    } else {
-     $131 = HEAP32[$5>>2]|0;
-     $132 = ((($131)) + -1|0);
-     HEAP32[$5>>2] = $132;
-     $137 = 0;$138 = 0;
-    }
-   }
-   $133 = (_bitshift64Shl(($98|0),($100|0),2)|0);
-   $134 = tempRet0;
-   $135 = (_i64Add(($133|0),($134|0),-32,-1)|0);
-   $136 = tempRet0;
-   $139 = (_i64Add(($135|0),($136|0),($137|0),($138|0))|0);
-   $140 = tempRet0;
-   $141 = ($$3162$lcssa|0)==(0);
-   if ($141) {
-    $142 = (+($3|0));
-    $143 = $142 * 0.0;
-    $$0165 = $143;
-    break;
-   }
-   $144 = (0 - ($2))|0;
-   $145 = ($144|0)<(0);
-   $146 = $145 << 31 >> 31;
-   $147 = ($140|0)>($146|0);
-   $148 = ($139>>>0)>($144>>>0);
-   $149 = ($140|0)==($146|0);
-   $150 = $149 & $148;
-   $151 = $147 | $150;
-   if ($151) {
-    $152 = (___errno_location()|0);
-    HEAP32[$152>>2] = 34;
-    $153 = (+($3|0));
-    $154 = $153 * 1.7976931348623157E+308;
-    $155 = $154 * 1.7976931348623157E+308;
-    $$0165 = $155;
-    break;
-   }
-   $156 = (($2) + -106)|0;
-   $157 = ($156|0)<(0);
-   $158 = $157 << 31 >> 31;
-   $159 = ($140|0)<($158|0);
-   $160 = ($139>>>0)<($156>>>0);
-   $161 = ($140|0)==($158|0);
-   $162 = $161 & $160;
-   $163 = $159 | $162;
-   if ($163) {
-    $165 = (___errno_location()|0);
-    HEAP32[$165>>2] = 34;
-    $166 = (+($3|0));
-    $167 = $166 * 2.2250738585072014E-308;
-    $168 = $167 * 2.2250738585072014E-308;
-    $$0165 = $168;
-    break;
-   }
-   $164 = ($$3162$lcssa|0)>(-1);
-   if ($164) {
-    $$3158179 = $$0155;$$4163178 = $$3162$lcssa;$173 = $139;$174 = $140;
-    while(1) {
-     $169 = !($$3158179 >= 0.5);
-     $170 = $$4163178 << 1;
-     $171 = $$3158179 + -1.0;
-     $not$ = $169 ^ 1;
-     $172 = $not$&1;
-     $$5164 = $170 | $172;
-     $$pn = $169 ? $$3158179 : $171;
-     $$4 = $$3158179 + $$pn;
-     $175 = (_i64Add(($173|0),($174|0),-1,-1)|0);
-     $176 = tempRet0;
-     $177 = ($$5164|0)>(-1);
-     if ($177) {
-      $$3158179 = $$4;$$4163178 = $$5164;$173 = $175;$174 = $176;
-     } else {
-      $$3158$lcssa = $$4;$$4163$lcssa = $$5164;$184 = $175;$185 = $176;
-      break;
-     }
-    }
-   } else {
-    $$3158$lcssa = $$0155;$$4163$lcssa = $$3162$lcssa;$184 = $139;$185 = $140;
-   }
-   $178 = ($1|0)<(0);
-   $179 = $178 << 31 >> 31;
-   $180 = ($2|0)<(0);
-   $181 = $180 << 31 >> 31;
-   $182 = (_i64Subtract(32,0,($2|0),($181|0))|0);
-   $183 = tempRet0;
-   $186 = (_i64Add(($182|0),($183|0),($184|0),($185|0))|0);
-   $187 = tempRet0;
-   $188 = ($179|0)>($187|0);
-   $189 = ($1>>>0)>($186>>>0);
-   $190 = ($179|0)==($187|0);
-   $191 = $190 & $189;
-   $192 = $188 | $191;
-   if ($192) {
-    $193 = ($186|0)>(0);
-    if ($193) {
-     $$0166 = $186;
-     label = 59;
-    } else {
-     $$0166170 = 0;$197 = 84;
-     label = 61;
-    }
-   } else {
-    $$0166 = $1;
-    label = 59;
-   }
-   if ((label|0) == 59) {
-    $194 = ($$0166|0)<(53);
-    $195 = (84 - ($$0166))|0;
-    if ($194) {
-     $$0166170 = $$0166;$197 = $195;
-     label = 61;
-    } else {
-     $$pre = (+($3|0));
-     $$0151 = 0.0;$$0166169 = $$0166;$$pre$phiZ2D = $$pre;
-    }
-   }
-   if ((label|0) == 61) {
-    $196 = (+($3|0));
-    $198 = (+_scalbn(1.0,$197));
-    $199 = (+_copysignl($198,$196));
-    $$0151 = $199;$$0166169 = $$0166170;$$pre$phiZ2D = $196;
-   }
-   $200 = ($$0166169|0)<(32);
-   $201 = $$3158$lcssa != 0.0;
-   $or$cond4 = $201 & $200;
-   $202 = $$4163$lcssa & 1;
-   $203 = ($202|0)==(0);
-   $or$cond168 = $203 & $or$cond4;
-   $204 = $or$cond168&1;
-   $$6 = (($204) + ($$4163$lcssa))|0;
-   $$5 = $or$cond168 ? 0.0 : $$3158$lcssa;
-   $205 = (+($$6>>>0));
-   $206 = $$pre$phiZ2D * $205;
-   $207 = $$0151 + $206;
-   $208 = $$pre$phiZ2D * $$5;
-   $209 = $208 + $207;
-   $210 = $209 - $$0151;
-   $211 = $210 != 0.0;
-   if (!($211)) {
-    $212 = (___errno_location()|0);
-    HEAP32[$212>>2] = 34;
-   }
-   $213 = (+_scalbnl($210,$184));
-   $$0165 = $213;
-  }
- } while(0);
- return (+$$0165);
-}
-function _decfloat($0,$1,$2,$3,$4,$5) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- $4 = $4|0;
- $5 = $5|0;
- var $$ = 0, $$$0345 = 0, $$$0350 = 0, $$$0385 = 0, $$$0401 = 0, $$$5355 = 0, $$$5390 = 0, $$0329 = 0, $$0332490 = 0, $$0333 = 0, $$0334 = 0, $$0336486 = 0, $$0340496 = 0, $$0341$lcssa = 0, $$0341463 = 0, $$0341464 = 0, $$0341465 = 0, $$0341513 = 0, $$0345$lcssa = 0, $$0345467 = 0;
- var $$0345468 = 0, $$0345469 = 0, $$0345512 = 0, $$0350$lcssa554 = 0, $$0350494 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0365484 = 0.0, $$0372 = 0, $$0380 = 0, $$0380$ph = 0, $$0385$lcssa553 = 0, $$0385493 = 0, $$0393 = 0, $$0396 = 0, $$0401$lcssa = 0, $$0401473 = 0, $$0401474 = 0, $$0401475 = 0, $$0401509 = 0;
- var $$1 = 0.0, $$10 = 0, $$1330$be = 0, $$1330$ph = 0, $$1335 = 0, $$1337 = 0, $$1362 = 0.0, $$1366 = 0.0, $$1373 = 0, $$1373$ph448 = 0, $$1381 = 0, $$1381$ph = 0, $$1381$ph558 = 0, $$1394$lcssa = 0, $$1394511 = 0, $$2 = 0, $$2343 = 0, $$2347 = 0, $$2352$ph449 = 0, $$2367 = 0.0;
- var $$2371$v = 0, $$2374 = 0, $$2387$ph447 = 0, $$2395 = 0, $$2398 = 0, $$2403 = 0, $$3$be = 0, $$3$lcssa = 0, $$3344503 = 0, $$3348 = 0, $$3364 = 0.0, $$3368 = 0.0, $$3375 = 0, $$3383 = 0, $$3399$lcssa = 0, $$3399510 = 0, $$3514 = 0, $$413 = 0, $$425 = 0, $$4349495 = 0;
- var $$4354 = 0, $$4354$ph = 0, $$4354$ph559 = 0, $$4376 = 0, $$4384 = 0, $$4389$ph = 0, $$4389$ph445 = 0, $$4400 = 0, $$4485 = 0, $$5 = 0, $$5$in = 0, $$5355488 = 0, $$5390487 = 0, $$6378$ph = 0, $$6489 = 0, $$9483 = 0, $$neg442 = 0, $$neg443 = 0, $$pre = 0, $$promoted = 0;
- var $$sink = 0, $$sink421$off0 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0.0, $103 = 0.0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0;
- var $116 = 0, $117 = 0, $118 = 0, $119 = 0.0, $12 = 0, $120 = 0.0, $121 = 0.0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0;
- var $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0;
- var $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0.0, $159 = 0.0, $16 = 0, $160 = 0.0, $161 = 0, $162 = 0.0, $163 = 0.0, $164 = 0.0, $165 = 0, $166 = 0, $167 = 0, $168 = 0.0, $169 = 0.0, $17 = 0;
- var $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0.0, $177 = 0.0, $178 = 0.0, $179 = 0, $18 = 0, $180 = 0.0, $181 = 0.0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0;
- var $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
- var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
- var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
- var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0;
- var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0;
- var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0;
- var $298 = 0, $299 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0.0, $304 = 0, $305 = 0, $306 = 0.0, $307 = 0.0, $308 = 0, $309 = 0.0, $31 = 0, $310 = 0.0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0;
- var $316 = 0, $317 = 0.0, $318 = 0.0, $319 = 0, $32 = 0, $320 = 0.0, $321 = 0.0, $322 = 0.0, $323 = 0.0, $324 = 0, $325 = 0, $326 = 0, $327 = 0, $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0;
- var $334 = 0.0, $335 = 0.0, $336 = 0, $337 = 0.0, $338 = 0.0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0.0, $343 = 0.0, $344 = 0.0, $345 = 0.0, $346 = 0, $347 = 0, $348 = 0.0, $349 = 0, $35 = 0, $350 = 0.0, $351 = 0.0;
- var $352 = 0.0, $353 = 0, $354 = 0, $355 = 0, $356 = 0.0, $357 = 0, $358 = 0.0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0, $364 = 0, $365 = 0.0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0;
- var $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $39 = 0, $40 = 0, $41 = 0;
- var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0;
- var $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0;
- var $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0;
- var $98 = 0, $99 = 0, $cond = 0, $exitcond = 0, $exitcond551 = 0, $narrow = 0, $not$ = 0, $or$cond = 0, $or$cond11 = 0, $or$cond14 = 0, $or$cond415 = 0, $or$cond417 = 0, $or$cond419 = 0, $or$cond420 = 0, $or$cond422 = 0, $or$cond422$not = 0, $or$cond423 = 0, $or$cond426 = 0, $or$cond5 = 0, $sum = 0;
- var label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 512|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(512|0);
- $6 = sp;
- $sum = (($3) + ($2))|0;
- $7 = (0 - ($sum))|0;
- $8 = ((($0)) + 4|0);
- $9 = ((($0)) + 100|0);
- $$0329 = $1;$$0396 = 0;
- L1: while(1) {
-  switch ($$0329|0) {
-  case 46:  {
-   label = 6;
-   break L1;
-   break;
-  }
-  case 48:  {
-   break;
-  }
-  default: {
-   $$0393 = 0;$$2 = $$0329;$$2398 = $$0396;$366 = 0;$367 = 0;
-   break L1;
-  }
-  }
-  $10 = HEAP32[$8>>2]|0;
-  $11 = HEAP32[$9>>2]|0;
-  $12 = ($10>>>0)<($11>>>0);
-  if ($12) {
-   $13 = ((($10)) + 1|0);
-   HEAP32[$8>>2] = $13;
-   $14 = HEAP8[$10>>0]|0;
-   $15 = $14&255;
-   $$0329 = $15;$$0396 = 1;
-   continue;
-  } else {
-   $16 = (___shgetc($0)|0);
-   $$0329 = $16;$$0396 = 1;
-   continue;
-  }
- }
- if ((label|0) == 6) {
-  $17 = HEAP32[$8>>2]|0;
-  $18 = HEAP32[$9>>2]|0;
-  $19 = ($17>>>0)<($18>>>0);
-  if ($19) {
-   $20 = ((($17)) + 1|0);
-   HEAP32[$8>>2] = $20;
-   $21 = HEAP8[$17>>0]|0;
-   $22 = $21&255;
-   $$1330$ph = $22;
-  } else {
-   $23 = (___shgetc($0)|0);
-   $$1330$ph = $23;
-  }
-  $24 = ($$1330$ph|0)==(48);
-  if ($24) {
-   $25 = 0;$26 = 0;
-   while(1) {
-    $27 = (_i64Add(($25|0),($26|0),-1,-1)|0);
-    $28 = tempRet0;
-    $29 = HEAP32[$8>>2]|0;
-    $30 = HEAP32[$9>>2]|0;
-    $31 = ($29>>>0)<($30>>>0);
-    if ($31) {
-     $32 = ((($29)) + 1|0);
-     HEAP32[$8>>2] = $32;
-     $33 = HEAP8[$29>>0]|0;
-     $34 = $33&255;
-     $$1330$be = $34;
-    } else {
-     $35 = (___shgetc($0)|0);
-     $$1330$be = $35;
-    }
-    $36 = ($$1330$be|0)==(48);
-    if ($36) {
-     $25 = $27;$26 = $28;
-    } else {
-     $$0393 = 1;$$2 = $$1330$be;$$2398 = 1;$366 = $27;$367 = $28;
-     break;
-    }
-   }
-  } else {
-   $$0393 = 1;$$2 = $$1330$ph;$$2398 = $$0396;$366 = 0;$367 = 0;
-  }
- }
- HEAP32[$6>>2] = 0;
- $37 = (($$2) + -48)|0;
- $38 = ($37>>>0)<(10);
- $39 = ($$2|0)==(46);
- $40 = $39 | $38;
- L20: do {
-  if ($40) {
-   $41 = ((($6)) + 496|0);
-   $$0341513 = 0;$$0345512 = 0;$$0401509 = 0;$$1394511 = $$0393;$$3399510 = $$2398;$$3514 = $$2;$368 = $39;$369 = $37;$370 = $366;$371 = $367;$44 = 0;$45 = 0;
-   L22: while(1) {
-    do {
-     if ($368) {
-      $cond = ($$1394511|0)==(0);
-      if ($cond) {
-       $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = 1;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $44;$373 = $45;$374 = $44;$375 = $45;
-      } else {
-       break L22;
-      }
-     } else {
-      $43 = ($$0345512|0)<(125);
-      $46 = (_i64Add(($44|0),($45|0),1,0)|0);
-      $47 = tempRet0;
-      $48 = ($$3514|0)!=(48);
-      if (!($43)) {
-       if (!($48)) {
-        $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47;
-        break;
-       }
-       $57 = HEAP32[$41>>2]|0;
-       $58 = $57 | 1;
-       HEAP32[$41>>2] = $58;
-       $$2343 = $$0341513;$$2347 = $$0345512;$$2395 = $$1394511;$$2403 = $$0401509;$$4400 = $$3399510;$372 = $370;$373 = $371;$374 = $46;$375 = $47;
-       break;
-      }
-      $$$0401 = $48 ? $46 : $$0401509;
-      $49 = ($$0341513|0)==(0);
-      $$pre = (($6) + ($$0345512<<2)|0);
-      if ($49) {
-       $$sink = $369;
-      } else {
-       $50 = HEAP32[$$pre>>2]|0;
-       $51 = ($50*10)|0;
-       $52 = (($$3514) + -48)|0;
-       $53 = (($52) + ($51))|0;
-       $$sink = $53;
-      }
-      HEAP32[$$pre>>2] = $$sink;
-      $54 = (($$0341513) + 1)|0;
-      $55 = ($54|0)==(9);
-      $56 = $55&1;
-      $$$0345 = (($56) + ($$0345512))|0;
-      $$413 = $55 ? 0 : $54;
-      $$2343 = $$413;$$2347 = $$$0345;$$2395 = $$1394511;$$2403 = $$$0401;$$4400 = 1;$372 = $370;$373 = $371;$374 = $46;$375 = $47;
-     }
-    } while(0);
-    $59 = HEAP32[$8>>2]|0;
-    $60 = HEAP32[$9>>2]|0;
-    $61 = ($59>>>0)<($60>>>0);
-    if ($61) {
-     $62 = ((($59)) + 1|0);
-     HEAP32[$8>>2] = $62;
-     $63 = HEAP8[$59>>0]|0;
-     $64 = $63&255;
-     $$3$be = $64;
-    } else {
-     $65 = (___shgetc($0)|0);
-     $$3$be = $65;
-    }
-    $66 = (($$3$be) + -48)|0;
-    $67 = ($66>>>0)<(10);
-    $68 = ($$3$be|0)==(46);
-    $69 = $68 | $67;
-    if ($69) {
-     $$0341513 = $$2343;$$0345512 = $$2347;$$0401509 = $$2403;$$1394511 = $$2395;$$3399510 = $$4400;$$3514 = $$3$be;$368 = $68;$369 = $66;$370 = $372;$371 = $373;$44 = $374;$45 = $375;
-    } else {
-     $$0341$lcssa = $$2343;$$0345$lcssa = $$2347;$$0401$lcssa = $$2403;$$1394$lcssa = $$2395;$$3$lcssa = $$3$be;$$3399$lcssa = $$4400;$72 = $372;$73 = $374;$75 = $373;$76 = $375;
-     label = 29;
-     break L20;
-    }
-   }
-   $42 = ($$3399510|0)!=(0);
-   $$0341465 = $$0341513;$$0345469 = $$0345512;$$0401475 = $$0401509;$376 = $44;$377 = $45;$378 = $370;$379 = $371;$380 = $42;
-   label = 37;
-  } else {
-   $$0341$lcssa = 0;$$0345$lcssa = 0;$$0401$lcssa = 0;$$1394$lcssa = $$0393;$$3$lcssa = $$2;$$3399$lcssa = $$2398;$72 = $366;$73 = 0;$75 = $367;$76 = 0;
-   label = 29;
-  }
- } while(0);
- do {
-  if ((label|0) == 29) {
-   $70 = ($$1394$lcssa|0)==(0);
-   $71 = $70 ? $73 : $72;
-   $74 = $70 ? $76 : $75;
-   $77 = ($$3399$lcssa|0)!=(0);
-   $78 = $$3$lcssa | 32;
-   $79 = ($78|0)==(101);
-   $or$cond415 = $77 & $79;
-   if (!($or$cond415)) {
-    $94 = ($$3$lcssa|0)>(-1);
-    if ($94) {
-     $$0341465 = $$0341$lcssa;$$0345469 = $$0345$lcssa;$$0401475 = $$0401$lcssa;$376 = $73;$377 = $76;$378 = $71;$379 = $74;$380 = $77;
-     label = 37;
-     break;
-    } else {
-     $$0341464 = $$0341$lcssa;$$0345468 = $$0345$lcssa;$$0401474 = $$0401$lcssa;$381 = $73;$382 = $76;$383 = $77;$384 = $71;$385 = $74;
-     label = 39;
-     break;
-    }
-   }
-   $80 = (_scanexp($0,$5)|0);
-   $81 = tempRet0;
-   $82 = ($80|0)==(0);
-   $83 = ($81|0)==(-2147483648);
-   $84 = $82 & $83;
-   if ($84) {
-    $85 = ($5|0)==(0);
-    if ($85) {
-     ___shlim($0,0);
-     $$1 = 0.0;
-     break;
-    }
-    $86 = HEAP32[$9>>2]|0;
-    $87 = ($86|0)==(0|0);
-    if ($87) {
-     $90 = 0;$91 = 0;
-    } else {
-     $88 = HEAP32[$8>>2]|0;
-     $89 = ((($88)) + -1|0);
-     HEAP32[$8>>2] = $89;
-     $90 = 0;$91 = 0;
-    }
-   } else {
-    $90 = $80;$91 = $81;
-   }
-   $92 = (_i64Add(($90|0),($91|0),($71|0),($74|0))|0);
-   $93 = tempRet0;
-   $$0341463 = $$0341$lcssa;$$0345467 = $$0345$lcssa;$$0401473 = $$0401$lcssa;$105 = $92;$106 = $73;$108 = $93;$109 = $76;
-   label = 41;
-  }
- } while(0);
- if ((label|0) == 37) {
-  $95 = HEAP32[$9>>2]|0;
-  $96 = ($95|0)==(0|0);
-  if ($96) {
-   $$0341464 = $$0341465;$$0345468 = $$0345469;$$0401474 = $$0401475;$381 = $376;$382 = $377;$383 = $380;$384 = $378;$385 = $379;
-   label = 39;
-  } else {
-   $97 = HEAP32[$8>>2]|0;
-   $98 = ((($97)) + -1|0);
-   HEAP32[$8>>2] = $98;
-   if ($380) {
-    $$0341463 = $$0341465;$$0345467 = $$0345469;$$0401473 = $$0401475;$105 = $378;$106 = $376;$108 = $379;$109 = $377;
-    label = 41;
-   } else {
-    label = 40;
-   }
-  }
- }
- if ((label|0) == 39) {
-  if ($383) {
-   $$0341463 = $$0341464;$$0345467 = $$0345468;$$0401473 = $$0401474;$105 = $384;$106 = $381;$108 = $385;$109 = $382;
-   label = 41;
-  } else {
-   label = 40;
-  }
- }
- do {
-  if ((label|0) == 40) {
-   $99 = (___errno_location()|0);
-   HEAP32[$99>>2] = 22;
-   ___shlim($0,0);
-   $$1 = 0.0;
-  }
-  else if ((label|0) == 41) {
-   $100 = HEAP32[$6>>2]|0;
-   $101 = ($100|0)==(0);
-   if ($101) {
-    $102 = (+($4|0));
-    $103 = $102 * 0.0;
-    $$1 = $103;
-    break;
-   }
-   $104 = ($105|0)==($106|0);
-   $107 = ($108|0)==($109|0);
-   $110 = $104 & $107;
-   $111 = ($109|0)<(0);
-   $112 = ($106>>>0)<(10);
-   $113 = ($109|0)==(0);
-   $114 = $113 & $112;
-   $115 = $111 | $114;
-   $or$cond = $115 & $110;
-   if ($or$cond) {
-    $116 = ($2|0)>(30);
-    $117 = $100 >>> $2;
-    $118 = ($117|0)==(0);
-    $or$cond417 = $116 | $118;
-    if ($or$cond417) {
-     $119 = (+($4|0));
-     $120 = (+($100>>>0));
-     $121 = $119 * $120;
-     $$1 = $121;
-     break;
-    }
-   }
-   $122 = (($3|0) / -2)&-1;
-   $123 = ($122|0)<(0);
-   $124 = $123 << 31 >> 31;
-   $125 = ($108|0)>($124|0);
-   $126 = ($105>>>0)>($122>>>0);
-   $127 = ($108|0)==($124|0);
-   $128 = $127 & $126;
-   $129 = $125 | $128;
-   if ($129) {
-    $130 = (___errno_location()|0);
-    HEAP32[$130>>2] = 34;
-    $131 = (+($4|0));
-    $132 = $131 * 1.7976931348623157E+308;
-    $133 = $132 * 1.7976931348623157E+308;
-    $$1 = $133;
-    break;
-   }
-   $134 = (($3) + -106)|0;
-   $135 = ($134|0)<(0);
-   $136 = $135 << 31 >> 31;
-   $137 = ($108|0)<($136|0);
-   $138 = ($105>>>0)<($134>>>0);
-   $139 = ($108|0)==($136|0);
-   $140 = $139 & $138;
-   $141 = $137 | $140;
-   if ($141) {
-    $142 = (___errno_location()|0);
-    HEAP32[$142>>2] = 34;
-    $143 = (+($4|0));
-    $144 = $143 * 2.2250738585072014E-308;
-    $145 = $144 * 2.2250738585072014E-308;
-    $$1 = $145;
-    break;
-   }
-   $146 = ($$0341463|0)==(0);
-   if ($146) {
-    $$3348 = $$0345467;
-   } else {
-    $147 = ($$0341463|0)<(9);
-    if ($147) {
-     $148 = (($6) + ($$0345467<<2)|0);
-     $$promoted = HEAP32[$148>>2]|0;
-     $$3344503 = $$0341463;$150 = $$promoted;
-     while(1) {
-      $149 = ($150*10)|0;
-      $151 = (($$3344503) + 1)|0;
-      $exitcond551 = ($151|0)==(9);
-      if ($exitcond551) {
-       break;
-      } else {
-       $$3344503 = $151;$150 = $149;
-      }
-     }
-     HEAP32[$148>>2] = $149;
-    }
-    $152 = (($$0345467) + 1)|0;
-    $$3348 = $152;
-   }
-   $153 = ($$0401473|0)<(9);
-   if ($153) {
-    $154 = ($$0401473|0)<=($105|0);
-    $155 = ($105|0)<(18);
-    $or$cond5 = $154 & $155;
-    if ($or$cond5) {
-     $156 = ($105|0)==(9);
-     $157 = HEAP32[$6>>2]|0;
-     if ($156) {
-      $158 = (+($4|0));
-      $159 = (+($157>>>0));
-      $160 = $158 * $159;
-      $$1 = $160;
-      break;
-     }
-     $161 = ($105|0)<(9);
-     if ($161) {
-      $162 = (+($4|0));
-      $163 = (+($157>>>0));
-      $164 = $162 * $163;
-      $165 = (8 - ($105))|0;
-      $166 = (3304 + ($165<<2)|0);
-      $167 = HEAP32[$166>>2]|0;
-      $168 = (+($167|0));
-      $169 = $164 / $168;
-      $$1 = $169;
-      break;
-     }
-     $$neg442 = Math_imul($105, -3)|0;
-     $$neg443 = (($2) + 27)|0;
-     $170 = (($$neg443) + ($$neg442))|0;
-     $171 = ($170|0)>(30);
-     $172 = $157 >>> $170;
-     $173 = ($172|0)==(0);
-     $or$cond419 = $171 | $173;
-     if ($or$cond419) {
-      $174 = (($105) + -10)|0;
-      $175 = (3304 + ($174<<2)|0);
-      $176 = (+($4|0));
-      $177 = (+($157>>>0));
-      $178 = $176 * $177;
-      $179 = HEAP32[$175>>2]|0;
-      $180 = (+($179|0));
-      $181 = $178 * $180;
-      $$1 = $181;
-      break;
-     }
-    }
-   }
-   $182 = (($105|0) % 9)&-1;
-   $183 = ($182|0)==(0);
-   if ($183) {
-    $$0380$ph = 0;$$1373$ph448 = $$3348;$$2352$ph449 = 0;$$2387$ph447 = $105;
-   } else {
-    $184 = ($105|0)>(-1);
-    $185 = (($182) + 9)|0;
-    $186 = $184 ? $182 : $185;
-    $187 = (8 - ($186))|0;
-    $188 = (3304 + ($187<<2)|0);
-    $189 = HEAP32[$188>>2]|0;
-    $190 = ($$3348|0)==(0);
-    if ($190) {
-     $$0350$lcssa554 = 0;$$0372 = 0;$$0385$lcssa553 = $105;
-    } else {
-     $191 = (1000000000 / ($189|0))&-1;
-     $$0340496 = 0;$$0350494 = 0;$$0385493 = $105;$$4349495 = 0;
-     while(1) {
-      $192 = (($6) + ($$4349495<<2)|0);
-      $193 = HEAP32[$192>>2]|0;
-      $194 = (($193>>>0) % ($189>>>0))&-1;
-      $195 = (($193>>>0) / ($189>>>0))&-1;
-      $196 = (($195) + ($$0340496))|0;
-      HEAP32[$192>>2] = $196;
-      $197 = Math_imul($191, $194)|0;
-      $198 = ($$4349495|0)==($$0350494|0);
-      $199 = ($196|0)==(0);
-      $or$cond420 = $198 & $199;
-      $200 = (($$0350494) + 1)|0;
-      $201 = $200 & 127;
-      $202 = (($$0385493) + -9)|0;
-      $$$0385 = $or$cond420 ? $202 : $$0385493;
-      $$$0350 = $or$cond420 ? $201 : $$0350494;
-      $203 = (($$4349495) + 1)|0;
-      $204 = ($203|0)==($$3348|0);
-      if ($204) {
-       break;
-      } else {
-       $$0340496 = $197;$$0350494 = $$$0350;$$0385493 = $$$0385;$$4349495 = $203;
-      }
-     }
-     $205 = ($197|0)==(0);
-     if ($205) {
-      $$0350$lcssa554 = $$$0350;$$0372 = $$3348;$$0385$lcssa553 = $$$0385;
-     } else {
-      $206 = (($6) + ($$3348<<2)|0);
-      $207 = (($$3348) + 1)|0;
-      HEAP32[$206>>2] = $197;
-      $$0350$lcssa554 = $$$0350;$$0372 = $207;$$0385$lcssa553 = $$$0385;
-     }
-    }
-    $208 = (9 - ($186))|0;
-    $209 = (($208) + ($$0385$lcssa553))|0;
-    $$0380$ph = 0;$$1373$ph448 = $$0372;$$2352$ph449 = $$0350$lcssa554;$$2387$ph447 = $209;
-   }
-   L101: while(1) {
-    $210 = ($$2387$ph447|0)<(18);
-    $211 = ($$2387$ph447|0)==(18);
-    $212 = (($6) + ($$2352$ph449<<2)|0);
-    $$0380 = $$0380$ph;$$1373 = $$1373$ph448;
-    while(1) {
-     if (!($210)) {
-      if (!($211)) {
-       $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = $$2387$ph447;$$6378$ph = $$1373;
-       break L101;
-      }
-      $213 = HEAP32[$212>>2]|0;
-      $214 = ($213>>>0)<(9007199);
-      if (!($214)) {
-       $$1381$ph = $$0380;$$4354$ph = $$2352$ph449;$$4389$ph445 = 18;$$6378$ph = $$1373;
-       break L101;
-      }
-     }
-     $215 = (($$1373) + 127)|0;
-     $$0334 = 0;$$2374 = $$1373;$$5$in = $215;
-     while(1) {
-      $$5 = $$5$in & 127;
-      $216 = (($6) + ($$5<<2)|0);
-      $217 = HEAP32[$216>>2]|0;
-      $218 = (_bitshift64Shl(($217|0),0,29)|0);
-      $219 = tempRet0;
-      $220 = (_i64Add(($218|0),($219|0),($$0334|0),0)|0);
-      $221 = tempRet0;
-      $222 = ($221>>>0)>(0);
-      $223 = ($220>>>0)>(1000000000);
-      $224 = ($221|0)==(0);
-      $225 = $224 & $223;
-      $226 = $222 | $225;
-      if ($226) {
-       $227 = (___udivdi3(($220|0),($221|0),1000000000,0)|0);
-       $228 = tempRet0;
-       $229 = (___uremdi3(($220|0),($221|0),1000000000,0)|0);
-       $230 = tempRet0;
-       $$1335 = $227;$$sink421$off0 = $229;
-      } else {
-       $$1335 = 0;$$sink421$off0 = $220;
-      }
-      HEAP32[$216>>2] = $$sink421$off0;
-      $231 = (($$2374) + 127)|0;
-      $232 = $231 & 127;
-      $233 = ($$5|0)!=($232|0);
-      $234 = ($$5|0)==($$2352$ph449|0);
-      $or$cond422 = $233 | $234;
-      $or$cond422$not = $or$cond422 ^ 1;
-      $235 = ($$sink421$off0|0)==(0);
-      $or$cond423 = $235 & $or$cond422$not;
-      $$3375 = $or$cond423 ? $$5 : $$2374;
-      $236 = (($$5) + -1)|0;
-      if ($234) {
-       break;
-      } else {
-       $$0334 = $$1335;$$2374 = $$3375;$$5$in = $236;
-      }
-     }
-     $237 = (($$0380) + -29)|0;
-     $238 = ($$1335|0)==(0);
-     if ($238) {
-      $$0380 = $237;$$1373 = $$3375;
-     } else {
-      break;
-     }
-    }
-    $239 = (($$2387$ph447) + 9)|0;
-    $240 = (($$2352$ph449) + 127)|0;
-    $241 = $240 & 127;
-    $242 = ($241|0)==($$3375|0);
-    $243 = (($$3375) + 127)|0;
-    $244 = $243 & 127;
-    $245 = (($$3375) + 126)|0;
-    $246 = $245 & 127;
-    $247 = (($6) + ($246<<2)|0);
-    if ($242) {
-     $248 = (($6) + ($244<<2)|0);
-     $249 = HEAP32[$248>>2]|0;
-     $250 = HEAP32[$247>>2]|0;
-     $251 = $250 | $249;
-     HEAP32[$247>>2] = $251;
-     $$4376 = $244;
-    } else {
-     $$4376 = $$3375;
-    }
-    $252 = (($6) + ($241<<2)|0);
-    HEAP32[$252>>2] = $$1335;
-    $$0380$ph = $237;$$1373$ph448 = $$4376;$$2352$ph449 = $241;$$2387$ph447 = $239;
-   }
-   L119: while(1) {
-    $289 = (($$6378$ph) + 1)|0;
-    $287 = $289 & 127;
-    $290 = (($$6378$ph) + 127)|0;
-    $291 = $290 & 127;
-    $292 = (($6) + ($291<<2)|0);
-    $$1381$ph558 = $$1381$ph;$$4354$ph559 = $$4354$ph;$$4389$ph = $$4389$ph445;
-    while(1) {
-     $265 = ($$4389$ph|0)==(18);
-     $293 = ($$4389$ph|0)>(27);
-     $$425 = $293 ? 9 : 1;
-     $$1381 = $$1381$ph558;$$4354 = $$4354$ph559;
-     while(1) {
-      $$0336486 = 0;
-      while(1) {
-       $253 = (($$0336486) + ($$4354))|0;
-       $254 = $253 & 127;
-       $255 = ($254|0)==($$6378$ph|0);
-       if ($255) {
-        $$1337 = 2;
-        label = 88;
-        break;
-       }
-       $256 = (($6) + ($254<<2)|0);
-       $257 = HEAP32[$256>>2]|0;
-       $258 = (3336 + ($$0336486<<2)|0);
-       $259 = HEAP32[$258>>2]|0;
-       $260 = ($257>>>0)<($259>>>0);
-       if ($260) {
-        $$1337 = 2;
-        label = 88;
-        break;
-       }
-       $261 = ($257>>>0)>($259>>>0);
-       if ($261) {
-        break;
-       }
-       $262 = (($$0336486) + 1)|0;
-       $263 = ($262|0)<(2);
-       if ($263) {
-        $$0336486 = $262;
-       } else {
-        $$1337 = $262;
-        label = 88;
-        break;
-       }
-      }
-      if ((label|0) == 88) {
-       label = 0;
-       $264 = ($$1337|0)==(2);
-       $or$cond11 = $265 & $264;
-       if ($or$cond11) {
-        $$0365484 = 0.0;$$4485 = 0;$$9483 = $$6378$ph;
-        break L119;
-       }
-      }
-      $266 = (($$425) + ($$1381))|0;
-      $267 = ($$4354|0)==($$6378$ph|0);
-      if ($267) {
-       $$1381 = $266;$$4354 = $$6378$ph;
-      } else {
-       break;
-      }
-     }
-     $268 = 1 << $$425;
-     $269 = (($268) + -1)|0;
-     $270 = 1000000000 >>> $$425;
-     $$0332490 = 0;$$5355488 = $$4354;$$5390487 = $$4389$ph;$$6489 = $$4354;
-     while(1) {
-      $271 = (($6) + ($$6489<<2)|0);
-      $272 = HEAP32[$271>>2]|0;
-      $273 = $272 & $269;
-      $274 = $272 >>> $$425;
-      $275 = (($274) + ($$0332490))|0;
-      HEAP32[$271>>2] = $275;
-      $276 = Math_imul($273, $270)|0;
-      $277 = ($$6489|0)==($$5355488|0);
-      $278 = ($275|0)==(0);
-      $or$cond426 = $277 & $278;
-      $279 = (($$5355488) + 1)|0;
-      $280 = $279 & 127;
-      $281 = (($$5390487) + -9)|0;
-      $$$5390 = $or$cond426 ? $281 : $$5390487;
-      $$$5355 = $or$cond426 ? $280 : $$5355488;
-      $282 = (($$6489) + 1)|0;
-      $283 = $282 & 127;
-      $284 = ($283|0)==($$6378$ph|0);
-      if ($284) {
-       break;
-      } else {
-       $$0332490 = $276;$$5355488 = $$$5355;$$5390487 = $$$5390;$$6489 = $283;
-      }
-     }
-     $285 = ($276|0)==(0);
-     if ($285) {
-      $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390;
-      continue;
-     }
-     $286 = ($287|0)==($$$5355|0);
-     if (!($286)) {
-      break;
-     }
-     $294 = HEAP32[$292>>2]|0;
-     $295 = $294 | 1;
-     HEAP32[$292>>2] = $295;
-     $$1381$ph558 = $266;$$4354$ph559 = $$$5355;$$4389$ph = $$$5390;
-    }
-    $288 = (($6) + ($$6378$ph<<2)|0);
-    HEAP32[$288>>2] = $276;
-    $$1381$ph = $266;$$4354$ph = $$$5355;$$4389$ph445 = $$$5390;$$6378$ph = $287;
-   }
-   while(1) {
-    $296 = (($$4485) + ($$4354))|0;
-    $297 = $296 & 127;
-    $298 = ($297|0)==($$9483|0);
-    $299 = (($$9483) + 1)|0;
-    $300 = $299 & 127;
-    if ($298) {
-     $301 = (($300) + -1)|0;
-     $302 = (($6) + ($301<<2)|0);
-     HEAP32[$302>>2] = 0;
-     $$10 = $300;
-    } else {
-     $$10 = $$9483;
-    }
-    $303 = $$0365484 * 1.0E+9;
-    $304 = (($6) + ($297<<2)|0);
-    $305 = HEAP32[$304>>2]|0;
-    $306 = (+($305>>>0));
-    $307 = $303 + $306;
-    $308 = (($$4485) + 1)|0;
-    $exitcond = ($308|0)==(2);
-    if ($exitcond) {
-     break;
-    } else {
-     $$0365484 = $307;$$4485 = $308;$$9483 = $$10;
-    }
-   }
-   $309 = (+($4|0));
-   $310 = $309 * $307;
-   $311 = (($$1381) + 53)|0;
-   $312 = (($311) - ($3))|0;
-   $313 = ($312|0)<($2|0);
-   $314 = ($312|0)>(0);
-   $$ = $314 ? $312 : 0;
-   $$0333 = $313 ? $$ : $2;
-   $315 = ($$0333|0)<(53);
-   if ($315) {
-    $316 = (105 - ($$0333))|0;
-    $317 = (+_scalbn(1.0,$316));
-    $318 = (+_copysignl($317,$310));
-    $319 = (53 - ($$0333))|0;
-    $320 = (+_scalbn(1.0,$319));
-    $321 = (+_fmodl($310,$320));
-    $322 = $310 - $321;
-    $323 = $318 + $322;
-    $$0360 = $318;$$0361 = $321;$$1366 = $323;
-   } else {
-    $$0360 = 0.0;$$0361 = 0.0;$$1366 = $310;
-   }
-   $324 = (($$4354) + 2)|0;
-   $325 = $324 & 127;
-   $326 = ($325|0)==($$10|0);
-   if ($326) {
-    $$3364 = $$0361;
-   } else {
-    $327 = (($6) + ($325<<2)|0);
-    $328 = HEAP32[$327>>2]|0;
-    $329 = ($328>>>0)<(500000000);
-    do {
-     if ($329) {
-      $330 = ($328|0)==(0);
-      if ($330) {
-       $331 = (($$4354) + 3)|0;
-       $332 = $331 & 127;
-       $333 = ($332|0)==($$10|0);
-       if ($333) {
-        $$1362 = $$0361;
-        break;
-       }
-      }
-      $334 = $309 * 0.25;
-      $335 = $334 + $$0361;
-      $$1362 = $335;
-     } else {
-      $336 = ($328|0)==(500000000);
-      if (!($336)) {
-       $337 = $309 * 0.75;
-       $338 = $337 + $$0361;
-       $$1362 = $338;
-       break;
-      }
-      $339 = (($$4354) + 3)|0;
-      $340 = $339 & 127;
-      $341 = ($340|0)==($$10|0);
-      if ($341) {
-       $342 = $309 * 0.5;
-       $343 = $342 + $$0361;
-       $$1362 = $343;
-       break;
-      } else {
-       $344 = $309 * 0.75;
-       $345 = $344 + $$0361;
-       $$1362 = $345;
-       break;
-      }
-     }
-    } while(0);
-    $346 = (53 - ($$0333))|0;
-    $347 = ($346|0)>(1);
-    if ($347) {
-     $348 = (+_fmodl($$1362,1.0));
-     $349 = $348 != 0.0;
-     if ($349) {
-      $$3364 = $$1362;
-     } else {
-      $350 = $$1362 + 1.0;
-      $$3364 = $350;
-     }
-    } else {
-     $$3364 = $$1362;
-    }
-   }
-   $351 = $$1366 + $$3364;
-   $352 = $351 - $$0360;
-   $353 = $311 & 2147483647;
-   $354 = (-2 - ($sum))|0;
-   $355 = ($353|0)>($354|0);
-   do {
-    if ($355) {
-     $356 = (+Math_abs((+$352)));
-     $357 = !($356 >= 9007199254740992.0);
-     $358 = $352 * 0.5;
-     $not$ = $357 ^ 1;
-     $359 = $not$&1;
-     $$3383 = (($359) + ($$1381))|0;
-     $$2367 = $357 ? $352 : $358;
-     $360 = (($$3383) + 50)|0;
-     $361 = ($360|0)>($7|0);
-     if (!($361)) {
-      $362 = ($$0333|0)!=($312|0);
-      $narrow = $362 | $357;
-      $$2371$v = $313 & $narrow;
-      $363 = $$3364 != 0.0;
-      $or$cond14 = $363 & $$2371$v;
-      if (!($or$cond14)) {
-       $$3368 = $$2367;$$4384 = $$3383;
-       break;
-      }
-     }
-     $364 = (___errno_location()|0);
-     HEAP32[$364>>2] = 34;
-     $$3368 = $$2367;$$4384 = $$3383;
-    } else {
-     $$3368 = $352;$$4384 = $$1381;
-    }
-   } while(0);
-   $365 = (+_scalbnl($$3368,$$4384));
-   $$1 = $365;
-  }
- } while(0);
- STACKTOP = sp;return (+$$1);
-}
-function _scanexp($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$0 = 0, $$04861 = 0, $$049 = 0, $$1$be = 0, $$160 = 0, $$2$be = 0, $$2$lcssa = 0, $$254 = 0, $$3$be = 0, $$lcssa = 0, $$pre = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0;
- var $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
- var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
- var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
- var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
- var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = ((($0)) + 4|0);
- $3 = HEAP32[$2>>2]|0;
- $4 = ((($0)) + 100|0);
- $5 = HEAP32[$4>>2]|0;
- $6 = ($3>>>0)<($5>>>0);
- if ($6) {
-  $7 = ((($3)) + 1|0);
-  HEAP32[$2>>2] = $7;
-  $8 = HEAP8[$3>>0]|0;
-  $9 = $8&255;
-  $11 = $9;
- } else {
-  $10 = (___shgetc($0)|0);
-  $11 = $10;
- }
- switch ($11|0) {
- case 43: case 45:  {
-  $12 = ($11|0)==(45);
-  $13 = $12&1;
-  $14 = HEAP32[$2>>2]|0;
-  $15 = HEAP32[$4>>2]|0;
-  $16 = ($14>>>0)<($15>>>0);
-  if ($16) {
-   $17 = ((($14)) + 1|0);
-   HEAP32[$2>>2] = $17;
-   $18 = HEAP8[$14>>0]|0;
-   $19 = $18&255;
-   $22 = $19;
-  } else {
-   $20 = (___shgetc($0)|0);
-   $22 = $20;
-  }
-  $21 = (($22) + -48)|0;
-  $23 = ($21>>>0)>(9);
-  $24 = ($1|0)!=(0);
-  $or$cond3 = $24 & $23;
-  if ($or$cond3) {
-   $25 = HEAP32[$4>>2]|0;
-   $26 = ($25|0)==(0|0);
-   if ($26) {
-    $$0 = $13;$$049 = $22;
-   } else {
-    $27 = HEAP32[$2>>2]|0;
-    $28 = ((($27)) + -1|0);
-    HEAP32[$2>>2] = $28;
-    $$0 = $13;$$049 = $22;
-   }
-  } else {
-   $$0 = $13;$$049 = $22;
-  }
-  break;
- }
- default: {
-  $$0 = 0;$$049 = $11;
- }
- }
- $29 = (($$049) + -48)|0;
- $30 = ($29>>>0)>(9);
- if ($30) {
-  $31 = HEAP32[$4>>2]|0;
-  $32 = ($31|0)==(0|0);
-  if ($32) {
-   $100 = -2147483648;$101 = 0;
-  } else {
-   $33 = HEAP32[$2>>2]|0;
-   $34 = ((($33)) + -1|0);
-   HEAP32[$2>>2] = $34;
-   $100 = -2147483648;$101 = 0;
-  }
- } else {
-  $$04861 = 0;$$160 = $$049;
-  while(1) {
-   $35 = ($$04861*10)|0;
-   $36 = (($$160) + -48)|0;
-   $37 = (($36) + ($35))|0;
-   $38 = HEAP32[$2>>2]|0;
-   $39 = HEAP32[$4>>2]|0;
-   $40 = ($38>>>0)<($39>>>0);
-   if ($40) {
-    $41 = ((($38)) + 1|0);
-    HEAP32[$2>>2] = $41;
-    $42 = HEAP8[$38>>0]|0;
-    $43 = $42&255;
-    $$1$be = $43;
-   } else {
-    $44 = (___shgetc($0)|0);
-    $$1$be = $44;
-   }
-   $45 = (($$1$be) + -48)|0;
-   $46 = ($45>>>0)<(10);
-   $47 = ($37|0)<(214748364);
-   $48 = $46 & $47;
-   if ($48) {
-    $$04861 = $37;$$160 = $$1$be;
-   } else {
-    break;
-   }
-  }
-  $49 = ($37|0)<(0);
-  $50 = $49 << 31 >> 31;
-  $51 = (($$1$be) + -48)|0;
-  $52 = ($51>>>0)<(10);
-  if ($52) {
-   $$254 = $$1$be;$56 = $37;$57 = $50;
-   while(1) {
-    $58 = (___muldi3(($56|0),($57|0),10,0)|0);
-    $59 = tempRet0;
-    $60 = ($$254|0)<(0);
-    $61 = $60 << 31 >> 31;
-    $62 = (_i64Add(($$254|0),($61|0),-48,-1)|0);
-    $63 = tempRet0;
-    $64 = (_i64Add(($62|0),($63|0),($58|0),($59|0))|0);
-    $65 = tempRet0;
-    $66 = HEAP32[$2>>2]|0;
-    $67 = HEAP32[$4>>2]|0;
-    $68 = ($66>>>0)<($67>>>0);
-    if ($68) {
-     $69 = ((($66)) + 1|0);
-     HEAP32[$2>>2] = $69;
-     $70 = HEAP8[$66>>0]|0;
-     $71 = $70&255;
-     $$2$be = $71;
-    } else {
-     $72 = (___shgetc($0)|0);
-     $$2$be = $72;
-    }
-    $73 = (($$2$be) + -48)|0;
-    $74 = ($73>>>0)<(10);
-    $75 = ($65|0)<(21474836);
-    $76 = ($64>>>0)<(2061584302);
-    $77 = ($65|0)==(21474836);
-    $78 = $77 & $76;
-    $79 = $75 | $78;
-    $80 = $74 & $79;
-    if ($80) {
-     $$254 = $$2$be;$56 = $64;$57 = $65;
-    } else {
-     $$2$lcssa = $$2$be;$94 = $64;$95 = $65;
-     break;
-    }
-   }
-  } else {
-   $$2$lcssa = $$1$be;$94 = $37;$95 = $50;
-  }
-  $53 = (($$2$lcssa) + -48)|0;
-  $54 = ($53>>>0)<(10);
-  $55 = HEAP32[$4>>2]|0;
-  if ($54) {
-   $83 = $55;
-   while(1) {
-    $81 = HEAP32[$2>>2]|0;
-    $82 = ($81>>>0)<($83>>>0);
-    if ($82) {
-     $84 = ((($81)) + 1|0);
-     HEAP32[$2>>2] = $84;
-     $85 = HEAP8[$81>>0]|0;
-     $86 = $85&255;
-     $$3$be = $86;$102 = $83;
-    } else {
-     $87 = (___shgetc($0)|0);
-     $$pre = HEAP32[$4>>2]|0;
-     $$3$be = $87;$102 = $$pre;
-    }
-    $88 = (($$3$be) + -48)|0;
-    $89 = ($88>>>0)<(10);
-    if ($89) {
-     $83 = $102;
-    } else {
-     $$lcssa = $102;
-     break;
-    }
-   }
-  } else {
-   $$lcssa = $55;
-  }
-  $90 = ($$lcssa|0)==(0|0);
-  if (!($90)) {
-   $91 = HEAP32[$2>>2]|0;
-   $92 = ((($91)) + -1|0);
-   HEAP32[$2>>2] = $92;
-  }
-  $93 = ($$0|0)!=(0);
-  $96 = (_i64Subtract(0,0,($94|0),($95|0))|0);
-  $97 = tempRet0;
-  $98 = $93 ? $96 : $94;
-  $99 = $93 ? $97 : $95;
-  $100 = $99;$101 = $98;
- }
- tempRet0 = ($100);
- return ($101|0);
-}
-function _scalbn($0,$1) {
- $0 = +$0;
- $1 = $1|0;
- var $$ = 0, $$$ = 0, $$0 = 0.0, $$020 = 0, $$1 = 0, $$1$ = 0, $$21 = 0.0, $$22 = 0.0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0.0;
- var $3 = 0.0, $4 = 0, $5 = 0, $6 = 0.0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = ($1|0)>(1023);
- if ($2) {
-  $3 = $0 * 8.9884656743115795E+307;
-  $4 = (($1) + -1023)|0;
-  $5 = ($4|0)>(1023);
-  $6 = $3 * 8.9884656743115795E+307;
-  $7 = (($1) + -2046)|0;
-  $8 = ($7|0)<(1023);
-  $$ = $8 ? $7 : 1023;
-  $$$ = $5 ? $$ : $4;
-  $$21 = $5 ? $6 : $3;
-  $$0 = $$21;$$020 = $$$;
- } else {
-  $9 = ($1|0)<(-1022);
-  if ($9) {
-   $10 = $0 * 2.2250738585072014E-308;
-   $11 = (($1) + 1022)|0;
-   $12 = ($11|0)<(-1022);
-   $13 = $10 * 2.2250738585072014E-308;
-   $14 = (($1) + 2044)|0;
-   $15 = ($14|0)>(-1022);
-   $$1 = $15 ? $14 : -1022;
-   $$1$ = $12 ? $$1 : $11;
-   $$22 = $12 ? $13 : $10;
-   $$0 = $$22;$$020 = $$1$;
-  } else {
-   $$0 = $0;$$020 = $1;
-  }
- }
- $16 = (($$020) + 1023)|0;
- $17 = (_bitshift64Shl(($16|0),0,52)|0);
- $18 = tempRet0;
- HEAP32[tempDoublePtr>>2] = $17;HEAP32[tempDoublePtr+4>>2] = $18;$19 = +HEAPF64[tempDoublePtr>>3];
- $20 = $$0 * $19;
- return (+$20);
-}
-function _copysignl($0,$1) {
- $0 = +$0;
- $1 = +$1;
- var $2 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (+_copysign($0,$1));
- return (+$2);
-}
-function _fmodl($0,$1) {
- $0 = +$0;
- $1 = +$1;
- var $2 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (+_fmod($0,$1));
- return (+$2);
-}
-function _scalbnl($0,$1) {
- $0 = +$0;
- $1 = $1|0;
- var $2 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (+_scalbn($0,$1));
- return (+$2);
-}
-function _fmod($0,$1) {
- $0 = +$0;
- $1 = +$1;
- var $$ = 0.0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172$ph = 0, $$174 = 0, $$275$lcssa = 0, $$27586 = 0, $$376$lcssa = 0, $$37683 = 0, $$lcssa = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0.0, $104 = 0, $105 = 0;
- var $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0;
- var $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0.0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0;
- var $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0.0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0;
- var $160 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0;
- var $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0;
- var $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0;
- var $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0;
- var $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- HEAPF64[tempDoublePtr>>3] = $0;$2 = HEAP32[tempDoublePtr>>2]|0;
- $3 = HEAP32[tempDoublePtr+4>>2]|0;
- HEAPF64[tempDoublePtr>>3] = $1;$4 = HEAP32[tempDoublePtr>>2]|0;
- $5 = HEAP32[tempDoublePtr+4>>2]|0;
- $6 = (_bitshift64Lshr(($2|0),($3|0),52)|0);
- $7 = tempRet0;
- $8 = $6 & 2047;
- $9 = (_bitshift64Lshr(($4|0),($5|0),52)|0);
- $10 = tempRet0;
- $11 = $9 & 2047;
- $12 = $3 & -2147483648;
- $13 = (_bitshift64Shl(($4|0),($5|0),1)|0);
- $14 = tempRet0;
- $15 = ($13|0)==(0);
- $16 = ($14|0)==(0);
- $17 = $15 & $16;
- L1: do {
-  if ($17) {
-   label = 3;
-  } else {
-   $18 = (___DOUBLE_BITS_272($1)|0);
-   $19 = tempRet0;
-   $20 = $19 & 2147483647;
-   $21 = ($20>>>0)>(2146435072);
-   $22 = ($18>>>0)>(0);
-   $23 = ($20|0)==(2146435072);
-   $24 = $23 & $22;
-   $25 = $21 | $24;
-   $26 = ($8|0)==(2047);
-   $or$cond = $26 | $25;
-   if ($or$cond) {
-    label = 3;
-   } else {
-    $29 = (_bitshift64Shl(($2|0),($3|0),1)|0);
-    $30 = tempRet0;
-    $31 = ($30>>>0)>($14>>>0);
-    $32 = ($29>>>0)>($13>>>0);
-    $33 = ($30|0)==($14|0);
-    $34 = $33 & $32;
-    $35 = $31 | $34;
-    if (!($35)) {
-     $36 = ($29|0)==($13|0);
-     $37 = ($30|0)==($14|0);
-     $38 = $36 & $37;
-     $39 = $0 * 0.0;
-     $$ = $38 ? $39 : $0;
-     return (+$$);
-    }
-    $40 = ($8|0)==(0);
-    if ($40) {
-     $41 = (_bitshift64Shl(($2|0),($3|0),12)|0);
-     $42 = tempRet0;
-     $43 = ($42|0)>(-1);
-     $44 = ($41>>>0)>(4294967295);
-     $45 = ($42|0)==(-1);
-     $46 = $45 & $44;
-     $47 = $43 | $46;
-     if ($47) {
-      $$073100 = 0;$49 = $41;$50 = $42;
-      while(1) {
-       $48 = (($$073100) + -1)|0;
-       $51 = (_bitshift64Shl(($49|0),($50|0),1)|0);
-       $52 = tempRet0;
-       $53 = ($52|0)>(-1);
-       $54 = ($51>>>0)>(4294967295);
-       $55 = ($52|0)==(-1);
-       $56 = $55 & $54;
-       $57 = $53 | $56;
-       if ($57) {
-        $$073100 = $48;$49 = $51;$50 = $52;
-       } else {
-        $$073$lcssa = $48;
-        break;
-       }
-      }
-     } else {
-      $$073$lcssa = 0;
-     }
-     $58 = (1 - ($$073$lcssa))|0;
-     $59 = (_bitshift64Shl(($2|0),($3|0),($58|0))|0);
-     $60 = tempRet0;
-     $$174 = $$073$lcssa;$87 = $59;$88 = $60;
-    } else {
-     $61 = $3 & 1048575;
-     $62 = $61 | 1048576;
-     $$174 = $8;$87 = $2;$88 = $62;
-    }
-    $63 = ($11|0)==(0);
-    if ($63) {
-     $64 = (_bitshift64Shl(($4|0),($5|0),12)|0);
-     $65 = tempRet0;
-     $66 = ($65|0)>(-1);
-     $67 = ($64>>>0)>(4294967295);
-     $68 = ($65|0)==(-1);
-     $69 = $68 & $67;
-     $70 = $66 | $69;
-     if ($70) {
-      $$07194 = 0;$72 = $64;$73 = $65;
-      while(1) {
-       $71 = (($$07194) + -1)|0;
-       $74 = (_bitshift64Shl(($72|0),($73|0),1)|0);
-       $75 = tempRet0;
-       $76 = ($75|0)>(-1);
-       $77 = ($74>>>0)>(4294967295);
-       $78 = ($75|0)==(-1);
-       $79 = $78 & $77;
-       $80 = $76 | $79;
-       if ($80) {
-        $$07194 = $71;$72 = $74;$73 = $75;
-       } else {
-        $$071$lcssa = $71;
-        break;
-       }
-      }
-     } else {
-      $$071$lcssa = 0;
-     }
-     $81 = (1 - ($$071$lcssa))|0;
-     $82 = (_bitshift64Shl(($4|0),($5|0),($81|0))|0);
-     $83 = tempRet0;
-     $$172$ph = $$071$lcssa;$89 = $82;$90 = $83;
-    } else {
-     $84 = $5 & 1048575;
-     $85 = $84 | 1048576;
-     $$172$ph = $11;$89 = $4;$90 = $85;
-    }
-    $86 = ($$174|0)>($$172$ph|0);
-    $91 = (_i64Subtract(($87|0),($88|0),($89|0),($90|0))|0);
-    $92 = tempRet0;
-    $93 = ($92|0)>(-1);
-    $94 = ($91>>>0)>(4294967295);
-    $95 = ($92|0)==(-1);
-    $96 = $95 & $94;
-    $97 = $93 | $96;
-    L23: do {
-     if ($86) {
-      $$27586 = $$174;$101 = $92;$156 = $97;$157 = $87;$158 = $88;$99 = $91;
-      while(1) {
-       if ($156) {
-        $98 = ($99|0)==(0);
-        $100 = ($101|0)==(0);
-        $102 = $98 & $100;
-        if ($102) {
-         break;
-        } else {
-         $104 = $99;$105 = $101;
-        }
-       } else {
-        $104 = $157;$105 = $158;
-       }
-       $106 = (_bitshift64Shl(($104|0),($105|0),1)|0);
-       $107 = tempRet0;
-       $108 = (($$27586) + -1)|0;
-       $109 = ($108|0)>($$172$ph|0);
-       $110 = (_i64Subtract(($106|0),($107|0),($89|0),($90|0))|0);
-       $111 = tempRet0;
-       $112 = ($111|0)>(-1);
-       $113 = ($110>>>0)>(4294967295);
-       $114 = ($111|0)==(-1);
-       $115 = $114 & $113;
-       $116 = $112 | $115;
-       if ($109) {
-        $$27586 = $108;$101 = $111;$156 = $116;$157 = $106;$158 = $107;$99 = $110;
-       } else {
-        $$275$lcssa = $108;$$lcssa = $116;$118 = $110;$120 = $111;$159 = $106;$160 = $107;
-        break L23;
-       }
-      }
-      $103 = $0 * 0.0;
-      $$070 = $103;
-      break L1;
-     } else {
-      $$275$lcssa = $$174;$$lcssa = $97;$118 = $91;$120 = $92;$159 = $87;$160 = $88;
-     }
-    } while(0);
-    if ($$lcssa) {
-     $117 = ($118|0)==(0);
-     $119 = ($120|0)==(0);
-     $121 = $117 & $119;
-     if ($121) {
-      $129 = $0 * 0.0;
-      $$070 = $129;
-      break;
-     } else {
-      $123 = $120;$125 = $118;
-     }
-    } else {
-     $123 = $160;$125 = $159;
-    }
-    $122 = ($123>>>0)<(1048576);
-    $124 = ($125>>>0)<(0);
-    $126 = ($123|0)==(1048576);
-    $127 = $126 & $124;
-    $128 = $122 | $127;
-    if ($128) {
-     $$37683 = $$275$lcssa;$130 = $125;$131 = $123;
-     while(1) {
-      $132 = (_bitshift64Shl(($130|0),($131|0),1)|0);
-      $133 = tempRet0;
-      $134 = (($$37683) + -1)|0;
-      $135 = ($133>>>0)<(1048576);
-      $136 = ($132>>>0)<(0);
-      $137 = ($133|0)==(1048576);
-      $138 = $137 & $136;
-      $139 = $135 | $138;
-      if ($139) {
-       $$37683 = $134;$130 = $132;$131 = $133;
-      } else {
-       $$376$lcssa = $134;$141 = $132;$142 = $133;
-       break;
-      }
-     }
-    } else {
-     $$376$lcssa = $$275$lcssa;$141 = $125;$142 = $123;
-    }
-    $140 = ($$376$lcssa|0)>(0);
-    if ($140) {
-     $143 = (_i64Add(($141|0),($142|0),0,-1048576)|0);
-     $144 = tempRet0;
-     $145 = (_bitshift64Shl(($$376$lcssa|0),0,52)|0);
-     $146 = tempRet0;
-     $147 = $143 | $145;
-     $148 = $144 | $146;
-     $153 = $148;$155 = $147;
-    } else {
-     $149 = (1 - ($$376$lcssa))|0;
-     $150 = (_bitshift64Lshr(($141|0),($142|0),($149|0))|0);
-     $151 = tempRet0;
-     $153 = $151;$155 = $150;
-    }
-    $152 = $153 | $12;
-    HEAP32[tempDoublePtr>>2] = $155;HEAP32[tempDoublePtr+4>>2] = $152;$154 = +HEAPF64[tempDoublePtr>>3];
-    $$070 = $154;
-   }
-  }
- } while(0);
- if ((label|0) == 3) {
-  $27 = $0 * $1;
-  $28 = $27 / $27;
-  $$070 = $28;
- }
- return (+$$070);
-}
-function ___DOUBLE_BITS_272($0) {
- $0 = +$0;
- var $1 = 0, $2 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
- $2 = HEAP32[tempDoublePtr+4>>2]|0;
- tempRet0 = ($2);
- return ($1|0);
-}
-function _strlen($0) {
- $0 = $0|0;
- var $$0 = 0, $$015$lcssa = 0, $$01519 = 0, $$1$lcssa = 0, $$pn = 0, $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
- var $21 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = $0;
- $2 = $1 & 3;
- $3 = ($2|0)==(0);
- L1: do {
-  if ($3) {
-   $$015$lcssa = $0;
-   label = 4;
-  } else {
-   $$01519 = $0;$23 = $1;
-   while(1) {
-    $4 = HEAP8[$$01519>>0]|0;
-    $5 = ($4<<24>>24)==(0);
-    if ($5) {
-     $$sink = $23;
-     break L1;
-    }
-    $6 = ((($$01519)) + 1|0);
-    $7 = $6;
-    $8 = $7 & 3;
-    $9 = ($8|0)==(0);
-    if ($9) {
-     $$015$lcssa = $6;
-     label = 4;
-     break;
-    } else {
-     $$01519 = $6;$23 = $7;
-    }
-   }
-  }
- } while(0);
- if ((label|0) == 4) {
-  $$0 = $$015$lcssa;
-  while(1) {
-   $10 = HEAP32[$$0>>2]|0;
-   $11 = (($10) + -16843009)|0;
-   $12 = $10 & -2139062144;
-   $13 = $12 ^ -2139062144;
-   $14 = $13 & $11;
-   $15 = ($14|0)==(0);
-   $16 = ((($$0)) + 4|0);
-   if ($15) {
-    $$0 = $16;
-   } else {
-    break;
-   }
-  }
-  $17 = $10&255;
-  $18 = ($17<<24>>24)==(0);
-  if ($18) {
-   $$1$lcssa = $$0;
-  } else {
-   $$pn = $$0;
-   while(1) {
-    $19 = ((($$pn)) + 1|0);
-    $$pre = HEAP8[$19>>0]|0;
-    $20 = ($$pre<<24>>24)==(0);
-    if ($20) {
-     $$1$lcssa = $19;
-     break;
-    } else {
-     $$pn = $19;
-    }
-   }
-  }
-  $21 = $$1$lcssa;
-  $$sink = $21;
- }
- $22 = (($$sink) - ($1))|0;
- return ($22|0);
-}
-function _strchr($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (___strchrnul($0,$1)|0);
- $3 = HEAP8[$2>>0]|0;
- $4 = $1&255;
- $5 = ($3<<24>>24)==($4<<24>>24);
- $6 = $5 ? $2 : 0;
- return ($6|0);
-}
-function ___strchrnul($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$0 = 0, $$029$lcssa = 0, $$02936 = 0, $$030$lcssa = 0, $$03039 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0;
- var $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0;
- var $41 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond33 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = $1 & 255;
- $3 = ($2|0)==(0);
- L1: do {
-  if ($3) {
-   $8 = (_strlen($0)|0);
-   $9 = (($0) + ($8)|0);
-   $$0 = $9;
-  } else {
-   $4 = $0;
-   $5 = $4 & 3;
-   $6 = ($5|0)==(0);
-   if ($6) {
-    $$030$lcssa = $0;
-   } else {
-    $7 = $1&255;
-    $$03039 = $0;
-    while(1) {
-     $10 = HEAP8[$$03039>>0]|0;
-     $11 = ($10<<24>>24)==(0);
-     $12 = ($10<<24>>24)==($7<<24>>24);
-     $or$cond = $11 | $12;
-     if ($or$cond) {
-      $$0 = $$03039;
-      break L1;
-     }
-     $13 = ((($$03039)) + 1|0);
-     $14 = $13;
-     $15 = $14 & 3;
-     $16 = ($15|0)==(0);
-     if ($16) {
-      $$030$lcssa = $13;
-      break;
-     } else {
-      $$03039 = $13;
-     }
-    }
-   }
-   $17 = Math_imul($2, 16843009)|0;
-   $18 = HEAP32[$$030$lcssa>>2]|0;
-   $19 = (($18) + -16843009)|0;
-   $20 = $18 & -2139062144;
-   $21 = $20 ^ -2139062144;
-   $22 = $21 & $19;
-   $23 = ($22|0)==(0);
-   L10: do {
-    if ($23) {
-     $$02936 = $$030$lcssa;$25 = $18;
-     while(1) {
-      $24 = $25 ^ $17;
-      $26 = (($24) + -16843009)|0;
-      $27 = $24 & -2139062144;
-      $28 = $27 ^ -2139062144;
-      $29 = $28 & $26;
-      $30 = ($29|0)==(0);
-      if (!($30)) {
-       $$029$lcssa = $$02936;
-       break L10;
-      }
-      $31 = ((($$02936)) + 4|0);
-      $32 = HEAP32[$31>>2]|0;
-      $33 = (($32) + -16843009)|0;
-      $34 = $32 & -2139062144;
-      $35 = $34 ^ -2139062144;
-      $36 = $35 & $33;
-      $37 = ($36|0)==(0);
-      if ($37) {
-       $$02936 = $31;$25 = $32;
-      } else {
-       $$029$lcssa = $31;
-       break;
-      }
-     }
-    } else {
-     $$029$lcssa = $$030$lcssa;
-    }
-   } while(0);
-   $38 = $1&255;
-   $$1 = $$029$lcssa;
-   while(1) {
-    $39 = HEAP8[$$1>>0]|0;
-    $40 = ($39<<24>>24)==(0);
-    $41 = ($39<<24>>24)==($38<<24>>24);
-    $or$cond33 = $40 | $41;
-    $42 = ((($$1)) + 1|0);
-    if ($or$cond33) {
-     $$0 = $$1;
-     break;
-    } else {
-     $$1 = $42;
-    }
-   }
-  }
- } while(0);
- return ($$0|0);
-}
-function _snprintf($0,$1,$2,$varargs) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $varargs = $varargs|0;
- var $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $3 = sp;
- HEAP32[$3>>2] = $varargs;
- $4 = (_vsnprintf($0,$1,$2,$3)|0);
- STACKTOP = sp;return ($4|0);
-}
-function _fmodf($0,$1) {
- $0 = +$0;
- $1 = +$1;
- var $$ = 0.0, $$0 = 0, $$068101 = 0, $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$1$lcssa = 0, $$16995 = 0, $$172$ph = 0, $$174 = 0, $$187 = 0, $$2 = 0, $$275$lcssa = 0, $$27586 = 0, $$3$lcssa = 0, $$3$ph = 0, $$376$lcssa = 0, $$37683 = 0;
- var $$384 = 0, $$4 = 0, $$lcssa = 0, $$lcssa79 = 0, $$sroa$0$0$ph = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0.0, $21 = 0, $22 = 0, $23 = 0;
- var $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
- var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0.0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0.0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
- var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (HEAPF32[tempDoublePtr>>2]=$0,HEAP32[tempDoublePtr>>2]|0);
- $3 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0);
- $4 = $2 >>> 23;
- $5 = $4 & 255;
- $6 = $3 >>> 23;
- $7 = $6 & 255;
- $8 = $2 & -2147483648;
- $9 = $3 << 1;
- $10 = ($9|0)==(0);
- L1: do {
-  if ($10) {
-   label = 3;
-  } else {
-   $11 = (___FLOAT_BITS_273($1)|0);
-   $12 = $11 & 2147483647;
-   $13 = ($12>>>0)>(2139095040);
-   $14 = ($5|0)==(255);
-   $or$cond = $14 | $13;
-   if ($or$cond) {
-    label = 3;
-   } else {
-    $17 = $2 << 1;
-    $18 = ($17>>>0)>($9>>>0);
-    if (!($18)) {
-     $19 = ($17|0)==($9|0);
-     $20 = $0 * 0.0;
-     $$ = $19 ? $20 : $0;
-     return (+$$);
-    }
-    $21 = ($5|0)==(0);
-    if ($21) {
-     $22 = $2 << 9;
-     $23 = ($22|0)>(-1);
-     if ($23) {
-      $$068101 = $22;$$073100 = 0;
-      while(1) {
-       $24 = (($$073100) + -1)|0;
-       $25 = $$068101 << 1;
-       $26 = ($25|0)>(-1);
-       if ($26) {
-        $$068101 = $25;$$073100 = $24;
-       } else {
-        $$073$lcssa = $24;
-        break;
-       }
-      }
-     } else {
-      $$073$lcssa = 0;
-     }
-     $27 = (1 - ($$073$lcssa))|0;
-     $28 = $2 << $27;
-     $$0 = $28;$$174 = $$073$lcssa;
-    } else {
-     $29 = $2 & 8388607;
-     $30 = $29 | 8388608;
-     $$0 = $30;$$174 = $5;
-    }
-    $31 = ($7|0)==(0);
-    if ($31) {
-     $32 = $3 << 9;
-     $33 = ($32|0)>(-1);
-     if ($33) {
-      $$07194 = 0;$$16995 = $32;
-      while(1) {
-       $34 = (($$07194) + -1)|0;
-       $35 = $$16995 << 1;
-       $36 = ($35|0)>(-1);
-       if ($36) {
-        $$07194 = $34;$$16995 = $35;
-       } else {
-        $$071$lcssa = $34;
-        break;
-       }
-      }
-     } else {
-      $$071$lcssa = 0;
-     }
-     $37 = (1 - ($$071$lcssa))|0;
-     $38 = $3 << $37;
-     $$172$ph = $$071$lcssa;$$sroa$0$0$ph = $38;
-    } else {
-     $39 = $3 & 8388607;
-     $40 = $39 | 8388608;
-     $$172$ph = $7;$$sroa$0$0$ph = $40;
-    }
-    $41 = ($$174|0)>($$172$ph|0);
-    $42 = (($$0) - ($$sroa$0$0$ph))|0;
-    $43 = ($42|0)>(-1);
-    L23: do {
-     if ($41) {
-      $$187 = $$0;$$27586 = $$174;$45 = $42;$66 = $43;
-      while(1) {
-       if ($66) {
-        $44 = ($45|0)==(0);
-        if ($44) {
-         break;
-        } else {
-         $$2 = $45;
-        }
-       } else {
-        $$2 = $$187;
-       }
-       $47 = $$2 << 1;
-       $48 = (($$27586) + -1)|0;
-       $49 = ($48|0)>($$172$ph|0);
-       $50 = (($47) - ($$sroa$0$0$ph))|0;
-       $51 = ($50|0)>(-1);
-       if ($49) {
-        $$187 = $47;$$27586 = $48;$45 = $50;$66 = $51;
-       } else {
-        $$1$lcssa = $47;$$275$lcssa = $48;$$lcssa = $51;$$lcssa79 = $50;
-        break L23;
-       }
-      }
-      $46 = $0 * 0.0;
-      $$070 = $46;
-      break L1;
-     } else {
-      $$1$lcssa = $$0;$$275$lcssa = $$174;$$lcssa = $43;$$lcssa79 = $42;
-     }
-    } while(0);
-    if ($$lcssa) {
-     $52 = ($$lcssa79|0)==(0);
-     if ($52) {
-      $54 = $0 * 0.0;
-      $$070 = $54;
-      break;
-     } else {
-      $$3$ph = $$lcssa79;
-     }
-    } else {
-     $$3$ph = $$1$lcssa;
-    }
-    $53 = ($$3$ph>>>0)<(8388608);
-    if ($53) {
-     $$37683 = $$275$lcssa;$$384 = $$3$ph;
-     while(1) {
-      $55 = $$384 << 1;
-      $56 = (($$37683) + -1)|0;
-      $57 = ($55>>>0)<(8388608);
-      if ($57) {
-       $$37683 = $56;$$384 = $55;
-      } else {
-       $$3$lcssa = $55;$$376$lcssa = $56;
-       break;
-      }
-     }
-    } else {
-     $$3$lcssa = $$3$ph;$$376$lcssa = $$275$lcssa;
-    }
-    $58 = ($$376$lcssa|0)>(0);
-    if ($58) {
-     $59 = (($$3$lcssa) + -8388608)|0;
-     $60 = $$376$lcssa << 23;
-     $61 = $59 | $60;
-     $$4 = $61;
-    } else {
-     $62 = (1 - ($$376$lcssa))|0;
-     $63 = $$3$lcssa >>> $62;
-     $$4 = $63;
-    }
-    $64 = $$4 | $8;
-    $65 = (HEAP32[tempDoublePtr>>2]=$64,+HEAPF32[tempDoublePtr>>2]);
-    $$070 = $65;
-   }
-  }
- } while(0);
- if ((label|0) == 3) {
-  $15 = $0 * $1;
-  $16 = $15 / $15;
-  $$070 = $16;
- }
- return (+$$070);
-}
-function ___FLOAT_BITS_273($0) {
- $0 = +$0;
- var $1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = (HEAPF32[tempDoublePtr>>2]=$0,HEAP32[tempDoublePtr>>2]|0);
- return ($1|0);
-}
-function ___fpclassify($0) {
- $0 = +$0;
- var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $trunc$clear = 0, label = 0, sp = 0;
- sp = STACKTOP;
- HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
- $2 = HEAP32[tempDoublePtr+4>>2]|0;
- $3 = (_bitshift64Lshr(($1|0),($2|0),52)|0);
- $4 = tempRet0;
- $5 = $3&65535;
- $trunc$clear = $5 & 2047;
- switch ($trunc$clear<<16>>16) {
- case 0:  {
-  $6 = $2 & 2147483647;
-  $7 = ($1|0)!=(0);
-  $8 = ($6|0)!=(0);
-  $9 = $7 | $8;
-  $10 = $9 ? 3 : 2;
-  $$0 = $10;
-  break;
- }
- case 2047:  {
-  $11 = $2 & 1048575;
-  $12 = ($1|0)==(0);
-  $13 = ($11|0)==(0);
-  $14 = $12 & $13;
-  $15 = $14&1;
-  $$0 = $15;
-  break;
- }
- default: {
-  $$0 = 4;
- }
- }
- return ($$0|0);
-}
-function ___fpclassifyl($0) {
- $0 = +$0;
- var $1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = (___fpclassify($0)|0);
- return ($1|0);
-}
-function ___signbit($0) {
- $0 = +$0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0;
- $2 = HEAP32[tempDoublePtr+4>>2]|0;
- $3 = (_bitshift64Lshr(($1|0),($2|0),63)|0);
- $4 = tempRet0;
- return ($3|0);
-}
-function ___signbitl($0) {
- $0 = +$0;
- var $1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = (___signbit($0)|0);
- return ($1|0);
-}
-function _fputs($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, $not$ = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (_strlen($0)|0);
- $3 = (_fwrite($0,1,$2,$1)|0);
- $not$ = ($3|0)!=($2|0);
- $4 = $not$ << 31 >> 31;
- return ($4|0);
-}
-function _fwrite($0,$1,$2,$3) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- $3 = $3|0;
- var $$ = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $4 = Math_imul($2, $1)|0;
- $5 = ($1|0)==(0);
- $$ = $5 ? 0 : $2;
- $6 = ((($3)) + 76|0);
- $7 = HEAP32[$6>>2]|0;
- $8 = ($7|0)>(-1);
- if ($8) {
-  $10 = (___lockfile($3)|0);
-  $phitmp = ($10|0)==(0);
-  $11 = (___fwritex($0,$4,$3)|0);
-  if ($phitmp) {
-   $13 = $11;
-  } else {
-   ___unlockfile($3);
-   $13 = $11;
-  }
- } else {
-  $9 = (___fwritex($0,$4,$3)|0);
-  $13 = $9;
- }
- $12 = ($13|0)==($4|0);
- if ($12) {
-  $15 = $$;
- } else {
-  $14 = (($13>>>0) / ($1>>>0))&-1;
-  $15 = $14;
- }
- return ($15|0);
-}
-function _putc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0;
- var $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = ((($1)) + 76|0);
- $3 = HEAP32[$2>>2]|0;
- $4 = ($3|0)<(0);
- $5 = $0&255;
- $6 = $0 & 255;
- if ($4) {
-  label = 3;
- } else {
-  $7 = (___lockfile($1)|0);
-  $8 = ($7|0)==(0);
-  if ($8) {
-   label = 3;
-  } else {
-   $20 = ((($1)) + 75|0);
-   $21 = HEAP8[$20>>0]|0;
-   $22 = $21 << 24 >> 24;
-   $23 = ($6|0)==($22|0);
-   if ($23) {
-    label = 10;
-   } else {
-    $24 = ((($1)) + 20|0);
-    $25 = HEAP32[$24>>2]|0;
-    $26 = ((($1)) + 16|0);
-    $27 = HEAP32[$26>>2]|0;
-    $28 = ($25>>>0)<($27>>>0);
-    if ($28) {
-     $29 = ((($25)) + 1|0);
-     HEAP32[$24>>2] = $29;
-     HEAP8[$25>>0] = $5;
-     $31 = $6;
-    } else {
-     label = 10;
-    }
-   }
-   if ((label|0) == 10) {
-    $30 = (___overflow($1,$0)|0);
-    $31 = $30;
-   }
-   ___unlockfile($1);
-   $$0 = $31;
-  }
- }
- do {
-  if ((label|0) == 3) {
-   $9 = ((($1)) + 75|0);
-   $10 = HEAP8[$9>>0]|0;
-   $11 = $10 << 24 >> 24;
-   $12 = ($6|0)==($11|0);
-   if (!($12)) {
-    $13 = ((($1)) + 20|0);
-    $14 = HEAP32[$13>>2]|0;
-    $15 = ((($1)) + 16|0);
-    $16 = HEAP32[$15>>2]|0;
-    $17 = ($14>>>0)<($16>>>0);
-    if ($17) {
-     $18 = ((($14)) + 1|0);
-     HEAP32[$13>>2] = $18;
-     HEAP8[$14>>0] = $5;
-     $$0 = $6;
-     break;
-    }
-   }
-   $19 = (___overflow($1,$0)|0);
-   $$0 = $19;
-  }
- } while(0);
- return ($$0|0);
-}
-function ___unlist_locked_file($0) {
- $0 = $0|0;
- var $$pre = 0, $$sink = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ((($0)) + 68|0);
- $2 = HEAP32[$1>>2]|0;
- $3 = ($2|0)==(0);
- if (!($3)) {
-  $4 = ((($0)) + 116|0);
-  $5 = HEAP32[$4>>2]|0;
-  $6 = ($5|0)==(0|0);
-  $$pre = ((($0)) + 112|0);
-  if (!($6)) {
-   $7 = HEAP32[$$pre>>2]|0;
-   $8 = ((($5)) + 112|0);
-   HEAP32[$8>>2] = $7;
-  }
-  $9 = HEAP32[$$pre>>2]|0;
-  $10 = ($9|0)==(0|0);
-  if ($10) {
-   $12 = (___pthread_self_607()|0);
-   $13 = ((($12)) + 232|0);
-   $$sink = $13;
-  } else {
-   $11 = ((($9)) + 116|0);
-   $$sink = $11;
-  }
-  HEAP32[$$sink>>2] = $5;
- }
- return;
-}
-function ___pthread_self_607() {
- var $0 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $0 = (_pthread_self()|0);
- return ($0|0);
-}
-function ___overflow($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$0 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = sp;
- $3 = $1&255;
- HEAP8[$2>>0] = $3;
- $4 = ((($0)) + 16|0);
- $5 = HEAP32[$4>>2]|0;
- $6 = ($5|0)==(0|0);
- if ($6) {
-  $7 = (___towrite($0)|0);
-  $8 = ($7|0)==(0);
-  if ($8) {
-   $$pre = HEAP32[$4>>2]|0;
-   $12 = $$pre;
-   label = 4;
-  } else {
-   $$0 = -1;
-  }
- } else {
-  $12 = $5;
-  label = 4;
- }
- do {
-  if ((label|0) == 4) {
-   $9 = ((($0)) + 20|0);
-   $10 = HEAP32[$9>>2]|0;
-   $11 = ($10>>>0)<($12>>>0);
-   if ($11) {
-    $13 = $1 & 255;
-    $14 = ((($0)) + 75|0);
-    $15 = HEAP8[$14>>0]|0;
-    $16 = $15 << 24 >> 24;
-    $17 = ($13|0)==($16|0);
-    if (!($17)) {
-     $18 = ((($10)) + 1|0);
-     HEAP32[$9>>2] = $18;
-     HEAP8[$10>>0] = $3;
-     $$0 = $13;
-     break;
-    }
-   }
-   $19 = ((($0)) + 36|0);
-   $20 = HEAP32[$19>>2]|0;
-   $21 = (FUNCTION_TABLE_iiii[$20 & 511]($0,$2,1)|0);
-   $22 = ($21|0)==(1);
-   if ($22) {
-    $23 = HEAP8[$2>>0]|0;
-    $24 = $23&255;
-    $$0 = $24;
-   } else {
-    $$0 = -1;
-   }
-  }
- } while(0);
- STACKTOP = sp;return ($$0|0);
-}
-function _fopen($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer3 = 0, $vararg_buffer8 = 0, $vararg_ptr1 = 0;
- var $vararg_ptr2 = 0, $vararg_ptr6 = 0, $vararg_ptr7 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0);
- $vararg_buffer8 = sp + 32|0;
- $vararg_buffer3 = sp + 16|0;
- $vararg_buffer = sp;
- $2 = HEAP8[$1>>0]|0;
- $3 = $2 << 24 >> 24;
- $memchr = (_memchr(72690,$3,4)|0);
- $4 = ($memchr|0)==(0|0);
- if ($4) {
-  $5 = (___errno_location()|0);
-  HEAP32[$5>>2] = 22;
-  $$0 = 0;
- } else {
-  $6 = (___fmodeflags($1)|0);
-  $7 = $0;
-  $8 = $6 | 32768;
-  HEAP32[$vararg_buffer>>2] = $7;
-  $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
-  HEAP32[$vararg_ptr1>>2] = $8;
-  $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
-  HEAP32[$vararg_ptr2>>2] = 438;
-  $9 = (___syscall5(5,($vararg_buffer|0))|0);
-  $10 = (___syscall_ret($9)|0);
-  $11 = ($10|0)<(0);
-  if ($11) {
-   $$0 = 0;
-  } else {
-   $12 = $6 & 524288;
-   $13 = ($12|0)==(0);
-   if (!($13)) {
-    HEAP32[$vararg_buffer3>>2] = $10;
-    $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
-    HEAP32[$vararg_ptr6>>2] = 2;
-    $vararg_ptr7 = ((($vararg_buffer3)) + 8|0);
-    HEAP32[$vararg_ptr7>>2] = 1;
-    (___syscall221(221,($vararg_buffer3|0))|0);
-   }
-   $14 = (___fdopen($10,$1)|0);
-   $15 = ($14|0)==(0|0);
-   if ($15) {
-    HEAP32[$vararg_buffer8>>2] = $10;
-    (___syscall6(6,($vararg_buffer8|0))|0);
-    $$0 = 0;
-   } else {
-    $$0 = $14;
-   }
-  }
- }
- STACKTOP = sp;return ($$0|0);
-}
-function ___fmodeflags($0) {
- $0 = $0|0;
- var $$ = 0, $$$4 = 0, $$0 = 0, $$0$ = 0, $$2 = 0, $$2$ = 0, $$4 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0;
- var $8 = 0, $9 = 0, $not$ = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = (_strchr($0,43)|0);
- $2 = ($1|0)==(0|0);
- $3 = HEAP8[$0>>0]|0;
- $not$ = ($3<<24>>24)!=(114);
- $$ = $not$&1;
- $$0 = $2 ? $$ : 2;
- $4 = (_strchr($0,120)|0);
- $5 = ($4|0)==(0|0);
- $6 = $$0 | 128;
- $$0$ = $5 ? $$0 : $6;
- $7 = (_strchr($0,101)|0);
- $8 = ($7|0)==(0|0);
- $9 = $$0$ | 524288;
- $$2 = $8 ? $$0$ : $9;
- $10 = ($3<<24>>24)==(114);
- $11 = $$2 | 64;
- $$2$ = $10 ? $$2 : $11;
- $12 = ($3<<24>>24)==(119);
- $13 = $$2$ | 512;
- $$4 = $12 ? $13 : $$2$;
- $14 = ($3<<24>>24)==(97);
- $15 = $$4 | 1024;
- $$$4 = $14 ? $15 : $$4;
- return ($$$4|0);
-}
-function ___fdopen($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$0 = 0, $$pre = 0, $$pre31 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0;
- var $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $5 = 0, $6 = 0;
- var $7 = 0, $8 = 0, $9 = 0, $memchr = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, $vararg_ptr1 = 0, $vararg_ptr10 = 0, $vararg_ptr11 = 0, $vararg_ptr15 = 0, $vararg_ptr16 = 0, $vararg_ptr2 = 0, $vararg_ptr6 = 0, dest = 0, label = 0, sp = 0, stop = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0);
- $vararg_buffer12 = sp + 40|0;
- $vararg_buffer7 = sp + 24|0;
- $vararg_buffer3 = sp + 16|0;
- $vararg_buffer = sp;
- $2 = sp + 56|0;
- $3 = HEAP8[$1>>0]|0;
- $4 = $3 << 24 >> 24;
- $memchr = (_memchr(72690,$4,4)|0);
- $5 = ($memchr|0)==(0|0);
- if ($5) {
-  $6 = (___errno_location()|0);
-  HEAP32[$6>>2] = 22;
-  $$0 = 0;
- } else {
-  $7 = (_malloc(1156)|0);
-  $8 = ($7|0)==(0|0);
-  if ($8) {
-   $$0 = 0;
-  } else {
-   dest=$7; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
-   $9 = (_strchr($1,43)|0);
-   $10 = ($9|0)==(0|0);
-   if ($10) {
-    $11 = ($3<<24>>24)==(114);
-    $12 = $11 ? 8 : 4;
-    HEAP32[$7>>2] = $12;
-   }
-   $13 = (_strchr($1,101)|0);
-   $14 = ($13|0)==(0|0);
-   if ($14) {
-    $16 = $3;
-   } else {
-    HEAP32[$vararg_buffer>>2] = $0;
-    $vararg_ptr1 = ((($vararg_buffer)) + 4|0);
-    HEAP32[$vararg_ptr1>>2] = 2;
-    $vararg_ptr2 = ((($vararg_buffer)) + 8|0);
-    HEAP32[$vararg_ptr2>>2] = 1;
-    (___syscall221(221,($vararg_buffer|0))|0);
-    $$pre = HEAP8[$1>>0]|0;
-    $16 = $$pre;
-   }
-   $15 = ($16<<24>>24)==(97);
-   if ($15) {
-    HEAP32[$vararg_buffer3>>2] = $0;
-    $vararg_ptr6 = ((($vararg_buffer3)) + 4|0);
-    HEAP32[$vararg_ptr6>>2] = 3;
-    $17 = (___syscall221(221,($vararg_buffer3|0))|0);
-    $18 = $17 & 1024;
-    $19 = ($18|0)==(0);
-    if ($19) {
-     $20 = $17 | 1024;
-     HEAP32[$vararg_buffer7>>2] = $0;
-     $vararg_ptr10 = ((($vararg_buffer7)) + 4|0);
-     HEAP32[$vararg_ptr10>>2] = 4;
-     $vararg_ptr11 = ((($vararg_buffer7)) + 8|0);
-     HEAP32[$vararg_ptr11>>2] = $20;
-     (___syscall221(221,($vararg_buffer7|0))|0);
-    }
-    $21 = HEAP32[$7>>2]|0;
-    $22 = $21 | 128;
-    HEAP32[$7>>2] = $22;
-    $29 = $22;
-   } else {
-    $$pre31 = HEAP32[$7>>2]|0;
-    $29 = $$pre31;
-   }
-   $23 = ((($7)) + 60|0);
-   HEAP32[$23>>2] = $0;
-   $24 = ((($7)) + 132|0);
-   $25 = ((($7)) + 44|0);
-   HEAP32[$25>>2] = $24;
-   $26 = ((($7)) + 48|0);
-   HEAP32[$26>>2] = 1024;
-   $27 = ((($7)) + 75|0);
-   HEAP8[$27>>0] = -1;
-   $28 = $29 & 8;
-   $30 = ($28|0)==(0);
-   if ($30) {
-    $31 = $2;
-    HEAP32[$vararg_buffer12>>2] = $0;
-    $vararg_ptr15 = ((($vararg_buffer12)) + 4|0);
-    HEAP32[$vararg_ptr15>>2] = 21523;
-    $vararg_ptr16 = ((($vararg_buffer12)) + 8|0);
-    HEAP32[$vararg_ptr16>>2] = $31;
-    $32 = (___syscall54(54,($vararg_buffer12|0))|0);
-    $33 = ($32|0)==(0);
-    if ($33) {
-     HEAP8[$27>>0] = 10;
-    }
-   }
-   $34 = ((($7)) + 32|0);
-   HEAP32[$34>>2] = 4;
-   $35 = ((($7)) + 36|0);
-   HEAP32[$35>>2] = 2;
-   $36 = ((($7)) + 40|0);
-   HEAP32[$36>>2] = 3;
-   $37 = ((($7)) + 12|0);
-   HEAP32[$37>>2] = 1;
-   $38 = HEAP32[(75196)>>2]|0;
-   $39 = ($38|0)==(0);
-   if ($39) {
-    $40 = ((($7)) + 76|0);
-    HEAP32[$40>>2] = -1;
-   }
-   $41 = (___ofl_add($7)|0);
-   $$0 = $7;
-  }
- }
- STACKTOP = sp;return ($$0|0);
-}
-function ___ofl_add($0) {
- $0 = $0|0;
- var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = (___ofl_lock()|0);
- $2 = HEAP32[$1>>2]|0;
- $3 = ((($0)) + 56|0);
- HEAP32[$3>>2] = $2;
- $4 = HEAP32[$1>>2]|0;
- $5 = ($4|0)==(0|0);
- if (!($5)) {
-  $6 = ((($4)) + 52|0);
-  HEAP32[$6>>2] = $0;
- }
- HEAP32[$1>>2] = $0;
- ___ofl_unlock();
- return ($0|0);
-}
-function ___ofl_lock() {
- var label = 0, sp = 0;
- sp = STACKTOP;
- ___lock((75256|0));
- return (75264|0);
-}
-function ___ofl_unlock() {
- var label = 0, sp = 0;
- sp = STACKTOP;
- ___unlock((75256|0));
- return;
-}
-function _fclose($0) {
- $0 = $0|0;
- var $$pre = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ((($0)) + 76|0);
- $2 = HEAP32[$1>>2]|0;
- $3 = ($2|0)>(-1);
- if ($3) {
-  $4 = (___lockfile($0)|0);
-  $29 = $4;
- } else {
-  $29 = 0;
- }
- ___unlist_locked_file($0);
- $5 = HEAP32[$0>>2]|0;
- $6 = $5 & 1;
- $7 = ($6|0)!=(0);
- if (!($7)) {
-  $8 = (___ofl_lock()|0);
-  $9 = ((($0)) + 52|0);
-  $10 = HEAP32[$9>>2]|0;
-  $11 = ($10|0)==(0|0);
-  $12 = $10;
-  $$pre = ((($0)) + 56|0);
-  if (!($11)) {
-   $13 = HEAP32[$$pre>>2]|0;
-   $14 = ((($10)) + 56|0);
-   HEAP32[$14>>2] = $13;
-  }
-  $15 = HEAP32[$$pre>>2]|0;
-  $16 = ($15|0)==(0|0);
-  if (!($16)) {
-   $17 = ((($15)) + 52|0);
-   HEAP32[$17>>2] = $12;
-  }
-  $18 = HEAP32[$8>>2]|0;
-  $19 = ($18|0)==($0|0);
-  if ($19) {
-   HEAP32[$8>>2] = $15;
-  }
-  ___ofl_unlock();
- }
- $20 = (_fflush($0)|0);
- $21 = ((($0)) + 12|0);
- $22 = HEAP32[$21>>2]|0;
- $23 = (FUNCTION_TABLE_ii[$22 & 255]($0)|0);
- $24 = $23 | $20;
- $25 = ((($0)) + 92|0);
- $26 = HEAP32[$25>>2]|0;
- $27 = ($26|0)==(0|0);
- if (!($27)) {
-  _free($26);
- }
- if ($7) {
-  $28 = ($29|0)==(0);
-  if (!($28)) {
-   ___unlockfile($0);
-  }
- } else {
-  _free($0);
- }
- return ($24|0);
-}
-function _fflush($0) {
- $0 = $0|0;
- var $$0 = 0, $$023 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0;
- var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ($0|0)==(0|0);
- do {
-  if ($1) {
-   $8 = HEAP32[794]|0;
-   $9 = ($8|0)==(0|0);
-   if ($9) {
-    $29 = 0;
-   } else {
-    $10 = HEAP32[794]|0;
-    $11 = (_fflush($10)|0);
-    $29 = $11;
-   }
-   $12 = (___ofl_lock()|0);
-   $$02325 = HEAP32[$12>>2]|0;
-   $13 = ($$02325|0)==(0|0);
-   if ($13) {
-    $$024$lcssa = $29;
-   } else {
-    $$02327 = $$02325;$$02426 = $29;
-    while(1) {
-     $14 = ((($$02327)) + 76|0);
-     $15 = HEAP32[$14>>2]|0;
-     $16 = ($15|0)>(-1);
-     if ($16) {
-      $17 = (___lockfile($$02327)|0);
-      $26 = $17;
-     } else {
-      $26 = 0;
-     }
-     $18 = ((($$02327)) + 20|0);
-     $19 = HEAP32[$18>>2]|0;
-     $20 = ((($$02327)) + 28|0);
-     $21 = HEAP32[$20>>2]|0;
-     $22 = ($19>>>0)>($21>>>0);
-     if ($22) {
-      $23 = (___fflush_unlocked($$02327)|0);
-      $24 = $23 | $$02426;
-      $$1 = $24;
-     } else {
-      $$1 = $$02426;
-     }
-     $25 = ($26|0)==(0);
-     if (!($25)) {
-      ___unlockfile($$02327);
-     }
-     $27 = ((($$02327)) + 56|0);
-     $$023 = HEAP32[$27>>2]|0;
-     $28 = ($$023|0)==(0|0);
-     if ($28) {
-      $$024$lcssa = $$1;
-      break;
-     } else {
-      $$02327 = $$023;$$02426 = $$1;
-     }
-    }
-   }
-   ___ofl_unlock();
-   $$0 = $$024$lcssa;
-  } else {
-   $2 = ((($0)) + 76|0);
-   $3 = HEAP32[$2>>2]|0;
-   $4 = ($3|0)>(-1);
-   if (!($4)) {
-    $5 = (___fflush_unlocked($0)|0);
-    $$0 = $5;
-    break;
-   }
-   $6 = (___lockfile($0)|0);
-   $phitmp = ($6|0)==(0);
-   $7 = (___fflush_unlocked($0)|0);
-   if ($phitmp) {
-    $$0 = $7;
-   } else {
-    ___unlockfile($0);
-    $$0 = $7;
-   }
-  }
- } while(0);
- return ($$0|0);
-}
-function ___fflush_unlocked($0) {
- $0 = $0|0;
- var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0;
- var $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ((($0)) + 20|0);
- $2 = HEAP32[$1>>2]|0;
- $3 = ((($0)) + 28|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = ($2>>>0)>($4>>>0);
- if ($5) {
-  $6 = ((($0)) + 36|0);
-  $7 = HEAP32[$6>>2]|0;
-  (FUNCTION_TABLE_iiii[$7 & 511]($0,0,0)|0);
-  $8 = HEAP32[$1>>2]|0;
-  $9 = ($8|0)==(0|0);
-  if ($9) {
-   $$0 = -1;
-  } else {
-   label = 3;
-  }
- } else {
-  label = 3;
- }
- if ((label|0) == 3) {
-  $10 = ((($0)) + 4|0);
-  $11 = HEAP32[$10>>2]|0;
-  $12 = ((($0)) + 8|0);
-  $13 = HEAP32[$12>>2]|0;
-  $14 = ($11>>>0)<($13>>>0);
-  if ($14) {
-   $15 = $11;
-   $16 = $13;
-   $17 = (($15) - ($16))|0;
-   $18 = ((($0)) + 40|0);
-   $19 = HEAP32[$18>>2]|0;
-   (FUNCTION_TABLE_iiii[$19 & 511]($0,$17,1)|0);
-  }
-  $20 = ((($0)) + 16|0);
-  HEAP32[$20>>2] = 0;
-  HEAP32[$3>>2] = 0;
-  HEAP32[$1>>2] = 0;
-  HEAP32[$12>>2] = 0;
-  HEAP32[$10>>2] = 0;
-  $$0 = 0;
- }
- return ($$0|0);
-}
-function _feof($0) {
- $0 = $0|0;
- var $$lobit = 0, $$lobit8 = 0, $$lobit9 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $phitmp = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ((($0)) + 76|0);
- $2 = HEAP32[$1>>2]|0;
- $3 = ($2|0)>(-1);
- if ($3) {
-  $6 = (___lockfile($0)|0);
-  $phitmp = ($6|0)==(0);
-  $7 = HEAP32[$0>>2]|0;
-  $8 = $7 >>> 4;
-  $$lobit = $8 & 1;
-  if ($phitmp) {
-   $$lobit9 = $$lobit;
-  } else {
-   ___unlockfile($0);
-   $$lobit9 = $$lobit;
-  }
- } else {
-  $4 = HEAP32[$0>>2]|0;
-  $5 = $4 >>> 4;
-  $$lobit8 = $5 & 1;
-  $$lobit9 = $$lobit8;
- }
- return ($$lobit9|0);
-}
-function _fprintf($0,$1,$varargs) {
- $0 = $0|0;
- $1 = $1|0;
- $varargs = $varargs|0;
- var $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $2 = sp;
- HEAP32[$2>>2] = $varargs;
- $3 = (_vfprintf($0,$1,$2)|0);
- STACKTOP = sp;return ($3|0);
-}
-function _strrchr($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (_strlen($0)|0);
- $3 = (($2) + 1)|0;
- $4 = (___memrchr($0,$1,$3)|0);
- return ($4|0);
-}
-function ___memrchr($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $$0 = 0, $$09 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $3 = $1&255;
- $$09 = $2;
- while(1) {
-  $4 = (($$09) + -1)|0;
-  $5 = ($$09|0)==(0);
-  if ($5) {
-   $$0 = 0;
-   break;
-  }
-  $6 = (($0) + ($4)|0);
-  $7 = HEAP8[$6>>0]|0;
-  $8 = ($7<<24>>24)==($3<<24>>24);
-  if ($8) {
-   $$0 = $6;
-   break;
-  } else {
-   $$09 = $4;
-  }
- }
- return ($$0|0);
-}
-function _fgetc($0) {
- $0 = $0|0;
- var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0;
- var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ((($0)) + 76|0);
- $2 = HEAP32[$1>>2]|0;
- $3 = ($2|0)<(0);
- if ($3) {
-  label = 3;
- } else {
-  $4 = (___lockfile($0)|0);
-  $5 = ($4|0)==(0);
-  if ($5) {
-   label = 3;
-  } else {
-   $15 = ((($0)) + 4|0);
-   $16 = HEAP32[$15>>2]|0;
-   $17 = ((($0)) + 8|0);
-   $18 = HEAP32[$17>>2]|0;
-   $19 = ($16>>>0)<($18>>>0);
-   if ($19) {
-    $20 = ((($16)) + 1|0);
-    HEAP32[$15>>2] = $20;
-    $21 = HEAP8[$16>>0]|0;
-    $22 = $21&255;
-    $24 = $22;
-   } else {
-    $23 = (___uflow($0)|0);
-    $24 = $23;
-   }
-   ___unlockfile($0);
-   $$0 = $24;
-  }
- }
- do {
-  if ((label|0) == 3) {
-   $6 = ((($0)) + 4|0);
-   $7 = HEAP32[$6>>2]|0;
-   $8 = ((($0)) + 8|0);
-   $9 = HEAP32[$8>>2]|0;
-   $10 = ($7>>>0)<($9>>>0);
-   if ($10) {
-    $11 = ((($7)) + 1|0);
-    HEAP32[$6>>2] = $11;
-    $12 = HEAP8[$7>>0]|0;
-    $13 = $12&255;
-    $$0 = $13;
-    break;
-   } else {
-    $14 = (___uflow($0)|0);
-    $$0 = $14;
-    break;
-   }
-  }
- } while(0);
- return ($$0|0);
-}
-function _printf($0,$varargs) {
- $0 = $0|0;
- $varargs = $varargs|0;
- var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- HEAP32[$1>>2] = $varargs;
- $2 = HEAP32[762]|0;
- $3 = (_vfprintf($2,$0,$1)|0);
- STACKTOP = sp;return ($3|0);
-}
-function _strtod($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (+_strtox($0,$1,1));
- return (+$2);
-}
-function _strtox($0,$1,$2) {
- $0 = $0|0;
- $1 = $1|0;
- $2 = $2|0;
- var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0.0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 128|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(128|0);
- $3 = sp;
- dest=$3; stop=dest+124|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0));
- $4 = ((($3)) + 4|0);
- HEAP32[$4>>2] = $0;
- $5 = ((($3)) + 8|0);
- HEAP32[$5>>2] = (-1);
- $6 = ((($3)) + 44|0);
- HEAP32[$6>>2] = $0;
- $7 = ((($3)) + 76|0);
- HEAP32[$7>>2] = -1;
- ___shlim($3,0);
- $8 = (+___floatscan($3,$2,1));
- $9 = ((($3)) + 108|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = HEAP32[$4>>2]|0;
- $12 = HEAP32[$5>>2]|0;
- $13 = (($11) - ($12))|0;
- $14 = (($13) + ($10))|0;
- $15 = ($1|0)==(0|0);
- if (!($15)) {
-  $16 = ($14|0)!=(0);
-  $17 = (($0) + ($14)|0);
-  $18 = $16 ? $17 : $0;
-  HEAP32[$1>>2] = $18;
- }
- STACKTOP = sp;return (+$8);
-}
-function _strtof($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $2 = 0.0, $3 = 0.0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (+_strtox($0,$1,0));
- $3 = $2;
- return (+$3);
-}
-function _malloc($0) {
- $0 = $0|0;
- var $$$0192$i = 0, $$$0193$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i18$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0197 = 0, $$0199 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0;
- var $$0212$i$i = 0, $$024371$i = 0, $$0287$i$i = 0, $$0288$i$i = 0, $$0289$i$i = 0, $$0295$i$i = 0, $$0296$i$i = 0, $$0342$i = 0, $$0344$i = 0, $$0345$i = 0, $$0347$i = 0, $$0353$i = 0, $$0358$i = 0, $$0359$$i = 0, $$0359$i = 0, $$0361$i = 0, $$0362$i = 0, $$0368$i = 0, $$1196$i = 0, $$1198$i = 0;
- var $$124470$i = 0, $$1291$i$i = 0, $$1293$i$i = 0, $$1343$i = 0, $$1348$i = 0, $$1363$i = 0, $$1370$i = 0, $$1374$i = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i201 = 0, $$3350$i = 0, $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0;
- var $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$723948$i = 0, $$749$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i19$i = 0, $$pre$i210 = 0, $$pre$i212 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i20$iZ2D = 0, $$pre$phi$i211Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0;
- var $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i204 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0, $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0;
- var $101 = 0, $1010 = 0, $1011 = 0, $1012 = 0, $1013 = 0, $1014 = 0, $1015 = 0, $1016 = 0, $1017 = 0, $1018 = 0, $1019 = 0, $102 = 0, $1020 = 0, $1021 = 0, $1022 = 0, $1023 = 0, $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0;
- var $1028 = 0, $1029 = 0, $103 = 0, $1030 = 0, $1031 = 0, $1032 = 0, $1033 = 0, $1034 = 0, $1035 = 0, $1036 = 0, $1037 = 0, $1038 = 0, $1039 = 0, $104 = 0, $1040 = 0, $1041 = 0, $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0;
- var $1046 = 0, $1047 = 0, $1048 = 0, $1049 = 0, $105 = 0, $1050 = 0, $1051 = 0, $1052 = 0, $1053 = 0, $1054 = 0, $1055 = 0, $1056 = 0, $1057 = 0, $1058 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
- var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
- var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
- var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
- var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0;
- var $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0;
- var $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0;
- var $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0;
- var $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0;
- var $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0;
- var $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0;
- var $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0;
- var $31 = 0, $310 = 0, $311 = 0, $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 0, $327 = 0;
- var $328 = 0, $329 = 0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $34 = 0, $340 = 0, $341 = 0, $342 = 0, $343 = 0, $344 = 0, $345 = 0;
- var $346 = 0, $347 = 0, $348 = 0, $349 = 0, $35 = 0, $350 = 0, $351 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $359 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $363 = 0;
- var $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $369 = 0, $37 = 0, $370 = 0, $371 = 0, $372 = 0, $373 = 0, $374 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $38 = 0, $380 = 0, $381 = 0;
- var $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $397 = 0, $398 = 0, $399 = 0, $4 = 0;
- var $40 = 0, $400 = 0, $401 = 0, $402 = 0, $403 = 0, $404 = 0, $405 = 0, $406 = 0, $407 = 0, $408 = 0, $409 = 0, $41 = 0, $410 = 0, $411 = 0, $412 = 0, $413 = 0, $414 = 0, $415 = 0, $416 = 0, $417 = 0;
- var $418 = 0, $419 = 0, $42 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $427 = 0, $428 = 0, $429 = 0, $43 = 0, $430 = 0, $431 = 0, $432 = 0, $433 = 0, $434 = 0, $435 = 0;
- var $436 = 0, $437 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $45 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0;
- var $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $46 = 0, $460 = 0, $461 = 0, $462 = 0, $463 = 0, $464 = 0, $465 = 0, $466 = 0, $467 = 0, $468 = 0, $469 = 0, $47 = 0, $470 = 0, $471 = 0;
- var $472 = 0, $473 = 0, $474 = 0, $475 = 0, $476 = 0, $477 = 0, $478 = 0, $479 = 0, $48 = 0, $480 = 0, $481 = 0, $482 = 0, $483 = 0, $484 = 0, $485 = 0, $486 = 0, $487 = 0, $488 = 0, $489 = 0, $49 = 0;
- var $490 = 0, $491 = 0, $492 = 0, $493 = 0, $494 = 0, $495 = 0, $496 = 0, $497 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $501 = 0, $502 = 0, $503 = 0, $504 = 0, $505 = 0, $506 = 0, $507 = 0;
- var $508 = 0, $509 = 0, $51 = 0, $510 = 0, $511 = 0, $512 = 0, $513 = 0, $514 = 0, $515 = 0, $516 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0;
- var $526 = 0, $527 = 0, $528 = 0, $529 = 0, $53 = 0, $530 = 0, $531 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $536 = 0, $537 = 0, $538 = 0, $539 = 0, $54 = 0, $540 = 0, $541 = 0, $542 = 0, $543 = 0;
- var $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $549 = 0, $55 = 0, $550 = 0, $551 = 0, $552 = 0, $553 = 0, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0;
- var $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0, $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0;
- var $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0, $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0;
- var $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0, $603 = 0, $604 = 0, $605 = 0, $606 = 0, $607 = 0, $608 = 0, $609 = 0, $61 = 0, $610 = 0, $611 = 0, $612 = 0, $613 = 0, $614 = 0, $615 = 0;
- var $616 = 0, $617 = 0, $618 = 0, $619 = 0, $62 = 0, $620 = 0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $630 = 0, $631 = 0, $632 = 0, $633 = 0;
- var $634 = 0, $635 = 0, $636 = 0, $637 = 0, $638 = 0, $639 = 0, $64 = 0, $640 = 0, $641 = 0, $642 = 0, $643 = 0, $644 = 0, $645 = 0, $646 = 0, $647 = 0, $648 = 0, $649 = 0, $65 = 0, $650 = 0, $651 = 0;
- var $652 = 0, $653 = 0, $654 = 0, $655 = 0, $656 = 0, $657 = 0, $658 = 0, $659 = 0, $66 = 0, $660 = 0, $661 = 0, $662 = 0, $663 = 0, $664 = 0, $665 = 0, $666 = 0, $667 = 0, $668 = 0, $669 = 0, $67 = 0;
- var $670 = 0, $671 = 0, $672 = 0, $673 = 0, $674 = 0, $675 = 0, $676 = 0, $677 = 0, $678 = 0, $679 = 0, $68 = 0, $680 = 0, $681 = 0, $682 = 0, $683 = 0, $684 = 0, $685 = 0, $686 = 0, $687 = 0, $688 = 0;
- var $689 = 0, $69 = 0, $690 = 0, $691 = 0, $692 = 0, $693 = 0, $694 = 0, $695 = 0, $696 = 0, $697 = 0, $698 = 0, $699 = 0, $7 = 0, $70 = 0, $700 = 0, $701 = 0, $702 = 0, $703 = 0, $704 = 0, $705 = 0;
- var $706 = 0, $707 = 0, $708 = 0, $709 = 0, $71 = 0, $710 = 0, $711 = 0, $712 = 0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $72 = 0, $720 = 0, $721 = 0, $722 = 0, $723 = 0;
- var $724 = 0, $725 = 0, $726 = 0, $727 = 0, $728 = 0, $729 = 0, $73 = 0, $730 = 0, $731 = 0, $732 = 0, $733 = 0, $734 = 0, $735 = 0, $736 = 0, $737 = 0, $738 = 0, $739 = 0, $74 = 0, $740 = 0, $741 = 0;
- var $742 = 0, $743 = 0, $744 = 0, $745 = 0, $746 = 0, $747 = 0, $748 = 0, $749 = 0, $75 = 0, $750 = 0, $751 = 0, $752 = 0, $753 = 0, $754 = 0, $755 = 0, $756 = 0, $757 = 0, $758 = 0, $759 = 0, $76 = 0;
- var $760 = 0, $761 = 0, $762 = 0, $763 = 0, $764 = 0, $765 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $77 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0;
- var $779 = 0, $78 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $787 = 0, $788 = 0, $789 = 0, $79 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0;
- var $797 = 0, $798 = 0, $799 = 0, $8 = 0, $80 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $806 = 0, $807 = 0, $808 = 0, $809 = 0, $81 = 0, $810 = 0, $811 = 0, $812 = 0, $813 = 0;
- var $814 = 0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $82 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $824 = 0, $825 = 0, $826 = 0, $827 = 0, $828 = 0, $829 = 0, $83 = 0, $830 = 0, $831 = 0;
- var $832 = 0, $833 = 0, $834 = 0, $835 = 0, $836 = 0, $837 = 0, $838 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $842 = 0, $843 = 0, $844 = 0, $845 = 0, $846 = 0, $847 = 0, $848 = 0, $849 = 0, $85 = 0;
- var $850 = 0, $851 = 0, $852 = 0, $853 = 0, $854 = 0, $855 = 0, $856 = 0, $857 = 0, $858 = 0, $859 = 0, $86 = 0, $860 = 0, $861 = 0, $862 = 0, $863 = 0, $864 = 0, $865 = 0, $866 = 0, $867 = 0, $868 = 0;
- var $869 = 0, $87 = 0, $870 = 0, $871 = 0, $872 = 0, $873 = 0, $874 = 0, $875 = 0, $876 = 0, $877 = 0, $878 = 0, $879 = 0, $88 = 0, $880 = 0, $881 = 0, $882 = 0, $883 = 0, $884 = 0, $885 = 0, $886 = 0;
- var $887 = 0, $888 = 0, $889 = 0, $89 = 0, $890 = 0, $891 = 0, $892 = 0, $893 = 0, $894 = 0, $895 = 0, $896 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $900 = 0, $901 = 0, $902 = 0, $903 = 0;
- var $904 = 0, $905 = 0, $906 = 0, $907 = 0, $908 = 0, $909 = 0, $91 = 0, $910 = 0, $911 = 0, $912 = 0, $913 = 0, $914 = 0, $915 = 0, $916 = 0, $917 = 0, $918 = 0, $919 = 0, $92 = 0, $920 = 0, $921 = 0;
- var $922 = 0, $923 = 0, $924 = 0, $925 = 0, $926 = 0, $927 = 0, $928 = 0, $929 = 0, $93 = 0, $930 = 0, $931 = 0, $932 = 0, $933 = 0, $934 = 0, $935 = 0, $936 = 0, $937 = 0, $938 = 0, $939 = 0, $94 = 0;
- var $940 = 0, $941 = 0, $942 = 0, $943 = 0, $944 = 0, $945 = 0, $946 = 0, $947 = 0, $948 = 0, $949 = 0, $95 = 0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0;
- var $959 = 0, $96 = 0, $960 = 0, $961 = 0, $962 = 0, $963 = 0, $964 = 0, $965 = 0, $966 = 0, $967 = 0, $968 = 0, $969 = 0, $97 = 0, $970 = 0, $971 = 0, $972 = 0, $973 = 0, $974 = 0, $975 = 0, $976 = 0;
- var $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0, $982 = 0, $983 = 0, $984 = 0, $985 = 0, $986 = 0, $987 = 0, $988 = 0, $989 = 0, $99 = 0, $990 = 0, $991 = 0, $992 = 0, $993 = 0, $994 = 0;
- var $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0, $cond$i$i = 0, $cond$i208 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i17$i = 0, $not$$i209 = 0, $not$$i216 = 0, $not$1$i = 0, $not$1$i203 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0;
- var $or$cond$i = 0, $or$cond$i214 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond11$not$i = 0, $or$cond12$i = 0, $or$cond2$i = 0, $or$cond2$i215 = 0, $or$cond5$i = 0, $or$cond50$i = 0, $or$cond51$i = 0, $or$cond7$i = 0, label = 0, sp = 0;
- sp = STACKTOP;
- STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0);
- $1 = sp;
- $2 = ($0>>>0)<(245);
- do {
-  if ($2) {
-   $3 = ($0>>>0)<(11);
-   $4 = (($0) + 11)|0;
-   $5 = $4 & -8;
-   $6 = $3 ? 16 : $5;
-   $7 = $6 >>> 3;
-   $8 = HEAP32[18817]|0;
-   $9 = $8 >>> $7;
-   $10 = $9 & 3;
-   $11 = ($10|0)==(0);
-   if (!($11)) {
-    $12 = $9 & 1;
-    $13 = $12 ^ 1;
-    $14 = (($13) + ($7))|0;
-    $15 = $14 << 1;
-    $16 = (75308 + ($15<<2)|0);
-    $17 = ((($16)) + 8|0);
-    $18 = HEAP32[$17>>2]|0;
-    $19 = ((($18)) + 8|0);
-    $20 = HEAP32[$19>>2]|0;
-    $21 = ($16|0)==($20|0);
-    do {
-     if ($21) {
-      $22 = 1 << $14;
-      $23 = $22 ^ -1;
-      $24 = $8 & $23;
-      HEAP32[18817] = $24;
-     } else {
-      $25 = HEAP32[(75284)>>2]|0;
-      $26 = ($20>>>0)<($25>>>0);
-      if ($26) {
-       _abort();
-       // unreachable;
-      }
-      $27 = ((($20)) + 12|0);
-      $28 = HEAP32[$27>>2]|0;
-      $29 = ($28|0)==($18|0);
-      if ($29) {
-       HEAP32[$27>>2] = $16;
-       HEAP32[$17>>2] = $20;
-       break;
-      } else {
-       _abort();
-       // unreachable;
-      }
-     }
-    } while(0);
-    $30 = $14 << 3;
-    $31 = $30 | 3;
-    $32 = ((($18)) + 4|0);
-    HEAP32[$32>>2] = $31;
-    $33 = (($18) + ($30)|0);
-    $34 = ((($33)) + 4|0);
-    $35 = HEAP32[$34>>2]|0;
-    $36 = $35 | 1;
-    HEAP32[$34>>2] = $36;
-    $$0 = $19;
-    STACKTOP = sp;return ($$0|0);
-   }
-   $37 = HEAP32[(75276)>>2]|0;
-   $38 = ($6>>>0)>($37>>>0);
-   if ($38) {
-    $39 = ($9|0)==(0);
-    if (!($39)) {
-     $40 = $9 << $7;
-     $41 = 2 << $7;
-     $42 = (0 - ($41))|0;
-     $43 = $41 | $42;
-     $44 = $40 & $43;
-     $45 = (0 - ($44))|0;
-     $46 = $44 & $45;
-     $47 = (($46) + -1)|0;
-     $48 = $47 >>> 12;
-     $49 = $48 & 16;
-     $50 = $47 >>> $49;
-     $51 = $50 >>> 5;
-     $52 = $51 & 8;
-     $53 = $52 | $49;
-     $54 = $50 >>> $52;
-     $55 = $54 >>> 2;
-     $56 = $55 & 4;
-     $57 = $53 | $56;
-     $58 = $54 >>> $56;
-     $59 = $58 >>> 1;
-     $60 = $59 & 2;
-     $61 = $57 | $60;
-     $62 = $58 >>> $60;
-     $63 = $62 >>> 1;
-     $64 = $63 & 1;
-     $65 = $61 | $64;
-     $66 = $62 >>> $64;
-     $67 = (($65) + ($66))|0;
-     $68 = $67 << 1;
-     $69 = (75308 + ($68<<2)|0);
-     $70 = ((($69)) + 8|0);
-     $71 = HEAP32[$70>>2]|0;
-     $72 = ((($71)) + 8|0);
-     $73 = HEAP32[$72>>2]|0;
-     $74 = ($69|0)==($73|0);
-     do {
-      if ($74) {
-       $75 = 1 << $67;
-       $76 = $75 ^ -1;
-       $77 = $8 & $76;
-       HEAP32[18817] = $77;
-       $98 = $77;
-      } else {
-       $78 = HEAP32[(75284)>>2]|0;
-       $79 = ($73>>>0)<($78>>>0);
-       if ($79) {
-        _abort();
-        // unreachable;
-       }
-       $80 = ((($73)) + 12|0);
-       $81 = HEAP32[$80>>2]|0;
-       $82 = ($81|0)==($71|0);
-       if ($82) {
-        HEAP32[$80>>2] = $69;
-        HEAP32[$70>>2] = $73;
-        $98 = $8;
-        break;
-       } else {
-        _abort();
-        // unreachable;
-       }
-      }
-     } while(0);
-     $83 = $67 << 3;
-     $84 = (($83) - ($6))|0;
-     $85 = $6 | 3;
-     $86 = ((($71)) + 4|0);
-     HEAP32[$86>>2] = $85;
-     $87 = (($71) + ($6)|0);
-     $88 = $84 | 1;
-     $89 = ((($87)) + 4|0);
-     HEAP32[$89>>2] = $88;
-     $90 = (($87) + ($84)|0);
-     HEAP32[$90>>2] = $84;
-     $91 = ($37|0)==(0);
-     if (!($91)) {
-      $92 = HEAP32[(75288)>>2]|0;
-      $93 = $37 >>> 3;
-      $94 = $93 << 1;
-      $95 = (75308 + ($94<<2)|0);
-      $96 = 1 << $93;
-      $97 = $98 & $96;
-      $99 = ($97|0)==(0);
-      if ($99) {
-       $100 = $98 | $96;
-       HEAP32[18817] = $100;
-       $$pre = ((($95)) + 8|0);
-       $$0199 = $95;$$pre$phiZ2D = $$pre;
-      } else {
-       $101 = ((($95)) + 8|0);
-       $102 = HEAP32[$101>>2]|0;
-       $103 = HEAP32[(75284)>>2]|0;
-       $104 = ($102>>>0)<($103>>>0);
-       if ($104) {
-        _abort();
-        // unreachable;
-       } else {
-        $$0199 = $102;$$pre$phiZ2D = $101;
-       }
-      }
-      HEAP32[$$pre$phiZ2D>>2] = $92;
-      $105 = ((($$0199)) + 12|0);
-      HEAP32[$105>>2] = $92;
-      $106 = ((($92)) + 8|0);
-      HEAP32[$106>>2] = $$0199;
-      $107 = ((($92)) + 12|0);
-      HEAP32[$107>>2] = $95;
-     }
-     HEAP32[(75276)>>2] = $84;
-     HEAP32[(75288)>>2] = $87;
-     $$0 = $72;
-     STACKTOP = sp;return ($$0|0);
-    }
-    $108 = HEAP32[(75272)>>2]|0;
-    $109 = ($108|0)==(0);
-    if ($109) {
-     $$0197 = $6;
-    } else {
-     $110 = (0 - ($108))|0;
-     $111 = $108 & $110;
-     $112 = (($111) + -1)|0;
-     $113 = $112 >>> 12;
-     $114 = $113 & 16;
-     $115 = $112 >>> $114;
-     $116 = $115 >>> 5;
-     $117 = $116 & 8;
-     $118 = $117 | $114;
-     $119 = $115 >>> $117;
-     $120 = $119 >>> 2;
-     $121 = $120 & 4;
-     $122 = $118 | $121;
-     $123 = $119 >>> $121;
-     $124 = $123 >>> 1;
-     $125 = $124 & 2;
-     $126 = $122 | $125;
-     $127 = $123 >>> $125;
-     $128 = $127 >>> 1;
-     $129 = $128 & 1;
-     $130 = $126 | $129;
-     $131 = $127 >>> $129;
-     $132 = (($130) + ($131))|0;
-     $133 = (75572 + ($132<<2)|0);
-     $134 = HEAP32[$133>>2]|0;
-     $135 = ((($134)) + 4|0);
-     $136 = HEAP32[$135>>2]|0;
-     $137 = $136 & -8;
-     $138 = (($137) - ($6))|0;
-     $139 = ((($134)) + 16|0);
-     $140 = HEAP32[$139>>2]|0;
-     $not$5$i = ($140|0)==(0|0);
-     $$sink16$i = $not$5$i&1;
-     $141 = (((($134)) + 16|0) + ($$sink16$i<<2)|0);
-     $142 = HEAP32[$141>>2]|0;
-     $143 = ($142|0)==(0|0);
-     if ($143) {
-      $$0192$lcssa$i = $134;$$0193$lcssa$i = $138;
-     } else {
-      $$01928$i = $134;$$01937$i = $138;$145 = $142;
-      while(1) {
-       $144 = ((($145)) + 4|0);
-       $146 = HEAP32[$144>>2]|0;
-       $147 = $146 & -8;
-       $148 = (($147) - ($6))|0;
-       $149 = ($148>>>0)<($$01937$i>>>0);
-       $$$0193$i = $149 ? $148 : $$01937$i;
-       $$$0192$i = $149 ? $145 : $$01928$i;
-       $150 = ((($145)) + 16|0);
-       $151 = HEAP32[$150>>2]|0;
-       $not$$i = ($151|0)==(0|0);
-       $$sink1$i = $not$$i&1;
-       $152 = (((($145)) + 16|0) + ($$sink1$i<<2)|0);
-       $153 = HEAP32[$152>>2]|0;
-       $154 = ($153|0)==(0|0);
-       if ($154) {
-        $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i;
-        break;
-       } else {
-        $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153;
-       }
-      }
-     }
-     $155 = HEAP32[(75284)>>2]|0;
-     $156 = ($$0192$lcssa$i>>>0)<($155>>>0);
-     if ($156) {
-      _abort();
-      // unreachable;
-     }
-     $157 = (($$0192$lcssa$i) + ($6)|0);
-     $158 = ($$0192$lcssa$i>>>0)<($157>>>0);
-     if (!($158)) {
-      _abort();
-      // unreachable;
-     }
-     $159 = ((($$0192$lcssa$i)) + 24|0);
-     $160 = HEAP32[$159>>2]|0;
-     $161 = ((($$0192$lcssa$i)) + 12|0);
-     $162 = HEAP32[$161>>2]|0;
-     $163 = ($162|0)==($$0192$lcssa$i|0);
-     do {
-      if ($163) {
-       $173 = ((($$0192$lcssa$i)) + 20|0);
-       $174 = HEAP32[$173>>2]|0;
-       $175 = ($174|0)==(0|0);
-       if ($175) {
-        $176 = ((($$0192$lcssa$i)) + 16|0);
-        $177 = HEAP32[$176>>2]|0;
-        $178 = ($177|0)==(0|0);
-        if ($178) {
-         $$3$i = 0;
-         break;
-        } else {
-         $$1196$i = $177;$$1198$i = $176;
-        }
-       } else {
-        $$1196$i = $174;$$1198$i = $173;
-       }
-       while(1) {
-        $179 = ((($$1196$i)) + 20|0);
-        $180 = HEAP32[$179>>2]|0;
-        $181 = ($180|0)==(0|0);
-        if (!($181)) {
-         $$1196$i = $180;$$1198$i = $179;
-         continue;
-        }
-        $182 = ((($$1196$i)) + 16|0);
-        $183 = HEAP32[$182>>2]|0;
-        $184 = ($183|0)==(0|0);
-        if ($184) {
-         break;
-        } else {
-         $$1196$i = $183;$$1198$i = $182;
-        }
-       }
-       $185 = ($$1198$i>>>0)<($155>>>0);
-       if ($185) {
-        _abort();
-        // unreachable;
-       } else {
-        HEAP32[$$1198$i>>2] = 0;
-        $$3$i = $$1196$i;
-        break;
-       }
-      } else {
-       $164 = ((($$0192$lcssa$i)) + 8|0);
-       $165 = HEAP32[$164>>2]|0;
-       $166 = ($165>>>0)<($155>>>0);
-       if ($166) {
-        _abort();
-        // unreachable;
-       }
-       $167 = ((($165)) + 12|0);
-       $168 = HEAP32[$167>>2]|0;
-       $169 = ($168|0)==($$0192$lcssa$i|0);
-       if (!($169)) {
-        _abort();
-        // unreachable;
-       }
-       $170 = ((($162)) + 8|0);
-       $171 = HEAP32[$170>>2]|0;
-       $172 = ($171|0)==($$0192$lcssa$i|0);
-       if ($172) {
-        HEAP32[$167>>2] = $162;
-        HEAP32[$170>>2] = $165;
-        $$3$i = $162;
-        break;
-       } else {
-        _abort();
-        // unreachable;
-       }
-      }
-     } while(0);
-     $186 = ($160|0)==(0|0);
-     L73: do {
-      if (!($186)) {
-       $187 = ((($$0192$lcssa$i)) + 28|0);
-       $188 = HEAP32[$187>>2]|0;
-       $189 = (75572 + ($188<<2)|0);
-       $190 = HEAP32[$189>>2]|0;
-       $191 = ($$0192$lcssa$i|0)==($190|0);
-       do {
-        if ($191) {
-         HEAP32[$189>>2] = $$3$i;
-         $cond$i = ($$3$i|0)==(0|0);
-         if ($cond$i) {
-          $192 = 1 << $188;
-          $193 = $192 ^ -1;
-          $194 = $108 & $193;
-          HEAP32[(75272)>>2] = $194;
-          break L73;
-         }
-        } else {
-         $195 = HEAP32[(75284)>>2]|0;
-         $196 = ($160>>>0)<($195>>>0);
-         if ($196) {
-          _abort();
-          // unreachable;
-         } else {
-          $197 = ((($160)) + 16|0);
-          $198 = HEAP32[$197>>2]|0;
-          $not$1$i = ($198|0)!=($$0192$lcssa$i|0);
-          $$sink2$i = $not$1$i&1;
-          $199 = (((($160)) + 16|0) + ($$sink2$i<<2)|0);
-          HEAP32[$199>>2] = $$3$i;
-          $200 = ($$3$i|0)==(0|0);
-          if ($200) {
-           break L73;
-          } else {
-           break;
-          }
-         }
-        }
-       } while(0);
-       $201 = HEAP32[(75284)>>2]|0;
-       $202 = ($$3$i>>>0)<($201>>>0);
-       if ($202) {
-        _abort();
-        // unreachable;
-       }
-       $203 = ((($$3$i)) + 24|0);
-       HEAP32[$203>>2] = $160;
-       $204 = ((($$0192$lcssa$i)) + 16|0);
-       $205 = HEAP32[$204>>2]|0;
-       $206 = ($205|0)==(0|0);
-       do {
-        if (!($206)) {
-         $207 = ($205>>>0)<($201>>>0);
-         if ($207) {
-          _abort();
-          // unreachable;
-         } else {
-          $208 = ((($$3$i)) + 16|0);
-          HEAP32[$208>>2] = $205;
-          $209 = ((($205)) + 24|0);
-          HEAP32[$209>>2] = $$3$i;
-          break;
-         }
-        }
-       } while(0);
-       $210 = ((($$0192$lcssa$i)) + 20|0);
-       $211 = HEAP32[$210>>2]|0;
-       $212 = ($211|0)==(0|0);
-       if (!($212)) {
-        $213 = HEAP32[(75284)>>2]|0;
-        $214 = ($211>>>0)<($213>>>0);
-        if ($214) {
-         _abort();
-         // unreachable;
-        } else {
-         $215 = ((($$3$i)) + 20|0);
-         HEAP32[$215>>2] = $211;
-         $216 = ((($211)) + 24|0);
-         HEAP32[$216>>2] = $$3$i;
-         break;
-        }
-       }
-      }
-     } while(0);
-     $217 = ($$0193$lcssa$i>>>0)<(16);
-     if ($217) {
-      $218 = (($$0193$lcssa$i) + ($6))|0;
-      $219 = $218 | 3;
-      $220 = ((($$0192$lcssa$i)) + 4|0);
-      HEAP32[$220>>2] = $219;
-      $221 = (($$0192$lcssa$i) + ($218)|0);
-      $222 = ((($221)) + 4|0);
-      $223 = HEAP32[$222>>2]|0;
-      $224 = $223 | 1;
-      HEAP32[$222>>2] = $224;
-     } else {
-      $225 = $6 | 3;
-      $226 = ((($$0192$lcssa$i)) + 4|0);
-      HEAP32[$226>>2] = $225;
-      $227 = $$0193$lcssa$i | 1;
-      $228 = ((($157)) + 4|0);
-      HEAP32[$228>>2] = $227;
-      $229 = (($157) + ($$0193$lcssa$i)|0);
-      HEAP32[$229>>2] = $$0193$lcssa$i;
-      $230 = ($37|0)==(0);
-      if (!($230)) {
-       $231 = HEAP32[(75288)>>2]|0;
-       $232 = $37 >>> 3;
-       $233 = $232 << 1;
-       $234 = (75308 + ($233<<2)|0);
-       $235 = 1 << $232;
-       $236 = $8 & $235;
-       $237 = ($236|0)==(0);
-       if ($237) {
-        $238 = $8 | $235;
-        HEAP32[18817] = $238;
-        $$pre$i = ((($234)) + 8|0);
-        $$0189$i = $234;$$pre$phi$iZ2D = $$pre$i;
-       } else {
-        $239 = ((($234)) + 8|0);
-        $240 = HEAP32[$239>>2]|0;
-        $241 = HEAP32[(75284)>>2]|0;
-        $242 = ($240>>>0)<($241>>>0);
-        if ($242) {
-         _abort();
-         // unreachable;
-        } else {
-         $$0189$i = $240;$$pre$phi$iZ2D = $239;
-        }
-       }
-       HEAP32[$$pre$phi$iZ2D>>2] = $231;
-       $243 = ((($$0189$i)) + 12|0);
-       HEAP32[$243>>2] = $231;
-       $244 = ((($231)) + 8|0);
-       HEAP32[$244>>2] = $$0189$i;
-       $245 = ((($231)) + 12|0);
-       HEAP32[$245>>2] = $234;
-      }
-      HEAP32[(75276)>>2] = $$0193$lcssa$i;
-      HEAP32[(75288)>>2] = $157;
-     }
-     $246 = ((($$0192$lcssa$i)) + 8|0);
-     $$0 = $246;
-     STACKTOP = sp;return ($$0|0);
-    }
-   } else {
-    $$0197 = $6;
-   }
-  } else {
-   $247 = ($0>>>0)>(4294967231);
-   if ($247) {
-    $$0197 = -1;
-   } else {
-    $248 = (($0) + 11)|0;
-    $249 = $248 & -8;
-    $250 = HEAP32[(75272)>>2]|0;
-    $251 = ($250|0)==(0);
-    if ($251) {
-     $$0197 = $249;
-    } else {
-     $252 = (0 - ($249))|0;
-     $253 = $248 >>> 8;
-     $254 = ($253|0)==(0);
-     if ($254) {
-      $$0358$i = 0;
-     } else {
-      $255 = ($249>>>0)>(16777215);
-      if ($255) {
-       $$0358$i = 31;
-      } else {
-       $256 = (($253) + 1048320)|0;
-       $257 = $256 >>> 16;
-       $258 = $257 & 8;
-       $259 = $253 << $258;
-       $260 = (($259) + 520192)|0;
-       $261 = $260 >>> 16;
-       $262 = $261 & 4;
-       $263 = $262 | $258;
-       $264 = $259 << $262;
-       $265 = (($264) + 245760)|0;
-       $266 = $265 >>> 16;
-       $267 = $266 & 2;
-       $268 = $263 | $267;
-       $269 = (14 - ($268))|0;
-       $270 = $264 << $267;
-       $271 = $270 >>> 15;
-       $272 = (($269) + ($271))|0;
-       $273 = $272 << 1;
-       $274 = (($272) + 7)|0;
-       $275 = $249 >>> $274;
-       $276 = $275 & 1;
-       $277 = $276 | $273;
-       $$0358$i = $277;
-      }
-     }
-     $278 = (75572 + ($$0358$i<<2)|0);
-     $279 = HEAP32[$278>>2]|0;
-     $280 = ($279|0)==(0|0);
-     L117: do {
-      if ($280) {
-       $$2355$i = 0;$$3$i201 = 0;$$3350$i = $252;
-       label = 81;
-      } else {
-       $281 = ($$0358$i|0)==(31);
-       $282 = $$0358$i >>> 1;
-       $283 = (25 - ($282))|0;
-       $284 = $281 ? 0 : $283;
-       $285 = $249 << $284;
-       $$0342$i = 0;$$0347$i = $252;$$0353$i = $279;$$0359$i = $285;$$0362$i = 0;
-       while(1) {
-        $286 = ((($$0353$i)) + 4|0);
-        $287 = HEAP32[$286>>2]|0;
-        $288 = $287 & -8;
-        $289 = (($288) - ($249))|0;
-        $290 = ($289>>>0)<($$0347$i>>>0);
-        if ($290) {
-         $291 = ($289|0)==(0);
-         if ($291) {
-          $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i;
-          label = 85;
-          break L117;
-         } else {
-          $$1343$i = $$0353$i;$$1348$i = $289;
-         }
-        } else {
-         $$1343$i = $$0342$i;$$1348$i = $$0347$i;
-        }
-        $292 = ((($$0353$i)) + 20|0);
-        $293 = HEAP32[$292>>2]|0;
-        $294 = $$0359$i >>> 31;
-        $295 = (((($$0353$i)) + 16|0) + ($294<<2)|0);
-        $296 = HEAP32[$295>>2]|0;
-        $297 = ($293|0)==(0|0);
-        $298 = ($293|0)==($296|0);
-        $or$cond2$i = $297 | $298;
-        $$1363$i = $or$cond2$i ? $$0362$i : $293;
-        $299 = ($296|0)==(0|0);
-        $not$8$i = $299 ^ 1;
-        $300 = $not$8$i&1;
-        $$0359$$i = $$0359$i << $300;
-        if ($299) {
-         $$2355$i = $$1363$i;$$3$i201 = $$1343$i;$$3350$i = $$1348$i;
-         label = 81;
-         break;
-        } else {
-         $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i;
-        }
-       }
-      }
-     } while(0);
-     if ((label|0) == 81) {
-      $301 = ($$2355$i|0)==(0|0);
-      $302 = ($$3$i201|0)==(0|0);
-      $or$cond$i = $301 & $302;
-      if ($or$cond$i) {
-       $303 = 2 << $$0358$i;
-       $304 = (0 - ($303))|0;
-       $305 = $303 | $304;
-       $306 = $250 & $305;
-       $307 = ($306|0)==(0);
-       if ($307) {
-        $$0197 = $249;
-        break;
-       }
-       $308 = (0 - ($306))|0;
-       $309 = $306 & $308;
-       $310 = (($309) + -1)|0;
-       $311 = $310 >>> 12;
-       $312 = $311 & 16;
-       $313 = $310 >>> $312;
-       $314 = $313 >>> 5;
-       $315 = $314 & 8;
-       $316 = $315 | $312;
-       $317 = $313 >>> $315;
-       $318 = $317 >>> 2;
-       $319 = $318 & 4;
-       $320 = $316 | $319;
-       $321 = $317 >>> $319;
-       $322 = $321 >>> 1;
-       $323 = $322 & 2;
-       $324 = $320 | $323;
-       $325 = $321 >>> $323;
-       $326 = $325 >>> 1;
-       $327 = $326 & 1;
-       $328 = $324 | $327;
-       $329 = $325 >>> $327;
-       $330 = (($328) + ($329))|0;
-       $331 = (75572 + ($330<<2)|0);
-       $332 = HEAP32[$331>>2]|0;
-       $$4$ph$i = 0;$$4357$ph$i = $332;
-      } else {
-       $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i;
-      }
-      $333 = ($$4357$ph$i|0)==(0|0);
-      if ($333) {
-       $$4$lcssa$i = $$4$ph$i;$$4351$lcssa$i = $$3350$i;
-      } else {
-       $$415$i = $$4$ph$i;$$435114$i = $$3350$i;$$435713$i = $$4357$ph$i;
-       label = 85;
-      }
-     }
-     if ((label|0) == 85) {
-      while(1) {
-       label = 0;
-       $334 = ((($$435713$i)) + 4|0);
-       $335 = HEAP32[$334>>2]|0;
-       $336 = $335 & -8;
-       $337 = (($336) - ($249))|0;
-       $338 = ($337>>>0)<($$435114$i>>>0);
-       $$$4351$i = $338 ? $337 : $$435114$i;
-       $$4357$$4$i = $338 ? $$435713$i : $$415$i;
-       $339 = ((($$435713$i)) + 16|0);
-       $340 = HEAP32[$339>>2]|0;
-       $not$1$i203 = ($340|0)==(0|0);
-       $$sink2$i204 = $not$1$i203&1;
-       $341 = (((($$435713$i)) + 16|0) + ($$sink2$i204<<2)|0);
-       $342 = HEAP32[$341>>2]|0;
-       $343 = ($342|0)==(0|0);
-       if ($343) {
-        $$4$lcssa$i = $$4357$$4$i;$$4351$lcssa$i = $$$4351$i;
-        break;
-       } else {
-        $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $342;
-        label = 85;
-       }
-      }
-     }
-     $344 = ($$4$lcssa$i|0)==(0|0);
-     if ($344) {
-      $$0197 = $249;
-     } else {
-      $345 = HEAP32[(75276)>>2]|0;
-      $346 = (($345) - ($249))|0;
-      $347 = ($$4351$lcssa$i>>>0)<($346>>>0);
-      if ($347) {
-       $348 = HEAP32[(75284)>>2]|0;
-       $349 = ($$4$lcssa$i>>>0)<($348>>>0);
-       if ($349) {
-        _abort();
-        // unreachable;
-       }
-       $350 = (($$4$lcssa$i) + ($249)|0);
-       $351 = ($$4$lcssa$i>>>0)<($350>>>0);
-       if (!($351)) {
-        _abort();
-        // unreachable;
-       }
-       $352 = ((($$4$lcssa$i)) + 24|0);
-       $353 = HEAP32[$352>>2]|0;
-       $354 = ((($$4$lcssa$i)) + 12|0);
-       $355 = HEAP32[$354>>2]|0;
-       $356 = ($355|0)==($$4$lcssa$i|0);
-       do {
-        if ($356) {
-         $366 = ((($$4$lcssa$i)) + 20|0);
-         $367 = HEAP32[$366>>2]|0;
-         $368 = ($367|0)==(0|0);
-         if ($368) {
-          $369 = ((($$4$lcssa$i)) + 16|0);
-          $370 = HEAP32[$369>>2]|0;
-          $371 = ($370|0)==(0|0);
-          if ($371) {
-           $$3372$i = 0;
-           break;
-          } else {
-           $$1370$i = $370;$$1374$i = $369;
-          }
-         } else {
-          $$1370$i = $367;$$1374$i = $366;
-         }
-         while(1) {
-          $372 = ((($$1370$i)) + 20|0);
-          $373 = HEAP32[$372>>2]|0;
-          $374 = ($373|0)==(0|0);
-          if (!($374)) {
-           $$1370$i = $373;$$1374$i = $372;
-           continue;
-          }
-          $375 = ((($$1370$i)) + 16|0);
-          $376 = HEAP32[$375>>2]|0;
-          $377 = ($376|0)==(0|0);
-          if ($377) {
-           break;
-          } else {
-           $$1370$i = $376;$$1374$i = $375;
-          }
-         }
-         $378 = ($$1374$i>>>0)<($348>>>0);
-         if ($378) {
-          _abort();
-          // unreachable;
-         } else {
-          HEAP32[$$1374$i>>2] = 0;
-          $$3372$i = $$1370$i;
-          break;
-         }
-        } else {
-         $357 = ((($$4$lcssa$i)) + 8|0);
-         $358 = HEAP32[$357>>2]|0;
-         $359 = ($358>>>0)<($348>>>0);
-         if ($359) {
-          _abort();
-          // unreachable;
-         }
-         $360 = ((($358)) + 12|0);
-         $361 = HEAP32[$360>>2]|0;
-         $362 = ($361|0)==($$4$lcssa$i|0);
-         if (!($362)) {
-          _abort();
-          // unreachable;
-         }
-         $363 = ((($355)) + 8|0);
-         $364 = HEAP32[$363>>2]|0;
-         $365 = ($364|0)==($$4$lcssa$i|0);
-         if ($365) {
-          HEAP32[$360>>2] = $355;
-          HEAP32[$363>>2] = $358;
-          $$3372$i = $355;
-          break;
-         } else {
-          _abort();
-          // unreachable;
-         }
-        }
-       } while(0);
-       $379 = ($353|0)==(0|0);
-       L164: do {
-        if ($379) {
-         $470 = $250;
-        } else {
-         $380 = ((($$4$lcssa$i)) + 28|0);
-         $381 = HEAP32[$380>>2]|0;
-         $382 = (75572 + ($381<<2)|0);
-         $383 = HEAP32[$382>>2]|0;
-         $384 = ($$4$lcssa$i|0)==($383|0);
-         do {
-          if ($384) {
-           HEAP32[$382>>2] = $$3372$i;
-           $cond$i208 = ($$3372$i|0)==(0|0);
-           if ($cond$i208) {
-            $385 = 1 << $381;
-            $386 = $385 ^ -1;
-            $387 = $250 & $386;
-            HEAP32[(75272)>>2] = $387;
-            $470 = $387;
-            break L164;
-           }
-          } else {
-           $388 = HEAP32[(75284)>>2]|0;
-           $389 = ($353>>>0)<($388>>>0);
-           if ($389) {
-            _abort();
-            // unreachable;
-           } else {
-            $390 = ((($353)) + 16|0);
-            $391 = HEAP32[$390>>2]|0;
-            $not$$i209 = ($391|0)!=($$4$lcssa$i|0);
-            $$sink3$i = $not$$i209&1;
-            $392 = (((($353)) + 16|0) + ($$sink3$i<<2)|0);
-            HEAP32[$392>>2] = $$3372$i;
-            $393 = ($$3372$i|0)==(0|0);
-            if ($393) {
-             $470 = $250;
-             break L164;
-            } else {
-             break;
-            }
-           }
-          }
-         } while(0);
-         $394 = HEAP32[(75284)>>2]|0;
-         $395 = ($$3372$i>>>0)<($394>>>0);
-         if ($395) {
-          _abort();
-          // unreachable;
-         }
-         $396 = ((($$3372$i)) + 24|0);
-         HEAP32[$396>>2] = $353;
-         $397 = ((($$4$lcssa$i)) + 16|0);
-         $398 = HEAP32[$397>>2]|0;
-         $399 = ($398|0)==(0|0);
-         do {
-          if (!($399)) {
-           $400 = ($398>>>0)<($394>>>0);
-           if ($400) {
-            _abort();
-            // unreachable;
-           } else {
-            $401 = ((($$3372$i)) + 16|0);
-            HEAP32[$401>>2] = $398;
-            $402 = ((($398)) + 24|0);
-            HEAP32[$402>>2] = $$3372$i;
-            break;
-           }
-          }
-         } while(0);
-         $403 = ((($$4$lcssa$i)) + 20|0);
-         $404 = HEAP32[$403>>2]|0;
-         $405 = ($404|0)==(0|0);
-         if ($405) {
-          $470 = $250;
-         } else {
-          $406 = HEAP32[(75284)>>2]|0;
-          $407 = ($404>>>0)<($406>>>0);
-          if ($407) {
-           _abort();
-           // unreachable;
-          } else {
-           $408 = ((($$3372$i)) + 20|0);
-           HEAP32[$408>>2] = $404;
-           $409 = ((($404)) + 24|0);
-           HEAP32[$409>>2] = $$3372$i;
-           $470 = $250;
-           break;
-          }
-         }
-        }
-       } while(0);
-       $410 = ($$4351$lcssa$i>>>0)<(16);
-       do {
-        if ($410) {
-         $411 = (($$4351$lcssa$i) + ($249))|0;
-         $412 = $411 | 3;
-         $413 = ((($$4$lcssa$i)) + 4|0);
-         HEAP32[$413>>2] = $412;
-         $414 = (($$4$lcssa$i) + ($411)|0);
-         $415 = ((($414)) + 4|0);
-         $416 = HEAP32[$415>>2]|0;
-         $417 = $416 | 1;
-         HEAP32[$415>>2] = $417;
-        } else {
-         $418 = $249 | 3;
-         $419 = ((($$4$lcssa$i)) + 4|0);
-         HEAP32[$419>>2] = $418;
-         $420 = $$4351$lcssa$i | 1;
-         $421 = ((($350)) + 4|0);
-         HEAP32[$421>>2] = $420;
-         $422 = (($350) + ($$4351$lcssa$i)|0);
-         HEAP32[$422>>2] = $$4351$lcssa$i;
-         $423 = $$4351$lcssa$i >>> 3;
-         $424 = ($$4351$lcssa$i>>>0)<(256);
-         if ($424) {
-          $425 = $423 << 1;
-          $426 = (75308 + ($425<<2)|0);
-          $427 = HEAP32[18817]|0;
-          $428 = 1 << $423;
-          $429 = $427 & $428;
-          $430 = ($429|0)==(0);
-          if ($430) {
-           $431 = $427 | $428;
-           HEAP32[18817] = $431;
-           $$pre$i210 = ((($426)) + 8|0);
-           $$0368$i = $426;$$pre$phi$i211Z2D = $$pre$i210;
-          } else {
-           $432 = ((($426)) + 8|0);
-           $433 = HEAP32[$432>>2]|0;
-           $434 = HEAP32[(75284)>>2]|0;
-           $435 = ($433>>>0)<($434>>>0);
-           if ($435) {
-            _abort();
-            // unreachable;
-           } else {
-            $$0368$i = $433;$$pre$phi$i211Z2D = $432;
-           }
-          }
-          HEAP32[$$pre$phi$i211Z2D>>2] = $350;
-          $436 = ((($$0368$i)) + 12|0);
-          HEAP32[$436>>2] = $350;
-          $437 = ((($350)) + 8|0);
-          HEAP32[$437>>2] = $$0368$i;
-          $438 = ((($350)) + 12|0);
-          HEAP32[$438>>2] = $426;
-          break;
-         }
-         $439 = $$4351$lcssa$i >>> 8;
-         $440 = ($439|0)==(0);
-         if ($440) {
-          $$0361$i = 0;
-         } else {
-          $441 = ($$4351$lcssa$i>>>0)>(16777215);
-          if ($441) {
-           $$0361$i = 31;
-          } else {
-           $442 = (($439) + 1048320)|0;
-           $443 = $442 >>> 16;
-           $444 = $443 & 8;
-           $445 = $439 << $444;
-           $446 = (($445) + 520192)|0;
-           $447 = $446 >>> 16;
-           $448 = $447 & 4;
-           $449 = $448 | $444;
-           $450 = $445 << $448;
-           $451 = (($450) + 245760)|0;
-           $452 = $451 >>> 16;
-           $453 = $452 & 2;
-           $454 = $449 | $453;
-           $455 = (14 - ($454))|0;
-           $456 = $450 << $453;
-           $457 = $456 >>> 15;
-           $458 = (($455) + ($457))|0;
-           $459 = $458 << 1;
-           $460 = (($458) + 7)|0;
-           $461 = $$4351$lcssa$i >>> $460;
-           $462 = $461 & 1;
-           $463 = $462 | $459;
-           $$0361$i = $463;
-          }
-         }
-         $464 = (75572 + ($$0361$i<<2)|0);
-         $465 = ((($350)) + 28|0);
-         HEAP32[$465>>2] = $$0361$i;
-         $466 = ((($350)) + 16|0);
-         $467 = ((($466)) + 4|0);
-         HEAP32[$467>>2] = 0;
-         HEAP32[$466>>2] = 0;
-         $468 = 1 << $$0361$i;
-         $469 = $470 & $468;
-         $471 = ($469|0)==(0);
-         if ($471) {
-          $472 = $470 | $468;
-          HEAP32[(75272)>>2] = $472;
-          HEAP32[$464>>2] = $350;
-          $473 = ((($350)) + 24|0);
-          HEAP32[$473>>2] = $464;
-          $474 = ((($350)) + 12|0);
-          HEAP32[$474>>2] = $350;
-          $475 = ((($350)) + 8|0);
-          HEAP32[$475>>2] = $350;
-          break;
-         }
-         $476 = HEAP32[$464>>2]|0;
-         $477 = ($$0361$i|0)==(31);
-         $478 = $$0361$i >>> 1;
-         $479 = (25 - ($478))|0;
-         $480 = $477 ? 0 : $479;
-         $481 = $$4351$lcssa$i << $480;
-         $$0344$i = $481;$$0345$i = $476;
-         while(1) {
-          $482 = ((($$0345$i)) + 4|0);
-          $483 = HEAP32[$482>>2]|0;
-          $484 = $483 & -8;
-          $485 = ($484|0)==($$4351$lcssa$i|0);
-          if ($485) {
-           label = 139;
-           break;
-          }
-          $486 = $$0344$i >>> 31;
-          $487 = (((($$0345$i)) + 16|0) + ($486<<2)|0);
-          $488 = $$0344$i << 1;
-          $489 = HEAP32[$487>>2]|0;
-          $490 = ($489|0)==(0|0);
-          if ($490) {
-           label = 136;
-           break;
-          } else {
-           $$0344$i = $488;$$0345$i = $489;
-          }
-         }
-         if ((label|0) == 136) {
-          $491 = HEAP32[(75284)>>2]|0;
-          $492 = ($487>>>0)<($491>>>0);
-          if ($492) {
-           _abort();
-           // unreachable;
-          } else {
-           HEAP32[$487>>2] = $350;
-           $493 = ((($350)) + 24|0);
-           HEAP32[$493>>2] = $$0345$i;
-           $494 = ((($350)) + 12|0);
-           HEAP32[$494>>2] = $350;
-           $495 = ((($350)) + 8|0);
-           HEAP32[$495>>2] = $350;
-           break;
-          }
-         }
-         else if ((label|0) == 139) {
-          $496 = ((($$0345$i)) + 8|0);
-          $497 = HEAP32[$496>>2]|0;
-          $498 = HEAP32[(75284)>>2]|0;
-          $499 = ($497>>>0)>=($498>>>0);
-          $not$9$i = ($$0345$i>>>0)>=($498>>>0);
-          $500 = $499 & $not$9$i;
-          if ($500) {
-           $501 = ((($497)) + 12|0);
-           HEAP32[$501>>2] = $350;
-           HEAP32[$496>>2] = $350;
-           $502 = ((($350)) + 8|0);
-           HEAP32[$502>>2] = $497;
-           $503 = ((($350)) + 12|0);
-           HEAP32[$503>>2] = $$0345$i;
-           $504 = ((($350)) + 24|0);
-           HEAP32[$504>>2] = 0;
-           break;
-          } else {
-           _abort();
-           // unreachable;
-          }
-         }
-        }
-       } while(0);
-       $505 = ((($$4$lcssa$i)) + 8|0);
-       $$0 = $505;
-       STACKTOP = sp;return ($$0|0);
-      } else {
-       $$0197 = $249;
-      }
-     }
-    }
-   }
-  }
- } while(0);
- $506 = HEAP32[(75276)>>2]|0;
- $507 = ($506>>>0)<($$0197>>>0);
- if (!($507)) {
-  $508 = (($506) - ($$0197))|0;
-  $509 = HEAP32[(75288)>>2]|0;
-  $510 = ($508>>>0)>(15);
-  if ($510) {
-   $511 = (($509) + ($$0197)|0);
-   HEAP32[(75288)>>2] = $511;
-   HEAP32[(75276)>>2] = $508;
-   $512 = $508 | 1;
-   $513 = ((($511)) + 4|0);
-   HEAP32[$513>>2] = $512;
-   $514 = (($511) + ($508)|0);
-   HEAP32[$514>>2] = $508;
-   $515 = $$0197 | 3;
-   $516 = ((($509)) + 4|0);
-   HEAP32[$516>>2] = $515;
-  } else {
-   HEAP32[(75276)>>2] = 0;
-   HEAP32[(75288)>>2] = 0;
-   $517 = $506 | 3;
-   $518 = ((($509)) + 4|0);
-   HEAP32[$518>>2] = $517;
-   $519 = (($509) + ($506)|0);
-   $520 = ((($519)) + 4|0);
-   $521 = HEAP32[$520>>2]|0;
-   $522 = $521 | 1;
-   HEAP32[$520>>2] = $522;
-  }
-  $523 = ((($509)) + 8|0);
-  $$0 = $523;
-  STACKTOP = sp;return ($$0|0);
- }
- $524 = HEAP32[(75280)>>2]|0;
- $525 = ($524>>>0)>($$0197>>>0);
- if ($525) {
-  $526 = (($524) - ($$0197))|0;
-  HEAP32[(75280)>>2] = $526;
-  $527 = HEAP32[(75292)>>2]|0;
-  $528 = (($527) + ($$0197)|0);
-  HEAP32[(75292)>>2] = $528;
-  $529 = $526 | 1;
-  $530 = ((($528)) + 4|0);
-  HEAP32[$530>>2] = $529;
-  $531 = $$0197 | 3;
-  $532 = ((($527)) + 4|0);
-  HEAP32[$532>>2] = $531;
-  $533 = ((($527)) + 8|0);
-  $$0 = $533;
-  STACKTOP = sp;return ($$0|0);
- }
- $534 = HEAP32[18935]|0;
- $535 = ($534|0)==(0);
- if ($535) {
-  HEAP32[(75748)>>2] = 4096;
-  HEAP32[(75744)>>2] = 4096;
-  HEAP32[(75752)>>2] = -1;
-  HEAP32[(75756)>>2] = -1;
-  HEAP32[(75760)>>2] = 0;
-  HEAP32[(75712)>>2] = 0;
-  $536 = $1;
-  $537 = $536 & -16;
-  $538 = $537 ^ 1431655768;
-  HEAP32[$1>>2] = $538;
-  HEAP32[18935] = $538;
-  $542 = 4096;
- } else {
-  $$pre$i212 = HEAP32[(75748)>>2]|0;
-  $542 = $$pre$i212;
- }
- $539 = (($$0197) + 48)|0;
- $540 = (($$0197) + 47)|0;
- $541 = (($542) + ($540))|0;
- $543 = (0 - ($542))|0;
- $544 = $541 & $543;
- $545 = ($544>>>0)>($$0197>>>0);
- if (!($545)) {
-  $$0 = 0;
-  STACKTOP = sp;return ($$0|0);
- }
- $546 = HEAP32[(75708)>>2]|0;
- $547 = ($546|0)==(0);
- if (!($547)) {
-  $548 = HEAP32[(75700)>>2]|0;
-  $549 = (($548) + ($544))|0;
-  $550 = ($549>>>0)<=($548>>>0);
-  $551 = ($549>>>0)>($546>>>0);
-  $or$cond1$i = $550 | $551;
-  if ($or$cond1$i) {
-   $$0 = 0;
-   STACKTOP = sp;return ($$0|0);
-  }
- }
- $552 = HEAP32[(75712)>>2]|0;
- $553 = $552 & 4;
- $554 = ($553|0)==(0);
- L244: do {
-  if ($554) {
-   $555 = HEAP32[(75292)>>2]|0;
-   $556 = ($555|0)==(0|0);
-   L246: do {
-    if ($556) {
-     label = 163;
-    } else {
-     $$0$i$i = (75716);
-     while(1) {
-      $557 = HEAP32[$$0$i$i>>2]|0;
-      $558 = ($557>>>0)>($555>>>0);
-      if (!($558)) {
-       $559 = ((($$0$i$i)) + 4|0);
-       $560 = HEAP32[$559>>2]|0;
-       $561 = (($557) + ($560)|0);
-       $562 = ($561>>>0)>($555>>>0);
-       if ($562) {
-        break;
-       }
-      }
-      $563 = ((($$0$i$i)) + 8|0);
-      $564 = HEAP32[$563>>2]|0;
-      $565 = ($564|0)==(0|0);
-      if ($565) {
-       label = 163;
-       break L246;
-      } else {
-       $$0$i$i = $564;
-      }
-     }
-     $588 = (($541) - ($524))|0;
-     $589 = $588 & $543;
-     $590 = ($589>>>0)<(2147483647);
-     if ($590) {
-      $591 = (_sbrk(($589|0))|0);
-      $592 = HEAP32[$$0$i$i>>2]|0;
-      $593 = HEAP32[$559>>2]|0;
-      $594 = (($592) + ($593)|0);
-      $595 = ($591|0)==($594|0);
-      if ($595) {
-       $596 = ($591|0)==((-1)|0);
-       if ($596) {
-        $$2234253237$i = $589;
-       } else {
-        $$723948$i = $589;$$749$i = $591;
-        label = 180;
-        break L244;
-       }
-      } else {
-       $$2247$ph$i = $591;$$2253$ph$i = $589;
-       label = 171;
-      }
-     } else {
-      $$2234253237$i = 0;
-     }
-    }
-   } while(0);
-   do {
-    if ((label|0) == 163) {
-     $566 = (_sbrk(0)|0);
-     $567 = ($566|0)==((-1)|0);
-     if ($567) {
-      $$2234253237$i = 0;
-     } else {
-      $568 = $566;
-      $569 = HEAP32[(75744)>>2]|0;
-      $570 = (($569) + -1)|0;
-      $571 = $570 & $568;
-      $572 = ($571|0)==(0);
-      $573 = (($570) + ($568))|0;
-      $574 = (0 - ($569))|0;
-      $575 = $573 & $574;
-      $576 = (($575) - ($568))|0;
-      $577 = $572 ? 0 : $576;
-      $$$i = (($577) + ($544))|0;
-      $578 = HEAP32[(75700)>>2]|0;
-      $579 = (($$$i) + ($578))|0;
-      $580 = ($$$i>>>0)>($$0197>>>0);
-      $581 = ($$$i>>>0)<(2147483647);
-      $or$cond$i214 = $580 & $581;
-      if ($or$cond$i214) {
-       $582 = HEAP32[(75708)>>2]|0;
-       $583 = ($582|0)==(0);
-       if (!($583)) {
-        $584 = ($579>>>0)<=($578>>>0);
-        $585 = ($579>>>0)>($582>>>0);
-        $or$cond2$i215 = $584 | $585;
-        if ($or$cond2$i215) {
-         $$2234253237$i = 0;
-         break;
-        }
-       }
-       $586 = (_sbrk(($$$i|0))|0);
-       $587 = ($586|0)==($566|0);
-       if ($587) {
-        $$723948$i = $$$i;$$749$i = $566;
-        label = 180;
-        break L244;
-       } else {
-        $$2247$ph$i = $586;$$2253$ph$i = $$$i;
-        label = 171;
-       }
-      } else {
-       $$2234253237$i = 0;
-      }
-     }
-    }
-   } while(0);
-   do {
-    if ((label|0) == 171) {
-     $597 = (0 - ($$2253$ph$i))|0;
-     $598 = ($$2247$ph$i|0)!=((-1)|0);
-     $599 = ($$2253$ph$i>>>0)<(2147483647);
-     $or$cond7$i = $599 & $598;
-     $600 = ($539>>>0)>($$2253$ph$i>>>0);
-     $or$cond10$i = $600 & $or$cond7$i;
-     if (!($or$cond10$i)) {
-      $610 = ($$2247$ph$i|0)==((-1)|0);
-      if ($610) {
-       $$2234253237$i = 0;
-       break;
-      } else {
-       $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i;
-       label = 180;
-       break L244;
-      }
-     }
-     $601 = HEAP32[(75748)>>2]|0;
-     $602 = (($540) - ($$2253$ph$i))|0;
-     $603 = (($602) + ($601))|0;
-     $604 = (0 - ($601))|0;
-     $605 = $603 & $604;
-     $606 = ($605>>>0)<(2147483647);
-     if (!($606)) {
-      $$723948$i = $$2253$ph$i;$$749$i = $$2247$ph$i;
-      label = 180;
-      break L244;
-     }
-     $607 = (_sbrk(($605|0))|0);
-     $608 = ($607|0)==((-1)|0);
-     if ($608) {
-      (_sbrk(($597|0))|0);
-      $$2234253237$i = 0;
-      break;
-     } else {
-      $609 = (($605) + ($$2253$ph$i))|0;
-      $$723948$i = $609;$$749$i = $$2247$ph$i;
-      label = 180;
-      break L244;
-     }
-    }
-   } while(0);
-   $611 = HEAP32[(75712)>>2]|0;
-   $612 = $611 | 4;
-   HEAP32[(75712)>>2] = $612;
-   $$4236$i = $$2234253237$i;
-   label = 178;
-  } else {
-   $$4236$i = 0;
-   label = 178;
-  }
- } while(0);
- if ((label|0) == 178) {
-  $613 = ($544>>>0)<(2147483647);
-  if ($613) {
-   $614 = (_sbrk(($544|0))|0);
-   $615 = (_sbrk(0)|0);
-   $616 = ($614|0)!=((-1)|0);
-   $617 = ($615|0)!=((-1)|0);
-   $or$cond5$i = $616 & $617;
-   $618 = ($614>>>0)<($615>>>0);
-   $or$cond11$i = $618 & $or$cond5$i;
-   $619 = $615;
-   $620 = $614;
-   $621 = (($619) - ($620))|0;
-   $622 = (($$0197) + 40)|0;
-   $623 = ($621>>>0)>($622>>>0);
-   $$$4236$i = $623 ? $621 : $$4236$i;
-   $or$cond11$not$i = $or$cond11$i ^ 1;
-   $624 = ($614|0)==((-1)|0);
-   $not$$i216 = $623 ^ 1;
-   $625 = $624 | $not$$i216;
-   $or$cond50$i = $625 | $or$cond11$not$i;
-   if (!($or$cond50$i)) {
-    $$723948$i = $$$4236$i;$$749$i = $614;
-    label = 180;
-   }
-  }
- }
- if ((label|0) == 180) {
-  $626 = HEAP32[(75700)>>2]|0;
-  $627 = (($626) + ($$723948$i))|0;
-  HEAP32[(75700)>>2] = $627;
-  $628 = HEAP32[(75704)>>2]|0;
-  $629 = ($627>>>0)>($628>>>0);
-  if ($629) {
-   HEAP32[(75704)>>2] = $627;
-  }
-  $630 = HEAP32[(75292)>>2]|0;
-  $631 = ($630|0)==(0|0);
-  do {
-   if ($631) {
-    $632 = HEAP32[(75284)>>2]|0;
-    $633 = ($632|0)==(0|0);
-    $634 = ($$749$i>>>0)<($632>>>0);
-    $or$cond12$i = $633 | $634;
-    if ($or$cond12$i) {
-     HEAP32[(75284)>>2] = $$749$i;
-    }
-    HEAP32[(75716)>>2] = $$749$i;
-    HEAP32[(75720)>>2] = $$723948$i;
-    HEAP32[(75728)>>2] = 0;
-    $635 = HEAP32[18935]|0;
-    HEAP32[(75304)>>2] = $635;
-    HEAP32[(75300)>>2] = -1;
-    $$01$i$i = 0;
-    while(1) {
-     $636 = $$01$i$i << 1;
-     $637 = (75308 + ($636<<2)|0);
-     $638 = ((($637)) + 12|0);
-     HEAP32[$638>>2] = $637;
-     $639 = ((($637)) + 8|0);
-     HEAP32[$639>>2] = $637;
-     $640 = (($$01$i$i) + 1)|0;
-     $exitcond$i$i = ($640|0)==(32);
-     if ($exitcond$i$i) {
-      break;
-     } else {
-      $$01$i$i = $640;
-     }
-    }
-    $641 = (($$723948$i) + -40)|0;
-    $642 = ((($$749$i)) + 8|0);
-    $643 = $642;
-    $644 = $643 & 7;
-    $645 = ($644|0)==(0);
-    $646 = (0 - ($643))|0;
-    $647 = $646 & 7;
-    $648 = $645 ? 0 : $647;
-    $649 = (($$749$i) + ($648)|0);
-    $650 = (($641) - ($648))|0;
-    HEAP32[(75292)>>2] = $649;
-    HEAP32[(75280)>>2] = $650;
-    $651 = $650 | 1;
-    $652 = ((($649)) + 4|0);
-    HEAP32[$652>>2] = $651;
-    $653 = (($649) + ($650)|0);
-    $654 = ((($653)) + 4|0);
-    HEAP32[$654>>2] = 40;
-    $655 = HEAP32[(75756)>>2]|0;
-    HEAP32[(75296)>>2] = $655;
-   } else {
-    $$024371$i = (75716);
-    while(1) {
-     $656 = HEAP32[$$024371$i>>2]|0;
-     $657 = ((($$024371$i)) + 4|0);
-     $658 = HEAP32[$657>>2]|0;
-     $659 = (($656) + ($658)|0);
-     $660 = ($$749$i|0)==($659|0);
-     if ($660) {
-      label = 190;
-      break;
-     }
-     $661 = ((($$024371$i)) + 8|0);
-     $662 = HEAP32[$661>>2]|0;
-     $663 = ($662|0)==(0|0);
-     if ($663) {
-      break;
-     } else {
-      $$024371$i = $662;
-     }
-    }
-    if ((label|0) == 190) {
-     $664 = ((($$024371$i)) + 12|0);
-     $665 = HEAP32[$664>>2]|0;
-     $666 = $665 & 8;
-     $667 = ($666|0)==(0);
-     if ($667) {
-      $668 = ($630>>>0)>=($656>>>0);
-      $669 = ($630>>>0)<($$749$i>>>0);
-      $or$cond51$i = $669 & $668;
-      if ($or$cond51$i) {
-       $670 = (($658) + ($$723948$i))|0;
-       HEAP32[$657>>2] = $670;
-       $671 = HEAP32[(75280)>>2]|0;
-       $672 = ((($630)) + 8|0);
-       $673 = $672;
-       $674 = $673 & 7;
-       $675 = ($674|0)==(0);
-       $676 = (0 - ($673))|0;
-       $677 = $676 & 7;
-       $678 = $675 ? 0 : $677;
-       $679 = (($630) + ($678)|0);
-       $680 = (($$723948$i) - ($678))|0;
-       $681 = (($671) + ($680))|0;
-       HEAP32[(75292)>>2] = $679;
-       HEAP32[(75280)>>2] = $681;
-       $682 = $681 | 1;
-       $683 = ((($679)) + 4|0);
-       HEAP32[$683>>2] = $682;
-       $684 = (($679) + ($681)|0);
-       $685 = ((($684)) + 4|0);
-       HEAP32[$685>>2] = 40;
-       $686 = HEAP32[(75756)>>2]|0;
-       HEAP32[(75296)>>2] = $686;
-       break;
-      }
-     }
-    }
-    $687 = HEAP32[(75284)>>2]|0;
-    $688 = ($$749$i>>>0)<($687>>>0);
-    if ($688) {
-     HEAP32[(75284)>>2] = $$749$i;
-     $752 = $$749$i;
-    } else {
-     $752 = $687;
-    }
-    $689 = (($$749$i) + ($$723948$i)|0);
-    $$124470$i = (75716);
-    while(1) {
-     $690 = HEAP32[$$124470$i>>2]|0;
-     $691 = ($690|0)==($689|0);
-     if ($691) {
-      label = 198;
-      break;
-     }
-     $692 = ((($$124470$i)) + 8|0);
-     $693 = HEAP32[$692>>2]|0;
-     $694 = ($693|0)==(0|0);
-     if ($694) {
-      break;
-     } else {
-      $$124470$i = $693;
-     }
-    }
-    if ((label|0) == 198) {
-     $695 = ((($$124470$i)) + 12|0);
-     $696 = HEAP32[$695>>2]|0;
-     $697 = $696 & 8;
-     $698 = ($697|0)==(0);
-     if ($698) {
-      HEAP32[$$124470$i>>2] = $$749$i;
-      $699 = ((($$124470$i)) + 4|0);
-      $700 = HEAP32[$699>>2]|0;
-      $701 = (($700) + ($$723948$i))|0;
-      HEAP32[$699>>2] = $701;
-      $702 = ((($$749$i)) + 8|0);
-      $703 = $702;
-      $704 = $703 & 7;
-      $705 = ($704|0)==(0);
-      $706 = (0 - ($703))|0;
-      $707 = $706 & 7;
-      $708 = $705 ? 0 : $707;
-      $709 = (($$749$i) + ($708)|0);
-      $710 = ((($689)) + 8|0);
-      $711 = $710;
-      $712 = $711 & 7;
-      $713 = ($712|0)==(0);
-      $714 = (0 - ($711))|0;
-      $715 = $714 & 7;
-      $716 = $713 ? 0 : $715;
-      $717 = (($689) + ($716)|0);
-      $718 = $717;
-      $719 = $709;
-      $720 = (($718) - ($719))|0;
-      $721 = (($709) + ($$0197)|0);
-      $722 = (($720) - ($$0197))|0;
-      $723 = $$0197 | 3;
-      $724 = ((($709)) + 4|0);
-      HEAP32[$724>>2] = $723;
-      $725 = ($717|0)==($630|0);
-      do {
-       if ($725) {
-        $726 = HEAP32[(75280)>>2]|0;
-        $727 = (($726) + ($722))|0;
-        HEAP32[(75280)>>2] = $727;
-        HEAP32[(75292)>>2] = $721;
-        $728 = $727 | 1;
-        $729 = ((($721)) + 4|0);
-        HEAP32[$729>>2] = $728;
-       } else {
-        $730 = HEAP32[(75288)>>2]|0;
-        $731 = ($717|0)==($730|0);
-        if ($731) {
-         $732 = HEAP32[(75276)>>2]|0;
-         $733 = (($732) + ($722))|0;
-         HEAP32[(75276)>>2] = $733;
-         HEAP32[(75288)>>2] = $721;
-         $734 = $733 | 1;
-         $735 = ((($721)) + 4|0);
-         HEAP32[$735>>2] = $734;
-         $736 = (($721) + ($733)|0);
-         HEAP32[$736>>2] = $733;
-         break;
-        }
-        $737 = ((($717)) + 4|0);
-        $738 = HEAP32[$737>>2]|0;
-        $739 = $738 & 3;
-        $740 = ($739|0)==(1);
-        if ($740) {
-         $741 = $738 & -8;
-         $742 = $738 >>> 3;
-         $743 = ($738>>>0)<(256);
-         L314: do {
-          if ($743) {
-           $744 = ((($717)) + 8|0);
-           $745 = HEAP32[$744>>2]|0;
-           $746 = ((($717)) + 12|0);
-           $747 = HEAP32[$746>>2]|0;
-           $748 = $742 << 1;
-           $749 = (75308 + ($748<<2)|0);
-           $750 = ($745|0)==($749|0);
-           do {
-            if (!($750)) {
-             $751 = ($745>>>0)<($752>>>0);
-             if ($751) {
-              _abort();
-              // unreachable;
-             }
-             $753 = ((($745)) + 12|0);
-             $754 = HEAP32[$753>>2]|0;
-             $755 = ($754|0)==($717|0);
-             if ($755) {
-              break;
-             }
-             _abort();
-             // unreachable;
-            }
-           } while(0);
-           $756 = ($747|0)==($745|0);
-           if ($756) {
-            $757 = 1 << $742;
-            $758 = $757 ^ -1;
-            $759 = HEAP32[18817]|0;
-            $760 = $759 & $758;
-            HEAP32[18817] = $760;
-            break;
-           }
-           $761 = ($747|0)==($749|0);
-           do {
-            if ($761) {
-             $$pre10$i$i = ((($747)) + 8|0);
-             $$pre$phi11$i$iZ2D = $$pre10$i$i;
-            } else {
-             $762 = ($747>>>0)<($752>>>0);
-             if ($762) {
-              _abort();
-              // unreachable;
-             }
-             $763 = ((($747)) + 8|0);
-             $764 = HEAP32[$763>>2]|0;
-             $765 = ($764|0)==($717|0);
-             if ($765) {
-              $$pre$phi11$i$iZ2D = $763;
-              break;
-             }
-             _abort();
-             // unreachable;
-            }
-           } while(0);
-           $766 = ((($745)) + 12|0);
-           HEAP32[$766>>2] = $747;
-           HEAP32[$$pre$phi11$i$iZ2D>>2] = $745;
-          } else {
-           $767 = ((($717)) + 24|0);
-           $768 = HEAP32[$767>>2]|0;
-           $769 = ((($717)) + 12|0);
-           $770 = HEAP32[$769>>2]|0;
-           $771 = ($770|0)==($717|0);
-           do {
-            if ($771) {
-             $781 = ((($717)) + 16|0);
-             $782 = ((($781)) + 4|0);
-             $783 = HEAP32[$782>>2]|0;
-             $784 = ($783|0)==(0|0);
-             if ($784) {
-              $785 = HEAP32[$781>>2]|0;
-              $786 = ($785|0)==(0|0);
-              if ($786) {
-               $$3$i$i = 0;
-               break;
-              } else {
-               $$1291$i$i = $785;$$1293$i$i = $781;
-              }
-             } else {
-              $$1291$i$i = $783;$$1293$i$i = $782;
-             }
-             while(1) {
-              $787 = ((($$1291$i$i)) + 20|0);
-              $788 = HEAP32[$787>>2]|0;
-              $789 = ($788|0)==(0|0);
-              if (!($789)) {
-               $$1291$i$i = $788;$$1293$i$i = $787;
-               continue;
-              }
-              $790 = ((($$1291$i$i)) + 16|0);
-              $791 = HEAP32[$790>>2]|0;
-              $792 = ($791|0)==(0|0);
-              if ($792) {
-               break;
-              } else {
-               $$1291$i$i = $791;$$1293$i$i = $790;
-              }
-             }
-             $793 = ($$1293$i$i>>>0)<($752>>>0);
-             if ($793) {
-              _abort();
-              // unreachable;
-             } else {
-              HEAP32[$$1293$i$i>>2] = 0;
-              $$3$i$i = $$1291$i$i;
-              break;
-             }
-            } else {
-             $772 = ((($717)) + 8|0);
-             $773 = HEAP32[$772>>2]|0;
-             $774 = ($773>>>0)<($752>>>0);
-             if ($774) {
-              _abort();
-              // unreachable;
-             }
-             $775 = ((($773)) + 12|0);
-             $776 = HEAP32[$775>>2]|0;
-             $777 = ($776|0)==($717|0);
-             if (!($777)) {
-              _abort();
-              // unreachable;
-             }
-             $778 = ((($770)) + 8|0);
-             $779 = HEAP32[$778>>2]|0;
-             $780 = ($779|0)==($717|0);
-             if ($780) {
-              HEAP32[$775>>2] = $770;
-              HEAP32[$778>>2] = $773;
-              $$3$i$i = $770;
-              break;
-             } else {
-              _abort();
-              // unreachable;
-             }
-            }
-           } while(0);
-           $794 = ($768|0)==(0|0);
-           if ($794) {
-            break;
-           }
-           $795 = ((($717)) + 28|0);
-           $796 = HEAP32[$795>>2]|0;
-           $797 = (75572 + ($796<<2)|0);
-           $798 = HEAP32[$797>>2]|0;
-           $799 = ($717|0)==($798|0);
-           do {
-            if ($799) {
-             HEAP32[$797>>2] = $$3$i$i;
-             $cond$i$i = ($$3$i$i|0)==(0|0);
-             if (!($cond$i$i)) {
-              break;
-             }
-             $800 = 1 << $796;
-             $801 = $800 ^ -1;
-             $802 = HEAP32[(75272)>>2]|0;
-             $803 = $802 & $801;
-             HEAP32[(75272)>>2] = $803;
-             break L314;
-            } else {
-             $804 = HEAP32[(75284)>>2]|0;
-             $805 = ($768>>>0)<($804>>>0);
-             if ($805) {
-              _abort();
-              // unreachable;
-             } else {
-              $806 = ((($768)) + 16|0);
-              $807 = HEAP32[$806>>2]|0;
-              $not$$i17$i = ($807|0)!=($717|0);
-              $$sink1$i$i = $not$$i17$i&1;
-              $808 = (((($768)) + 16|0) + ($$sink1$i$i<<2)|0);
-              HEAP32[$808>>2] = $$3$i$i;
-              $809 = ($$3$i$i|0)==(0|0);
-              if ($809) {
-               break L314;
-              } else {
-               break;
-              }
-             }
-            }
-           } while(0);
-           $810 = HEAP32[(75284)>>2]|0;
-           $811 = ($$3$i$i>>>0)<($810>>>0);
-           if ($811) {
-            _abort();
-            // unreachable;
-           }
-           $812 = ((($$3$i$i)) + 24|0);
-           HEAP32[$812>>2] = $768;
-           $813 = ((($717)) + 16|0);
-           $814 = HEAP32[$813>>2]|0;
-           $815 = ($814|0)==(0|0);
-           do {
-            if (!($815)) {
-             $816 = ($814>>>0)<($810>>>0);
-             if ($816) {
-              _abort();
-              // unreachable;
-             } else {
-              $817 = ((($$3$i$i)) + 16|0);
-              HEAP32[$817>>2] = $814;
-              $818 = ((($814)) + 24|0);
-              HEAP32[$818>>2] = $$3$i$i;
-              break;
-             }
-            }
-           } while(0);
-           $819 = ((($813)) + 4|0);
-           $820 = HEAP32[$819>>2]|0;
-           $821 = ($820|0)==(0|0);
-           if ($821) {
-            break;
-           }
-           $822 = HEAP32[(75284)>>2]|0;
-           $823 = ($820>>>0)<($822>>>0);
-           if ($823) {
-            _abort();
-            // unreachable;
-           } else {
-            $824 = ((($$3$i$i)) + 20|0);
-            HEAP32[$824>>2] = $820;
-            $825 = ((($820)) + 24|0);
-            HEAP32[$825>>2] = $$3$i$i;
-            break;
-           }
-          }
-         } while(0);
-         $826 = (($717) + ($741)|0);
-         $827 = (($741) + ($722))|0;
-         $$0$i18$i = $826;$$0287$i$i = $827;
-        } else {
-         $$0$i18$i = $717;$$0287$i$i = $722;
-        }
-        $828 = ((($$0$i18$i)) + 4|0);
-        $829 = HEAP32[$828>>2]|0;
-        $830 = $829 & -2;
-        HEAP32[$828>>2] = $830;
-        $831 = $$0287$i$i | 1;
-        $832 = ((($721)) + 4|0);
-        HEAP32[$832>>2] = $831;
-        $833 = (($721) + ($$0287$i$i)|0);
-        HEAP32[$833>>2] = $$0287$i$i;
-        $834 = $$0287$i$i >>> 3;
-        $835 = ($$0287$i$i>>>0)<(256);
-        if ($835) {
-         $836 = $834 << 1;
-         $837 = (75308 + ($836<<2)|0);
-         $838 = HEAP32[18817]|0;
-         $839 = 1 << $834;
-         $840 = $838 & $839;
-         $841 = ($840|0)==(0);
-         do {
-          if ($841) {
-           $842 = $838 | $839;
-           HEAP32[18817] = $842;
-           $$pre$i19$i = ((($837)) + 8|0);
-           $$0295$i$i = $837;$$pre$phi$i20$iZ2D = $$pre$i19$i;
-          } else {
-           $843 = ((($837)) + 8|0);
-           $844 = HEAP32[$843>>2]|0;
-           $845 = HEAP32[(75284)>>2]|0;
-           $846 = ($844>>>0)<($845>>>0);
-           if (!($846)) {
-            $$0295$i$i = $844;$$pre$phi$i20$iZ2D = $843;
-            break;
-           }
-           _abort();
-           // unreachable;
-          }
-         } while(0);
-         HEAP32[$$pre$phi$i20$iZ2D>>2] = $721;
-         $847 = ((($$0295$i$i)) + 12|0);
-         HEAP32[$847>>2] = $721;
-         $848 = ((($721)) + 8|0);
-         HEAP32[$848>>2] = $$0295$i$i;
-         $849 = ((($721)) + 12|0);
-         HEAP32[$849>>2] = $837;
-         break;
-        }
-        $850 = $$0287$i$i >>> 8;
-        $851 = ($850|0)==(0);
-        do {
-         if ($851) {
-          $$0296$i$i = 0;
-         } else {
-          $852 = ($$0287$i$i>>>0)>(16777215);
-          if ($852) {
-           $$0296$i$i = 31;
-           break;
-          }
-          $853 = (($850) + 1048320)|0;
-          $854 = $853 >>> 16;
-          $855 = $854 & 8;
-          $856 = $850 << $855;
-          $857 = (($856) + 520192)|0;
-          $858 = $857 >>> 16;
-          $859 = $858 & 4;
-          $860 = $859 | $855;
-          $861 = $856 << $859;
-          $862 = (($861) + 245760)|0;
-          $863 = $862 >>> 16;
-          $864 = $863 & 2;
-          $865 = $860 | $864;
-          $866 = (14 - ($865))|0;
-          $867 = $861 << $864;
-          $868 = $867 >>> 15;
-          $869 = (($866) + ($868))|0;
-          $870 = $869 << 1;
-          $871 = (($869) + 7)|0;
-          $872 = $$0287$i$i >>> $871;
-          $873 = $872 & 1;
-          $874 = $873 | $870;
-          $$0296$i$i = $874;
-         }
-        } while(0);
-        $875 = (75572 + ($$0296$i$i<<2)|0);
-        $876 = ((($721)) + 28|0);
-        HEAP32[$876>>2] = $$0296$i$i;
-        $877 = ((($721)) + 16|0);
-        $878 = ((($877)) + 4|0);
-        HEAP32[$878>>2] = 0;
-        HEAP32[$877>>2] = 0;
-        $879 = HEAP32[(75272)>>2]|0;
-        $880 = 1 << $$0296$i$i;
-        $881 = $879 & $880;
-        $882 = ($881|0)==(0);
-        if ($882) {
-         $883 = $879 | $880;
-         HEAP32[(75272)>>2] = $883;
-         HEAP32[$875>>2] = $721;
-         $884 = ((($721)) + 24|0);
-         HEAP32[$884>>2] = $875;
-         $885 = ((($721)) + 12|0);
-         HEAP32[$885>>2] = $721;
-         $886 = ((($721)) + 8|0);
-         HEAP32[$886>>2] = $721;
-         break;
-        }
-        $887 = HEAP32[$875>>2]|0;
-        $888 = ($$0296$i$i|0)==(31);
-        $889 = $$0296$i$i >>> 1;
-        $890 = (25 - ($889))|0;
-        $891 = $888 ? 0 : $890;
-        $892 = $$0287$i$i << $891;
-        $$0288$i$i = $892;$$0289$i$i = $887;
-        while(1) {
-         $893 = ((($$0289$i$i)) + 4|0);
-         $894 = HEAP32[$893>>2]|0;
-         $895 = $894 & -8;
-         $896 = ($895|0)==($$0287$i$i|0);
-         if ($896) {
-          label = 265;
-          break;
-         }
-         $897 = $$0288$i$i >>> 31;
-         $898 = (((($$0289$i$i)) + 16|0) + ($897<<2)|0);
-         $899 = $$0288$i$i << 1;
-         $900 = HEAP32[$898>>2]|0;
-         $901 = ($900|0)==(0|0);
-         if ($901) {
-          label = 262;
-          break;
-         } else {
-          $$0288$i$i = $899;$$0289$i$i = $900;
-         }
-        }
-        if ((label|0) == 262) {
-         $902 = HEAP32[(75284)>>2]|0;
-         $903 = ($898>>>0)<($902>>>0);
-         if ($903) {
-          _abort();
-          // unreachable;
-         } else {
-          HEAP32[$898>>2] = $721;
-          $904 = ((($721)) + 24|0);
-          HEAP32[$904>>2] = $$0289$i$i;
-          $905 = ((($721)) + 12|0);
-          HEAP32[$905>>2] = $721;
-          $906 = ((($721)) + 8|0);
-          HEAP32[$906>>2] = $721;
-          break;
-         }
-        }
-        else if ((label|0) == 265) {
-         $907 = ((($$0289$i$i)) + 8|0);
-         $908 = HEAP32[$907>>2]|0;
-         $909 = HEAP32[(75284)>>2]|0;
-         $910 = ($908>>>0)>=($909>>>0);
-         $not$7$i$i = ($$0289$i$i>>>0)>=($909>>>0);
-         $911 = $910 & $not$7$i$i;
-         if ($911) {
-          $912 = ((($908)) + 12|0);
-          HEAP32[$912>>2] = $721;
-          HEAP32[$907>>2] = $721;
-          $913 = ((($721)) + 8|0);
-          HEAP32[$913>>2] = $908;
-          $914 = ((($721)) + 12|0);
-          HEAP32[$914>>2] = $$0289$i$i;
-          $915 = ((($721)) + 24|0);
-          HEAP32[$915>>2] = 0;
-          break;
-         } else {
-          _abort();
-          // unreachable;
-         }
-        }
-       }
-      } while(0);
-      $1047 = ((($709)) + 8|0);
-      $$0 = $1047;
-      STACKTOP = sp;return ($$0|0);
-     }
-    }
-    $$0$i$i$i = (75716);
-    while(1) {
-     $916 = HEAP32[$$0$i$i$i>>2]|0;
-     $917 = ($916>>>0)>($630>>>0);
-     if (!($917)) {
-      $918 = ((($$0$i$i$i)) + 4|0);
-      $919 = HEAP32[$918>>2]|0;
-      $920 = (($916) + ($919)|0);
-      $921 = ($920>>>0)>($630>>>0);
-      if ($921) {
-       break;
-      }
-     }
-     $922 = ((($$0$i$i$i)) + 8|0);
-     $923 = HEAP32[$922>>2]|0;
-     $$0$i$i$i = $923;
-    }
-    $924 = ((($920)) + -47|0);
-    $925 = ((($924)) + 8|0);
-    $926 = $925;
-    $927 = $926 & 7;
-    $928 = ($927|0)==(0);
-    $929 = (0 - ($926))|0;
-    $930 = $929 & 7;
-    $931 = $928 ? 0 : $930;
-    $932 = (($924) + ($931)|0);
-    $933 = ((($630)) + 16|0);
-    $934 = ($932>>>0)<($933>>>0);
-    $935 = $934 ? $630 : $932;
-    $936 = ((($935)) + 8|0);
-    $937 = ((($935)) + 24|0);
-    $938 = (($$723948$i) + -40)|0;
-    $939 = ((($$749$i)) + 8|0);
-    $940 = $939;
-    $941 = $940 & 7;
-    $942 = ($941|0)==(0);
-    $943 = (0 - ($940))|0;
-    $944 = $943 & 7;
-    $945 = $942 ? 0 : $944;
-    $946 = (($$749$i) + ($945)|0);
-    $947 = (($938) - ($945))|0;
-    HEAP32[(75292)>>2] = $946;
-    HEAP32[(75280)>>2] = $947;
-    $948 = $947 | 1;
-    $949 = ((($946)) + 4|0);
-    HEAP32[$949>>2] = $948;
-    $950 = (($946) + ($947)|0);
-    $951 = ((($950)) + 4|0);
-    HEAP32[$951>>2] = 40;
-    $952 = HEAP32[(75756)>>2]|0;
-    HEAP32[(75296)>>2] = $952;
-    $953 = ((($935)) + 4|0);
-    HEAP32[$953>>2] = 27;
-    ;HEAP32[$936>>2]=HEAP32[(75716)>>2]|0;HEAP32[$936+4>>2]=HEAP32[(75716)+4>>2]|0;HEAP32[$936+8>>2]=HEAP32[(75716)+8>>2]|0;HEAP32[$936+12>>2]=HEAP32[(75716)+12>>2]|0;
-    HEAP32[(75716)>>2] = $$749$i;
-    HEAP32[(75720)>>2] = $$723948$i;
-    HEAP32[(75728)>>2] = 0;
-    HEAP32[(75724)>>2] = $936;
-    $955 = $937;
-    while(1) {
-     $954 = ((($955)) + 4|0);
-     HEAP32[$954>>2] = 7;
-     $956 = ((($955)) + 8|0);
-     $957 = ($956>>>0)<($920>>>0);
-     if ($957) {
-      $955 = $954;
-     } else {
-      break;
-     }
-    }
-    $958 = ($935|0)==($630|0);
-    if (!($958)) {
-     $959 = $935;
-     $960 = $630;
-     $961 = (($959) - ($960))|0;
-     $962 = HEAP32[$953>>2]|0;
-     $963 = $962 & -2;
-     HEAP32[$953>>2] = $963;
-     $964 = $961 | 1;
-     $965 = ((($630)) + 4|0);
-     HEAP32[$965>>2] = $964;
-     HEAP32[$935>>2] = $961;
-     $966 = $961 >>> 3;
-     $967 = ($961>>>0)<(256);
-     if ($967) {
-      $968 = $966 << 1;
-      $969 = (75308 + ($968<<2)|0);
-      $970 = HEAP32[18817]|0;
-      $971 = 1 << $966;
-      $972 = $970 & $971;
-      $973 = ($972|0)==(0);
-      if ($973) {
-       $974 = $970 | $971;
-       HEAP32[18817] = $974;
-       $$pre$i$i = ((($969)) + 8|0);
-       $$0211$i$i = $969;$$pre$phi$i$iZ2D = $$pre$i$i;
-      } else {
-       $975 = ((($969)) + 8|0);
-       $976 = HEAP32[$975>>2]|0;
-       $977 = HEAP32[(75284)>>2]|0;
-       $978 = ($976>>>0)<($977>>>0);
-       if ($978) {
-        _abort();
-        // unreachable;
-       } else {
-        $$0211$i$i = $976;$$pre$phi$i$iZ2D = $975;
-       }
-      }
-      HEAP32[$$pre$phi$i$iZ2D>>2] = $630;
-      $979 = ((($$0211$i$i)) + 12|0);
-      HEAP32[$979>>2] = $630;
-      $980 = ((($630)) + 8|0);
-      HEAP32[$980>>2] = $$0211$i$i;
-      $981 = ((($630)) + 12|0);
-      HEAP32[$981>>2] = $969;
-      break;
-     }
-     $982 = $961 >>> 8;
-     $983 = ($982|0)==(0);
-     if ($983) {
-      $$0212$i$i = 0;
-     } else {
-      $984 = ($961>>>0)>(16777215);
-      if ($984) {
-       $$0212$i$i = 31;
-      } else {
-       $985 = (($982) + 1048320)|0;
-       $986 = $985 >>> 16;
-       $987 = $986 & 8;
-       $988 = $982 << $987;
-       $989 = (($988) + 520192)|0;
-       $990 = $989 >>> 16;
-       $991 = $990 & 4;
-       $992 = $991 | $987;
-       $993 = $988 << $991;
-       $994 = (($993) + 245760)|0;
-       $995 = $994 >>> 16;
-       $996 = $995 & 2;
-       $997 = $992 | $996;
-       $998 = (14 - ($997))|0;
-       $999 = $993 << $996;
-       $1000 = $999 >>> 15;
-       $1001 = (($998) + ($1000))|0;
-       $1002 = $1001 << 1;
-       $1003 = (($1001) + 7)|0;
-       $1004 = $961 >>> $1003;
-       $1005 = $1004 & 1;
-       $1006 = $1005 | $1002;
-       $$0212$i$i = $1006;
-      }
-     }
-     $1007 = (75572 + ($$0212$i$i<<2)|0);
-     $1008 = ((($630)) + 28|0);
-     HEAP32[$1008>>2] = $$0212$i$i;
-     $1009 = ((($630)) + 20|0);
-     HEAP32[$1009>>2] = 0;
-     HEAP32[$933>>2] = 0;
-     $1010 = HEAP32[(75272)>>2]|0;
-     $1011 = 1 << $$0212$i$i;
-     $1012 = $1010 & $1011;
-     $1013 = ($1012|0)==(0);
-     if ($1013) {
-      $1014 = $1010 | $1011;
-      HEAP32[(75272)>>2] = $1014;
-      HEAP32[$1007>>2] = $630;
-      $1015 = ((($630)) + 24|0);
-      HEAP32[$1015>>2] = $1007;
-      $1016 = ((($630)) + 12|0);
-      HEAP32[$1016>>2] = $630;
-      $1017 = ((($630)) + 8|0);
-      HEAP32[$1017>>2] = $630;
-      break;
-     }
-     $1018 = HEAP32[$1007>>2]|0;
-     $1019 = ($$0212$i$i|0)==(31);
-     $1020 = $$0212$i$i >>> 1;
-     $1021 = (25 - ($1020))|0;
-     $1022 = $1019 ? 0 : $1021;
-     $1023 = $961 << $1022;
-     $$0206$i$i = $1023;$$0207$i$i = $1018;
-     while(1) {
-      $1024 = ((($$0207$i$i)) + 4|0);
-      $1025 = HEAP32[$1024>>2]|0;
-      $1026 = $1025 & -8;
-      $1027 = ($1026|0)==($961|0);
-      if ($1027) {
-       label = 292;
-       break;
-      }
-      $1028 = $$0206$i$i >>> 31;
-      $1029 = (((($$0207$i$i)) + 16|0) + ($1028<<2)|0);
-      $1030 = $$0206$i$i << 1;
-      $1031 = HEAP32[$1029>>2]|0;
-      $1032 = ($1031|0)==(0|0);
-      if ($1032) {
-       label = 289;
-       break;
-      } else {
-       $$0206$i$i = $1030;$$0207$i$i = $1031;
-      }
-     }
-     if ((label|0) == 289) {
-      $1033 = HEAP32[(75284)>>2]|0;
-      $1034 = ($1029>>>0)<($1033>>>0);
-      if ($1034) {
-       _abort();
-       // unreachable;
-      } else {
-       HEAP32[$1029>>2] = $630;
-       $1035 = ((($630)) + 24|0);
-       HEAP32[$1035>>2] = $$0207$i$i;
-       $1036 = ((($630)) + 12|0);
-       HEAP32[$1036>>2] = $630;
-       $1037 = ((($630)) + 8|0);
-       HEAP32[$1037>>2] = $630;
-       break;
-      }
-     }
-     else if ((label|0) == 292) {
-      $1038 = ((($$0207$i$i)) + 8|0);
-      $1039 = HEAP32[$1038>>2]|0;
-      $1040 = HEAP32[(75284)>>2]|0;
-      $1041 = ($1039>>>0)>=($1040>>>0);
-      $not$$i$i = ($$0207$i$i>>>0)>=($1040>>>0);
-      $1042 = $1041 & $not$$i$i;
-      if ($1042) {
-       $1043 = ((($1039)) + 12|0);
-       HEAP32[$1043>>2] = $630;
-       HEAP32[$1038>>2] = $630;
-       $1044 = ((($630)) + 8|0);
-       HEAP32[$1044>>2] = $1039;
-       $1045 = ((($630)) + 12|0);
-       HEAP32[$1045>>2] = $$0207$i$i;
-       $1046 = ((($630)) + 24|0);
-       HEAP32[$1046>>2] = 0;
-       break;
-      } else {
-       _abort();
-       // unreachable;
-      }
-     }
-    }
-   }
-  } while(0);
-  $1048 = HEAP32[(75280)>>2]|0;
-  $1049 = ($1048>>>0)>($$0197>>>0);
-  if ($1049) {
-   $1050 = (($1048) - ($$0197))|0;
-   HEAP32[(75280)>>2] = $1050;
-   $1051 = HEAP32[(75292)>>2]|0;
-   $1052 = (($1051) + ($$0197)|0);
-   HEAP32[(75292)>>2] = $1052;
-   $1053 = $1050 | 1;
-   $1054 = ((($1052)) + 4|0);
-   HEAP32[$1054>>2] = $1053;
-   $1055 = $$0197 | 3;
-   $1056 = ((($1051)) + 4|0);
-   HEAP32[$1056>>2] = $1055;
-   $1057 = ((($1051)) + 8|0);
-   $$0 = $1057;
-   STACKTOP = sp;return ($$0|0);
-  }
- }
- $1058 = (___errno_location()|0);
- HEAP32[$1058>>2] = 12;
- $$0 = 0;
- STACKTOP = sp;return ($$0|0);
-}
-function _free($0) {
- $0 = $0|0;
- var $$0212$i = 0, $$0212$in$i = 0, $$0383 = 0, $$0384 = 0, $$0396 = 0, $$0403 = 0, $$1 = 0, $$1382 = 0, $$1387 = 0, $$1390 = 0, $$1398 = 0, $$1402 = 0, $$2 = 0, $$3 = 0, $$3400 = 0, $$pre = 0, $$pre$phi443Z2D = 0, $$pre$phi445Z2D = 0, $$pre$phiZ2D = 0, $$pre442 = 0;
- var $$pre444 = 0, $$sink3 = 0, $$sink5 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0;
- var $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0;
- var $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0;
- var $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0;
- var $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0;
- var $187 = 0, $188 = 0, $189 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0;
- var $204 = 0, $205 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0;
- var $222 = 0, $223 = 0, $224 = 0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0;
- var $240 = 0, $241 = 0, $242 = 0, $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0;
- var $259 = 0, $26 = 0, $260 = 0, $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0;
- var $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0;
- var $295 = 0, $296 = 0, $297 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $304 = 0, $305 = 0, $306 = 0, $307 = 0, $308 = 0, $309 = 0, $31 = 0, $310 = 0, $311 = 0;
- var $312 = 0, $313 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $318 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0;
- var $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0;
- var $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0;
- var $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0;
- var $99 = 0, $cond421 = 0, $cond422 = 0, $not$ = 0, $not$405 = 0, $not$437 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $1 = ($0|0)==(0|0);
- if ($1) {
-  return;
- }
- $2 = ((($0)) + -8|0);
- $3 = HEAP32[(75284)>>2]|0;
- $4 = ($2>>>0)<($3>>>0);
- if ($4) {
-  _abort();
-  // unreachable;
- }
- $5 = ((($0)) + -4|0);
- $6 = HEAP32[$5>>2]|0;
- $7 = $6 & 3;
- $8 = ($7|0)==(1);
- if ($8) {
-  _abort();
-  // unreachable;
- }
- $9 = $6 & -8;
- $10 = (($2) + ($9)|0);
- $11 = $6 & 1;
- $12 = ($11|0)==(0);
- L10: do {
-  if ($12) {
-   $13 = HEAP32[$2>>2]|0;
-   $14 = ($7|0)==(0);
-   if ($14) {
-    return;
-   }
-   $15 = (0 - ($13))|0;
-   $16 = (($2) + ($15)|0);
-   $17 = (($13) + ($9))|0;
-   $18 = ($16>>>0)<($3>>>0);
-   if ($18) {
-    _abort();
-    // unreachable;
-   }
-   $19 = HEAP32[(75288)>>2]|0;
-   $20 = ($16|0)==($19|0);
-   if ($20) {
-    $104 = ((($10)) + 4|0);
-    $105 = HEAP32[$104>>2]|0;
-    $106 = $105 & 3;
-    $107 = ($106|0)==(3);
-    if (!($107)) {
-     $$1 = $16;$$1382 = $17;$113 = $16;
-     break;
-    }
-    $108 = (($16) + ($17)|0);
-    $109 = ((($16)) + 4|0);
-    $110 = $17 | 1;
-    $111 = $105 & -2;
-    HEAP32[(75276)>>2] = $17;
-    HEAP32[$104>>2] = $111;
-    HEAP32[$109>>2] = $110;
-    HEAP32[$108>>2] = $17;
-    return;
-   }
-   $21 = $13 >>> 3;
-   $22 = ($13>>>0)<(256);
-   if ($22) {
-    $23 = ((($16)) + 8|0);
-    $24 = HEAP32[$23>>2]|0;
-    $25 = ((($16)) + 12|0);
-    $26 = HEAP32[$25>>2]|0;
-    $27 = $21 << 1;
-    $28 = (75308 + ($27<<2)|0);
-    $29 = ($24|0)==($28|0);
-    if (!($29)) {
-     $30 = ($24>>>0)<($3>>>0);
-     if ($30) {
-      _abort();
-      // unreachable;
-     }
-     $31 = ((($24)) + 12|0);
-     $32 = HEAP32[$31>>2]|0;
-     $33 = ($32|0)==($16|0);
-     if (!($33)) {
-      _abort();
-      // unreachable;
-     }
-    }
-    $34 = ($26|0)==($24|0);
-    if ($34) {
-     $35 = 1 << $21;
-     $36 = $35 ^ -1;
-     $37 = HEAP32[18817]|0;
-     $38 = $37 & $36;
-     HEAP32[18817] = $38;
-     $$1 = $16;$$1382 = $17;$113 = $16;
-     break;
-    }
-    $39 = ($26|0)==($28|0);
-    if ($39) {
-     $$pre444 = ((($26)) + 8|0);
-     $$pre$phi445Z2D = $$pre444;
-    } else {
-     $40 = ($26>>>0)<($3>>>0);
-     if ($40) {
-      _abort();
-      // unreachable;
-     }
-     $41 = ((($26)) + 8|0);
-     $42 = HEAP32[$41>>2]|0;
-     $43 = ($42|0)==($16|0);
-     if ($43) {
-      $$pre$phi445Z2D = $41;
-     } else {
-      _abort();
-      // unreachable;
-     }
-    }
-    $44 = ((($24)) + 12|0);
-    HEAP32[$44>>2] = $26;
-    HEAP32[$$pre$phi445Z2D>>2] = $24;
-    $$1 = $16;$$1382 = $17;$113 = $16;
-    break;
-   }
-   $45 = ((($16)) + 24|0);
-   $46 = HEAP32[$45>>2]|0;
-   $47 = ((($16)) + 12|0);
-   $48 = HEAP32[$47>>2]|0;
-   $49 = ($48|0)==($16|0);
-   do {
-    if ($49) {
-     $59 = ((($16)) + 16|0);
-     $60 = ((($59)) + 4|0);
-     $61 = HEAP32[$60>>2]|0;
-     $62 = ($61|0)==(0|0);
-     if ($62) {
-      $63 = HEAP32[$59>>2]|0;
-      $64 = ($63|0)==(0|0);
-      if ($64) {
-       $$3 = 0;
-       break;
-      } else {
-       $$1387 = $63;$$1390 = $59;
-      }
-     } else {
-      $$1387 = $61;$$1390 = $60;
-     }
-     while(1) {
-      $65 = ((($$1387)) + 20|0);
-      $66 = HEAP32[$65>>2]|0;
-      $67 = ($66|0)==(0|0);
-      if (!($67)) {
-       $$1387 = $66;$$1390 = $65;
-       continue;
-      }
-      $68 = ((($$1387)) + 16|0);
-      $69 = HEAP32[$68>>2]|0;
-      $70 = ($69|0)==(0|0);
-      if ($70) {
-       break;
-      } else {
-       $$1387 = $69;$$1390 = $68;
-      }
-     }
-     $71 = ($$1390>>>0)<($3>>>0);
-     if ($71) {
-      _abort();
-      // unreachable;
-     } else {
-      HEAP32[$$1390>>2] = 0;
-      $$3 = $$1387;
-      break;
-     }
-    } else {
-     $50 = ((($16)) + 8|0);
-     $51 = HEAP32[$50>>2]|0;
-     $52 = ($51>>>0)<($3>>>0);
-     if ($52) {
-      _abort();
-      // unreachable;
-     }
-     $53 = ((($51)) + 12|0);
-     $54 = HEAP32[$53>>2]|0;
-     $55 = ($54|0)==($16|0);
-     if (!($55)) {
-      _abort();
-      // unreachable;
-     }
-     $56 = ((($48)) + 8|0);
-     $57 = HEAP32[$56>>2]|0;
-     $58 = ($57|0)==($16|0);
-     if ($58) {
-      HEAP32[$53>>2] = $48;
-      HEAP32[$56>>2] = $51;
-      $$3 = $48;
-      break;
-     } else {
-      _abort();
-      // unreachable;
-     }
-    }
-   } while(0);
-   $72 = ($46|0)==(0|0);
-   if ($72) {
-    $$1 = $16;$$1382 = $17;$113 = $16;
-   } else {
-    $73 = ((($16)) + 28|0);
-    $74 = HEAP32[$73>>2]|0;
-    $75 = (75572 + ($74<<2)|0);
-    $76 = HEAP32[$75>>2]|0;
-    $77 = ($16|0)==($76|0);
-    do {
-     if ($77) {
-      HEAP32[$75>>2] = $$3;
-      $cond421 = ($$3|0)==(0|0);
-      if ($cond421) {
-       $78 = 1 << $74;
-       $79 = $78 ^ -1;
-       $80 = HEAP32[(75272)>>2]|0;
-       $81 = $80 & $79;
-       HEAP32[(75272)>>2] = $81;
-       $$1 = $16;$$1382 = $17;$113 = $16;
-       break L10;
-      }
-     } else {
-      $82 = HEAP32[(75284)>>2]|0;
-      $83 = ($46>>>0)<($82>>>0);
-      if ($83) {
-       _abort();
-       // unreachable;
-      } else {
-       $84 = ((($46)) + 16|0);
-       $85 = HEAP32[$84>>2]|0;
-       $not$405 = ($85|0)!=($16|0);
-       $$sink3 = $not$405&1;
-       $86 = (((($46)) + 16|0) + ($$sink3<<2)|0);
-       HEAP32[$86>>2] = $$3;
-       $87 = ($$3|0)==(0|0);
-       if ($87) {
-        $$1 = $16;$$1382 = $17;$113 = $16;
-        break L10;
-       } else {
-        break;
-       }
-      }
-     }
-    } while(0);
-    $88 = HEAP32[(75284)>>2]|0;
-    $89 = ($$3>>>0)<($88>>>0);
-    if ($89) {
-     _abort();
-     // unreachable;
-    }
-    $90 = ((($$3)) + 24|0);
-    HEAP32[$90>>2] = $46;
-    $91 = ((($16)) + 16|0);
-    $92 = HEAP32[$91>>2]|0;
-    $93 = ($92|0)==(0|0);
-    do {
-     if (!($93)) {
-      $94 = ($92>>>0)<($88>>>0);
-      if ($94) {
-       _abort();
-       // unreachable;
-      } else {
-       $95 = ((($$3)) + 16|0);
-       HEAP32[$95>>2] = $92;
-       $96 = ((($92)) + 24|0);
-       HEAP32[$96>>2] = $$3;
-       break;
-      }
-     }
-    } while(0);
-    $97 = ((($91)) + 4|0);
-    $98 = HEAP32[$97>>2]|0;
-    $99 = ($98|0)==(0|0);
-    if ($99) {
-     $$1 = $16;$$1382 = $17;$113 = $16;
-    } else {
-     $100 = HEAP32[(75284)>>2]|0;
-     $101 = ($98>>>0)<($100>>>0);
-     if ($101) {
-      _abort();
-      // unreachable;
-     } else {
-      $102 = ((($$3)) + 20|0);
-      HEAP32[$102>>2] = $98;
-      $103 = ((($98)) + 24|0);
-      HEAP32[$103>>2] = $$3;
-      $$1 = $16;$$1382 = $17;$113 = $16;
-      break;
-     }
-    }
-   }
-  } else {
-   $$1 = $2;$$1382 = $9;$113 = $2;
-  }
- } while(0);
- $112 = ($113>>>0)<($10>>>0);
- if (!($112)) {
-  _abort();
-  // unreachable;
- }
- $114 = ((($10)) + 4|0);
- $115 = HEAP32[$114>>2]|0;
- $116 = $115 & 1;
- $117 = ($116|0)==(0);
- if ($117) {
-  _abort();
-  // unreachable;
- }
- $118 = $115 & 2;
- $119 = ($118|0)==(0);
- if ($119) {
-  $120 = HEAP32[(75292)>>2]|0;
-  $121 = ($10|0)==($120|0);
-  $122 = HEAP32[(75288)>>2]|0;
-  if ($121) {
-   $123 = HEAP32[(75280)>>2]|0;
-   $124 = (($123) + ($$1382))|0;
-   HEAP32[(75280)>>2] = $124;
-   HEAP32[(75292)>>2] = $$1;
-   $125 = $124 | 1;
-   $126 = ((($$1)) + 4|0);
-   HEAP32[$126>>2] = $125;
-   $127 = ($$1|0)==($122|0);
-   if (!($127)) {
-    return;
-   }
-   HEAP32[(75288)>>2] = 0;
-   HEAP32[(75276)>>2] = 0;
-   return;
-  }
-  $128 = ($10|0)==($122|0);
-  if ($128) {
-   $129 = HEAP32[(75276)>>2]|0;
-   $130 = (($129) + ($$1382))|0;
-   HEAP32[(75276)>>2] = $130;
-   HEAP32[(75288)>>2] = $113;
-   $131 = $130 | 1;
-   $132 = ((($$1)) + 4|0);
-   HEAP32[$132>>2] = $131;
-   $133 = (($113) + ($130)|0);
-   HEAP32[$133>>2] = $130;
-   return;
-  }
-  $134 = $115 & -8;
-  $135 = (($134) + ($$1382))|0;
-  $136 = $115 >>> 3;
-  $137 = ($115>>>0)<(256);
-  L108: do {
-   if ($137) {
-    $138 = ((($10)) + 8|0);
-    $139 = HEAP32[$138>>2]|0;
-    $140 = ((($10)) + 12|0);
-    $141 = HEAP32[$140>>2]|0;
-    $142 = $136 << 1;
-    $143 = (75308 + ($142<<2)|0);
-    $144 = ($139|0)==($143|0);
-    if (!($144)) {
-     $145 = HEAP32[(75284)>>2]|0;
-     $146 = ($139>>>0)<($145>>>0);
-     if ($146) {
-      _abort();
-      // unreachable;
-     }
-     $147 = ((($139)) + 12|0);
-     $148 = HEAP32[$147>>2]|0;
-     $149 = ($148|0)==($10|0);
-     if (!($149)) {
-      _abort();
-      // unreachable;
-     }
-    }
-    $150 = ($141|0)==($139|0);
-    if ($150) {
-     $151 = 1 << $136;
-     $152 = $151 ^ -1;
-     $153 = HEAP32[18817]|0;
-     $154 = $153 & $152;
-     HEAP32[18817] = $154;
-     break;
-    }
-    $155 = ($141|0)==($143|0);
-    if ($155) {
-     $$pre442 = ((($141)) + 8|0);
-     $$pre$phi443Z2D = $$pre442;
-    } else {
-     $156 = HEAP32[(75284)>>2]|0;
-     $157 = ($141>>>0)<($156>>>0);
-     if ($157) {
-      _abort();
-      // unreachable;
-     }
-     $158 = ((($141)) + 8|0);
-     $159 = HEAP32[$158>>2]|0;
-     $160 = ($159|0)==($10|0);
-     if ($160) {
-      $$pre$phi443Z2D = $158;
-     } else {
-      _abort();
-      // unreachable;
-     }
-    }
-    $161 = ((($139)) + 12|0);
-    HEAP32[$161>>2] = $141;
-    HEAP32[$$pre$phi443Z2D>>2] = $139;
-   } else {
-    $162 = ((($10)) + 24|0);
-    $163 = HEAP32[$162>>2]|0;
-    $164 = ((($10)) + 12|0);
-    $165 = HEAP32[$164>>2]|0;
-    $166 = ($165|0)==($10|0);
-    do {
-     if ($166) {
-      $177 = ((($10)) + 16|0);
-      $178 = ((($177)) + 4|0);
-      $179 = HEAP32[$178>>2]|0;
-      $180 = ($179|0)==(0|0);
-      if ($180) {
-       $181 = HEAP32[$177>>2]|0;
-       $182 = ($181|0)==(0|0);
-       if ($182) {
-        $$3400 = 0;
-        break;
-       } else {
-        $$1398 = $181;$$1402 = $177;
-       }
-      } else {
-       $$1398 = $179;$$1402 = $178;
-      }
-      while(1) {
-       $183 = ((($$1398)) + 20|0);
-       $184 = HEAP32[$183>>2]|0;
-       $185 = ($184|0)==(0|0);
-       if (!($185)) {
-        $$1398 = $184;$$1402 = $183;
-        continue;
-       }
-       $186 = ((($$1398)) + 16|0);
-       $187 = HEAP32[$186>>2]|0;
-       $188 = ($187|0)==(0|0);
-       if ($188) {
-        break;
-       } else {
-        $$1398 = $187;$$1402 = $186;
-       }
-      }
-      $189 = HEAP32[(75284)>>2]|0;
-      $190 = ($$1402>>>0)<($189>>>0);
-      if ($190) {
-       _abort();
-       // unreachable;
-      } else {
-       HEAP32[$$1402>>2] = 0;
-       $$3400 = $$1398;
-       break;
-      }
-     } else {
-      $167 = ((($10)) + 8|0);
-      $168 = HEAP32[$167>>2]|0;
-      $169 = HEAP32[(75284)>>2]|0;
-      $170 = ($168>>>0)<($169>>>0);
-      if ($170) {
-       _abort();
-       // unreachable;
-      }
-      $171 = ((($168)) + 12|0);
-      $172 = HEAP32[$171>>2]|0;
-      $173 = ($172|0)==($10|0);
-      if (!($173)) {
-       _abort();
-       // unreachable;
-      }
-      $174 = ((($165)) + 8|0);
-      $175 = HEAP32[$174>>2]|0;
-      $176 = ($175|0)==($10|0);
-      if ($176) {
-       HEAP32[$171>>2] = $165;
-       HEAP32[$174>>2] = $168;
-       $$3400 = $165;
-       break;
-      } else {
-       _abort();
-       // unreachable;
-      }
-     }
-    } while(0);
-    $191 = ($163|0)==(0|0);
-    if (!($191)) {
-     $192 = ((($10)) + 28|0);
-     $193 = HEAP32[$192>>2]|0;
-     $194 = (75572 + ($193<<2)|0);
-     $195 = HEAP32[$194>>2]|0;
-     $196 = ($10|0)==($195|0);
-     do {
-      if ($196) {
-       HEAP32[$194>>2] = $$3400;
-       $cond422 = ($$3400|0)==(0|0);
-       if ($cond422) {
-        $197 = 1 << $193;
-        $198 = $197 ^ -1;
-        $199 = HEAP32[(75272)>>2]|0;
-        $200 = $199 & $198;
-        HEAP32[(75272)>>2] = $200;
-        break L108;
-       }
-      } else {
-       $201 = HEAP32[(75284)>>2]|0;
-       $202 = ($163>>>0)<($201>>>0);
-       if ($202) {
-        _abort();
-        // unreachable;
-       } else {
-        $203 = ((($163)) + 16|0);
-        $204 = HEAP32[$203>>2]|0;
-        $not$ = ($204|0)!=($10|0);
-        $$sink5 = $not$&1;
-        $205 = (((($163)) + 16|0) + ($$sink5<<2)|0);
-        HEAP32[$205>>2] = $$3400;
-        $206 = ($$3400|0)==(0|0);
-        if ($206) {
-         break L108;
-        } else {
-         break;
-        }
-       }
-      }
-     } while(0);
-     $207 = HEAP32[(75284)>>2]|0;
-     $208 = ($$3400>>>0)<($207>>>0);
-     if ($208) {
-      _abort();
-      // unreachable;
-     }
-     $209 = ((($$3400)) + 24|0);
-     HEAP32[$209>>2] = $163;
-     $210 = ((($10)) + 16|0);
-     $211 = HEAP32[$210>>2]|0;
-     $212 = ($211|0)==(0|0);
-     do {
-      if (!($212)) {
-       $213 = ($211>>>0)<($207>>>0);
-       if ($213) {
-        _abort();
-        // unreachable;
-       } else {
-        $214 = ((($$3400)) + 16|0);
-        HEAP32[$214>>2] = $211;
-        $215 = ((($211)) + 24|0);
-        HEAP32[$215>>2] = $$3400;
-        break;
-       }
-      }
-     } while(0);
-     $216 = ((($210)) + 4|0);
-     $217 = HEAP32[$216>>2]|0;
-     $218 = ($217|0)==(0|0);
-     if (!($218)) {
-      $219 = HEAP32[(75284)>>2]|0;
-      $220 = ($217>>>0)<($219>>>0);
-      if ($220) {
-       _abort();
-       // unreachable;
-      } else {
-       $221 = ((($$3400)) + 20|0);
-       HEAP32[$221>>2] = $217;
-       $222 = ((($217)) + 24|0);
-       HEAP32[$222>>2] = $$3400;
-       break;
-      }
-     }
-    }
-   }
-  } while(0);
-  $223 = $135 | 1;
-  $224 = ((($$1)) + 4|0);
-  HEAP32[$224>>2] = $223;
-  $225 = (($113) + ($135)|0);
-  HEAP32[$225>>2] = $135;
-  $226 = HEAP32[(75288)>>2]|0;
-  $227 = ($$1|0)==($226|0);
-  if ($227) {
-   HEAP32[(75276)>>2] = $135;
-   return;
-  } else {
-   $$2 = $135;
-  }
- } else {
-  $228 = $115 & -2;
-  HEAP32[$114>>2] = $228;
-  $229 = $$1382 | 1;
-  $230 = ((($$1)) + 4|0);
-  HEAP32[$230>>2] = $229;
-  $231 = (($113) + ($$1382)|0);
-  HEAP32[$231>>2] = $$1382;
-  $$2 = $$1382;
- }
- $232 = $$2 >>> 3;
- $233 = ($$2>>>0)<(256);
- if ($233) {
-  $234 = $232 << 1;
-  $235 = (75308 + ($234<<2)|0);
-  $236 = HEAP32[18817]|0;
-  $237 = 1 << $232;
-  $238 = $236 & $237;
-  $239 = ($238|0)==(0);
-  if ($239) {
-   $240 = $236 | $237;
-   HEAP32[18817] = $240;
-   $$pre = ((($235)) + 8|0);
-   $$0403 = $235;$$pre$phiZ2D = $$pre;
-  } else {
-   $241 = ((($235)) + 8|0);
-   $242 = HEAP32[$241>>2]|0;
-   $243 = HEAP32[(75284)>>2]|0;
-   $244 = ($242>>>0)<($243>>>0);
-   if ($244) {
-    _abort();
-    // unreachable;
-   } else {
-    $$0403 = $242;$$pre$phiZ2D = $241;
-   }
-  }
-  HEAP32[$$pre$phiZ2D>>2] = $$1;
-  $245 = ((($$0403)) + 12|0);
-  HEAP32[$245>>2] = $$1;
-  $246 = ((($$1)) + 8|0);
-  HEAP32[$246>>2] = $$0403;
-  $247 = ((($$1)) + 12|0);
-  HEAP32[$247>>2] = $235;
-  return;
- }
- $248 = $$2 >>> 8;
- $249 = ($248|0)==(0);
- if ($249) {
-  $$0396 = 0;
- } else {
-  $250 = ($$2>>>0)>(16777215);
-  if ($250) {
-   $$0396 = 31;
-  } else {
-   $251 = (($248) + 1048320)|0;
-   $252 = $251 >>> 16;
-   $253 = $252 & 8;
-   $254 = $248 << $253;
-   $255 = (($254) + 520192)|0;
-   $256 = $255 >>> 16;
-   $257 = $256 & 4;
-   $258 = $257 | $253;
-   $259 = $254 << $257;
-   $260 = (($259) + 245760)|0;
-   $261 = $260 >>> 16;
-   $262 = $261 & 2;
-   $263 = $258 | $262;
-   $264 = (14 - ($263))|0;
-   $265 = $259 << $262;
-   $266 = $265 >>> 15;
-   $267 = (($264) + ($266))|0;
-   $268 = $267 << 1;
-   $269 = (($267) + 7)|0;
-   $270 = $$2 >>> $269;
-   $271 = $270 & 1;
-   $272 = $271 | $268;
-   $$0396 = $272;
-  }
- }
- $273 = (75572 + ($$0396<<2)|0);
- $274 = ((($$1)) + 28|0);
- HEAP32[$274>>2] = $$0396;
- $275 = ((($$1)) + 16|0);
- $276 = ((($$1)) + 20|0);
- HEAP32[$276>>2] = 0;
- HEAP32[$275>>2] = 0;
- $277 = HEAP32[(75272)>>2]|0;
- $278 = 1 << $$0396;
- $279 = $277 & $278;
- $280 = ($279|0)==(0);
- do {
-  if ($280) {
-   $281 = $277 | $278;
-   HEAP32[(75272)>>2] = $281;
-   HEAP32[$273>>2] = $$1;
-   $282 = ((($$1)) + 24|0);
-   HEAP32[$282>>2] = $273;
-   $283 = ((($$1)) + 12|0);
-   HEAP32[$283>>2] = $$1;
-   $284 = ((($$1)) + 8|0);
-   HEAP32[$284>>2] = $$1;
-  } else {
-   $285 = HEAP32[$273>>2]|0;
-   $286 = ($$0396|0)==(31);
-   $287 = $$0396 >>> 1;
-   $288 = (25 - ($287))|0;
-   $289 = $286 ? 0 : $288;
-   $290 = $$2 << $289;
-   $$0383 = $290;$$0384 = $285;
-   while(1) {
-    $291 = ((($$0384)) + 4|0);
-    $292 = HEAP32[$291>>2]|0;
-    $293 = $292 & -8;
-    $294 = ($293|0)==($$2|0);
-    if ($294) {
-     label = 124;
-     break;
-    }
-    $295 = $$0383 >>> 31;
-    $296 = (((($$0384)) + 16|0) + ($295<<2)|0);
-    $297 = $$0383 << 1;
-    $298 = HEAP32[$296>>2]|0;
-    $299 = ($298|0)==(0|0);
-    if ($299) {
-     label = 121;
-     break;
-    } else {
-     $$0383 = $297;$$0384 = $298;
-    }
-   }
-   if ((label|0) == 121) {
-    $300 = HEAP32[(75284)>>2]|0;
-    $301 = ($296>>>0)<($300>>>0);
-    if ($301) {
-     _abort();
-     // unreachable;
-    } else {
-     HEAP32[$296>>2] = $$1;
-     $302 = ((($$1)) + 24|0);
-     HEAP32[$302>>2] = $$0384;
-     $303 = ((($$1)) + 12|0);
-     HEAP32[$303>>2] = $$1;
-     $304 = ((($$1)) + 8|0);
-     HEAP32[$304>>2] = $$1;
-     break;
-    }
-   }
-   else if ((label|0) == 124) {
-    $305 = ((($$0384)) + 8|0);
-    $306 = HEAP32[$305>>2]|0;
-    $307 = HEAP32[(75284)>>2]|0;
-    $308 = ($306>>>0)>=($307>>>0);
-    $not$437 = ($$0384>>>0)>=($307>>>0);
-    $309 = $308 & $not$437;
-    if ($309) {
-     $310 = ((($306)) + 12|0);
-     HEAP32[$310>>2] = $$1;
-     HEAP32[$305>>2] = $$1;
-     $311 = ((($$1)) + 8|0);
-     HEAP32[$311>>2] = $306;
-     $312 = ((($$1)) + 12|0);
-     HEAP32[$312>>2] = $$0384;
-     $313 = ((($$1)) + 24|0);
-     HEAP32[$313>>2] = 0;
-     break;
-    } else {
-     _abort();
-     // unreachable;
-    }
-   }
-  }
- } while(0);
- $314 = HEAP32[(75300)>>2]|0;
- $315 = (($314) + -1)|0;
- HEAP32[(75300)>>2] = $315;
- $316 = ($315|0)==(0);
- if ($316) {
-  $$0212$in$i = (75724);
- } else {
-  return;
- }
- while(1) {
-  $$0212$i = HEAP32[$$0212$in$i>>2]|0;
-  $317 = ($$0212$i|0)==(0|0);
-  $318 = ((($$0212$i)) + 8|0);
-  if ($317) {
-   break;
-  } else {
-   $$0212$in$i = $318;
-  }
- }
- HEAP32[(75300)>>2] = -1;
- return;
-}
-function _realloc($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0;
- var $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = ($0|0)==(0|0);
- if ($2) {
-  $3 = (_malloc($1)|0);
-  $$1 = $3;
-  return ($$1|0);
- }
- $4 = ($1>>>0)>(4294967231);
- if ($4) {
-  $5 = (___errno_location()|0);
-  HEAP32[$5>>2] = 12;
-  $$1 = 0;
-  return ($$1|0);
- }
- $6 = ($1>>>0)<(11);
- $7 = (($1) + 11)|0;
- $8 = $7 & -8;
- $9 = $6 ? 16 : $8;
- $10 = ((($0)) + -8|0);
- $11 = (_try_realloc_chunk($10,$9)|0);
- $12 = ($11|0)==(0|0);
- if (!($12)) {
-  $13 = ((($11)) + 8|0);
-  $$1 = $13;
-  return ($$1|0);
- }
- $14 = (_malloc($1)|0);
- $15 = ($14|0)==(0|0);
- if ($15) {
-  $$1 = 0;
-  return ($$1|0);
- }
- $16 = ((($0)) + -4|0);
- $17 = HEAP32[$16>>2]|0;
- $18 = $17 & -8;
- $19 = $17 & 3;
- $20 = ($19|0)==(0);
- $21 = $20 ? 8 : 4;
- $22 = (($18) - ($21))|0;
- $23 = ($22>>>0)<($1>>>0);
- $24 = $23 ? $22 : $1;
- _memcpy(($14|0),($0|0),($24|0))|0;
- _free($0);
- $$1 = $14;
- return ($$1|0);
-}
-function _try_realloc_chunk($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$1272 = 0, $$1275 = 0, $$2 = 0, $$3 = 0, $$pre = 0, $$pre$phiZ2D = 0, $$sink1 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0;
- var $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0;
- var $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0;
- var $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0;
- var $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0;
- var $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0;
- var $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0;
- var $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0;
- var $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0;
- var $cond = 0, $not$ = 0, $notlhs = 0, $notrhs = 0, $or$cond$not = 0, $or$cond3 = 0, $storemerge = 0, $storemerge1 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = ((($0)) + 4|0);
- $3 = HEAP32[$2>>2]|0;
- $4 = $3 & -8;
- $5 = (($0) + ($4)|0);
- $6 = HEAP32[(75284)>>2]|0;
- $7 = $3 & 3;
- $notlhs = ($0>>>0)>=($6>>>0);
- $notrhs = ($7|0)!=(1);
- $or$cond$not = $notrhs & $notlhs;
- $8 = ($0>>>0)<($5>>>0);
- $or$cond3 = $or$cond$not & $8;
- if (!($or$cond3)) {
-  _abort();
-  // unreachable;
- }
- $9 = ((($5)) + 4|0);
- $10 = HEAP32[$9>>2]|0;
- $11 = $10 & 1;
- $12 = ($11|0)==(0);
- if ($12) {
-  _abort();
-  // unreachable;
- }
- $13 = ($7|0)==(0);
- if ($13) {
-  $14 = ($1>>>0)<(256);
-  if ($14) {
-   $$2 = 0;
-   return ($$2|0);
-  }
-  $15 = (($1) + 4)|0;
-  $16 = ($4>>>0)<($15>>>0);
-  if (!($16)) {
-   $17 = (($4) - ($1))|0;
-   $18 = HEAP32[(75748)>>2]|0;
-   $19 = $18 << 1;
-   $20 = ($17>>>0)>($19>>>0);
-   if (!($20)) {
-    $$2 = $0;
-    return ($$2|0);
-   }
-  }
-  $$2 = 0;
-  return ($$2|0);
- }
- $21 = ($4>>>0)<($1>>>0);
- if (!($21)) {
-  $22 = (($4) - ($1))|0;
-  $23 = ($22>>>0)>(15);
-  if (!($23)) {
-   $$2 = $0;
-   return ($$2|0);
-  }
-  $24 = (($0) + ($1)|0);
-  $25 = $3 & 1;
-  $26 = $25 | $1;
-  $27 = $26 | 2;
-  HEAP32[$2>>2] = $27;
-  $28 = ((($24)) + 4|0);
-  $29 = $22 | 3;
-  HEAP32[$28>>2] = $29;
-  $30 = (($24) + ($22)|0);
-  $31 = ((($30)) + 4|0);
-  $32 = HEAP32[$31>>2]|0;
-  $33 = $32 | 1;
-  HEAP32[$31>>2] = $33;
-  _dispose_chunk($24,$22);
-  $$2 = $0;
-  return ($$2|0);
- }
- $34 = HEAP32[(75292)>>2]|0;
- $35 = ($5|0)==($34|0);
- if ($35) {
-  $36 = HEAP32[(75280)>>2]|0;
-  $37 = (($36) + ($4))|0;
-  $38 = ($37>>>0)>($1>>>0);
-  $39 = (($37) - ($1))|0;
-  $40 = (($0) + ($1)|0);
-  if (!($38)) {
-   $$2 = 0;
-   return ($$2|0);
-  }
-  $41 = $39 | 1;
-  $42 = ((($40)) + 4|0);
-  $43 = $3 & 1;
-  $44 = $43 | $1;
-  $45 = $44 | 2;
-  HEAP32[$2>>2] = $45;
-  HEAP32[$42>>2] = $41;
-  HEAP32[(75292)>>2] = $40;
-  HEAP32[(75280)>>2] = $39;
-  $$2 = $0;
-  return ($$2|0);
- }
- $46 = HEAP32[(75288)>>2]|0;
- $47 = ($5|0)==($46|0);
- if ($47) {
-  $48 = HEAP32[(75276)>>2]|0;
-  $49 = (($48) + ($4))|0;
-  $50 = ($49>>>0)<($1>>>0);
-  if ($50) {
-   $$2 = 0;
-   return ($$2|0);
-  }
-  $51 = (($49) - ($1))|0;
-  $52 = ($51>>>0)>(15);
-  $53 = $3 & 1;
-  if ($52) {
-   $54 = (($0) + ($1)|0);
-   $55 = (($54) + ($51)|0);
-   $56 = $53 | $1;
-   $57 = $56 | 2;
-   HEAP32[$2>>2] = $57;
-   $58 = ((($54)) + 4|0);
-   $59 = $51 | 1;
-   HEAP32[$58>>2] = $59;
-   HEAP32[$55>>2] = $51;
-   $60 = ((($55)) + 4|0);
-   $61 = HEAP32[$60>>2]|0;
-   $62 = $61 & -2;
-   HEAP32[$60>>2] = $62;
-   $storemerge = $54;$storemerge1 = $51;
-  } else {
-   $63 = $53 | $49;
-   $64 = $63 | 2;
-   HEAP32[$2>>2] = $64;
-   $65 = (($0) + ($49)|0);
-   $66 = ((($65)) + 4|0);
-   $67 = HEAP32[$66>>2]|0;
-   $68 = $67 | 1;
-   HEAP32[$66>>2] = $68;
-   $storemerge = 0;$storemerge1 = 0;
-  }
-  HEAP32[(75276)>>2] = $storemerge1;
-  HEAP32[(75288)>>2] = $storemerge;
-  $$2 = $0;
-  return ($$2|0);
- }
- $69 = $10 & 2;
- $70 = ($69|0)==(0);
- if (!($70)) {
-  $$2 = 0;
-  return ($$2|0);
- }
- $71 = $10 & -8;
- $72 = (($71) + ($4))|0;
- $73 = ($72>>>0)<($1>>>0);
- if ($73) {
-  $$2 = 0;
-  return ($$2|0);
- }
- $74 = (($72) - ($1))|0;
- $75 = $10 >>> 3;
- $76 = ($10>>>0)<(256);
- L49: do {
-  if ($76) {
-   $77 = ((($5)) + 8|0);
-   $78 = HEAP32[$77>>2]|0;
-   $79 = ((($5)) + 12|0);
-   $80 = HEAP32[$79>>2]|0;
-   $81 = $75 << 1;
-   $82 = (75308 + ($81<<2)|0);
-   $83 = ($78|0)==($82|0);
-   if (!($83)) {
-    $84 = ($78>>>0)<($6>>>0);
-    if ($84) {
-     _abort();
-     // unreachable;
-    }
-    $85 = ((($78)) + 12|0);
-    $86 = HEAP32[$85>>2]|0;
-    $87 = ($86|0)==($5|0);
-    if (!($87)) {
-     _abort();
-     // unreachable;
-    }
-   }
-   $88 = ($80|0)==($78|0);
-   if ($88) {
-    $89 = 1 << $75;
-    $90 = $89 ^ -1;
-    $91 = HEAP32[18817]|0;
-    $92 = $91 & $90;
-    HEAP32[18817] = $92;
-    break;
-   }
-   $93 = ($80|0)==($82|0);
-   if ($93) {
-    $$pre = ((($80)) + 8|0);
-    $$pre$phiZ2D = $$pre;
-   } else {
-    $94 = ($80>>>0)<($6>>>0);
-    if ($94) {
-     _abort();
-     // unreachable;
-    }
-    $95 = ((($80)) + 8|0);
-    $96 = HEAP32[$95>>2]|0;
-    $97 = ($96|0)==($5|0);
-    if ($97) {
-     $$pre$phiZ2D = $95;
-    } else {
-     _abort();
-     // unreachable;
-    }
-   }
-   $98 = ((($78)) + 12|0);
-   HEAP32[$98>>2] = $80;
-   HEAP32[$$pre$phiZ2D>>2] = $78;
-  } else {
-   $99 = ((($5)) + 24|0);
-   $100 = HEAP32[$99>>2]|0;
-   $101 = ((($5)) + 12|0);
-   $102 = HEAP32[$101>>2]|0;
-   $103 = ($102|0)==($5|0);
-   do {
-    if ($103) {
-     $113 = ((($5)) + 16|0);
-     $114 = ((($113)) + 4|0);
-     $115 = HEAP32[$114>>2]|0;
-     $116 = ($115|0)==(0|0);
-     if ($116) {
-      $117 = HEAP32[$113>>2]|0;
-      $118 = ($117|0)==(0|0);
-      if ($118) {
-       $$3 = 0;
-       break;
-      } else {
-       $$1272 = $117;$$1275 = $113;
-      }
-     } else {
-      $$1272 = $115;$$1275 = $114;
-     }
-     while(1) {
-      $119 = ((($$1272)) + 20|0);
-      $120 = HEAP32[$119>>2]|0;
-      $121 = ($120|0)==(0|0);
-      if (!($121)) {
-       $$1272 = $120;$$1275 = $119;
-       continue;
-      }
-      $122 = ((($$1272)) + 16|0);
-      $123 = HEAP32[$122>>2]|0;
-      $124 = ($123|0)==(0|0);
-      if ($124) {
-       break;
-      } else {
-       $$1272 = $123;$$1275 = $122;
-      }
-     }
-     $125 = ($$1275>>>0)<($6>>>0);
-     if ($125) {
-      _abort();
-      // unreachable;
-     } else {
-      HEAP32[$$1275>>2] = 0;
-      $$3 = $$1272;
-      break;
-     }
-    } else {
-     $104 = ((($5)) + 8|0);
-     $105 = HEAP32[$104>>2]|0;
-     $106 = ($105>>>0)<($6>>>0);
-     if ($106) {
-      _abort();
-      // unreachable;
-     }
-     $107 = ((($105)) + 12|0);
-     $108 = HEAP32[$107>>2]|0;
-     $109 = ($108|0)==($5|0);
-     if (!($109)) {
-      _abort();
-      // unreachable;
-     }
-     $110 = ((($102)) + 8|0);
-     $111 = HEAP32[$110>>2]|0;
-     $112 = ($111|0)==($5|0);
-     if ($112) {
-      HEAP32[$107>>2] = $102;
-      HEAP32[$110>>2] = $105;
-      $$3 = $102;
-      break;
-     } else {
-      _abort();
-      // unreachable;
-     }
-    }
-   } while(0);
-   $126 = ($100|0)==(0|0);
-   if (!($126)) {
-    $127 = ((($5)) + 28|0);
-    $128 = HEAP32[$127>>2]|0;
-    $129 = (75572 + ($128<<2)|0);
-    $130 = HEAP32[$129>>2]|0;
-    $131 = ($5|0)==($130|0);
-    do {
-     if ($131) {
-      HEAP32[$129>>2] = $$3;
-      $cond = ($$3|0)==(0|0);
-      if ($cond) {
-       $132 = 1 << $128;
-       $133 = $132 ^ -1;
-       $134 = HEAP32[(75272)>>2]|0;
-       $135 = $134 & $133;
-       HEAP32[(75272)>>2] = $135;
-       break L49;
-      }
-     } else {
-      $136 = HEAP32[(75284)>>2]|0;
-      $137 = ($100>>>0)<($136>>>0);
-      if ($137) {
-       _abort();
-       // unreachable;
-      } else {
-       $138 = ((($100)) + 16|0);
-       $139 = HEAP32[$138>>2]|0;
-       $not$ = ($139|0)!=($5|0);
-       $$sink1 = $not$&1;
-       $140 = (((($100)) + 16|0) + ($$sink1<<2)|0);
-       HEAP32[$140>>2] = $$3;
-       $141 = ($$3|0)==(0|0);
-       if ($141) {
-        break L49;
-       } else {
-        break;
-       }
-      }
-     }
-    } while(0);
-    $142 = HEAP32[(75284)>>2]|0;
-    $143 = ($$3>>>0)<($142>>>0);
-    if ($143) {
-     _abort();
-     // unreachable;
-    }
-    $144 = ((($$3)) + 24|0);
-    HEAP32[$144>>2] = $100;
-    $145 = ((($5)) + 16|0);
-    $146 = HEAP32[$145>>2]|0;
-    $147 = ($146|0)==(0|0);
-    do {
-     if (!($147)) {
-      $148 = ($146>>>0)<($142>>>0);
-      if ($148) {
-       _abort();
-       // unreachable;
-      } else {
-       $149 = ((($$3)) + 16|0);
-       HEAP32[$149>>2] = $146;
-       $150 = ((($146)) + 24|0);
-       HEAP32[$150>>2] = $$3;
-       break;
-      }
-     }
-    } while(0);
-    $151 = ((($145)) + 4|0);
-    $152 = HEAP32[$151>>2]|0;
-    $153 = ($152|0)==(0|0);
-    if (!($153)) {
-     $154 = HEAP32[(75284)>>2]|0;
-     $155 = ($152>>>0)<($154>>>0);
-     if ($155) {
-      _abort();
-      // unreachable;
-     } else {
-      $156 = ((($$3)) + 20|0);
-      HEAP32[$156>>2] = $152;
-      $157 = ((($152)) + 24|0);
-      HEAP32[$157>>2] = $$3;
-      break;
-     }
-    }
-   }
-  }
- } while(0);
- $158 = ($74>>>0)<(16);
- $159 = $3 & 1;
- if ($158) {
-  $160 = $72 | $159;
-  $161 = $160 | 2;
-  HEAP32[$2>>2] = $161;
-  $162 = (($0) + ($72)|0);
-  $163 = ((($162)) + 4|0);
-  $164 = HEAP32[$163>>2]|0;
-  $165 = $164 | 1;
-  HEAP32[$163>>2] = $165;
-  $$2 = $0;
-  return ($$2|0);
- } else {
-  $166 = (($0) + ($1)|0);
-  $167 = $159 | $1;
-  $168 = $167 | 2;
-  HEAP32[$2>>2] = $168;
-  $169 = ((($166)) + 4|0);
-  $170 = $74 | 3;
-  HEAP32[$169>>2] = $170;
-  $171 = (($166) + ($74)|0);
-  $172 = ((($171)) + 4|0);
-  $173 = HEAP32[$172>>2]|0;
-  $174 = $173 | 1;
-  HEAP32[$172>>2] = $174;
-  _dispose_chunk($166,$74);
-  $$2 = $0;
-  return ($$2|0);
- }
- return (0)|0;
-}
-function _dispose_chunk($0,$1) {
- $0 = $0|0;
- $1 = $1|0;
- var $$0419 = 0, $$0420 = 0, $$0431 = 0, $$0438 = 0, $$1 = 0, $$1418 = 0, $$1426 = 0, $$1429 = 0, $$1433 = 0, $$1437 = 0, $$2 = 0, $$3 = 0, $$3435 = 0, $$pre = 0, $$pre$phi24Z2D = 0, $$pre$phi26Z2D = 0, $$pre$phiZ2D = 0, $$pre23 = 0, $$pre25 = 0, $$sink2 = 0;
- var $$sink4 = 0, $10 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0;
- var $117 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0;
- var $135 = 0, $136 = 0, $137 = 0, $138 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0;
- var $153 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $17 = 0, $170 = 0;
- var $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $18 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0;
- var $19 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0;
- var $207 = 0, $208 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0;
- var $225 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $23 = 0, $230 = 0, $231 = 0, $232 = 0, $233 = 0, $234 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $241 = 0, $242 = 0;
- var $243 = 0, $244 = 0, $245 = 0, $246 = 0, $247 = 0, $248 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $252 = 0, $253 = 0, $254 = 0, $255 = 0, $256 = 0, $257 = 0, $258 = 0, $259 = 0, $26 = 0, $260 = 0;
- var $261 = 0, $262 = 0, $263 = 0, $264 = 0, $265 = 0, $266 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $270 = 0, $271 = 0, $272 = 0, $273 = 0, $274 = 0, $275 = 0, $276 = 0, $277 = 0, $278 = 0, $279 = 0;
- var $28 = 0, $280 = 0, $281 = 0, $282 = 0, $283 = 0, $284 = 0, $285 = 0, $286 = 0, $287 = 0, $288 = 0, $289 = 0, $29 = 0, $290 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0;
- var $298 = 0, $299 = 0, $3 = 0, $30 = 0, $300 = 0, $301 = 0, $302 = 0, $303 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0;
- var $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0;
- var $60 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0;
- var $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0;
- var $97 = 0, $98 = 0, $99 = 0, $cond = 0, $cond17 = 0, $not$ = 0, $not$1 = 0, $not$19 = 0, label = 0, sp = 0;
- sp = STACKTOP;
- $2 = (($0) + ($1)|0);
- $3 = ((($0)) + 4|0);
- $4 = HEAP32[$3>>2]|0;
- $5 = $4 & 1;
- $6 = ($5|0)==(0);
- L1: do {
-  if ($6) {
-   $7 = HEAP32[$0>>2]|0;
-   $8 = $4 & 3;
-   $9 = ($8|0)==(0);
-   if ($9) {
-    return;
-   }
-   $10 = (0 - ($7))|0;
-   $11 = (($0) + ($10)|0);
-   $12 = (($7) + ($1))|0;
-   $13 = HEAP32[(75284)>>2]|0;
-   $14 = ($11>>>0)<($13>>>0);
-   if ($14) {
-    _abort();
-    // unreachable;
-   }
-   $15 = HEAP32[(75288)>>2]|0;
-   $16 = ($11|0)==($15|0);
-   if ($16) {
-    $100 = ((($2)) + 4|0);
-    $101 = HEAP32[$100>>2]|0;
-    $102 = $101 & 3;
-    $103 = ($102|0)==(3);
-    if (!($103)) {
-     $$1 = $11;$$1418 = $12;
-     break;
-    }
-    $104 = (($11) + ($12)|0);
-    $105 = ((($11)) + 4|0);
-    $106 = $12 | 1;
-    $107 = $101 & -2;
-    HEAP32[(75276)>>2] = $12;
-    HEAP32[$100>>2] = $107;
-    HEAP32[$105>>2] = $106;
-    HEAP32[$104>>2] = $12;
-    return;
-   }
-   $17 = $7 >>> 3;
-   $18 = ($7>>>0)<(256);
-   if ($18) {
-    $19 = ((($11)) + 8|0);
-    $20 = HEAP32[$19>>2]|0;
-    $21 = ((($11)) + 12|0);
-    $22 = HEAP32[$21>>2]|0;
-    $23 = $17 << 1;
-    $24 = (75308 + ($23<<2)|0);
-    $25 = ($20|0)==($24|0);
-    if (!($25)) {
-     $26 = ($20>>>0)<($13>>>0);
-     if ($26) {
-      _abort();
-      // unreachable;
-     }
-     $27 = ((($20)) + 12|0);
-     $28 = HEAP32[$27>>2]|0;
-     $29 = ($28|0)==($11|0);
-     if (!($29)) {
-      _abort();
-      // unreachable;
-     }
-    }
-    $30 = ($22|0)==($20|0);
-    if ($30) {
-     $31 = 1 << $17;
-     $32 = $31 ^ -1;
-     $33 = HEAP32[18817]|0;
-     $34 = $33 & $32;
-     HEAP32[18817] = $34;
-     $$1 = $11;$$1418 = $12;
-     break;
-    }
-    $35 = ($22|0)==($24|0);
-    if ($35) {
-     $$pre25 = ((($22)) + 8|0);
-     $$pre$phi26Z2D = $$pre25;
-    } else {
-     $36 = ($22>>>0)<($13>>>0);
-     if ($36) {
-      _abort();
-      // unreachable;
-     }
-     $37 = ((($22)) + 8|0);
-     $38 = HEAP32[$37>>2]|0;
-     $39 = ($38|0)==($11|0);
-     if ($39) {
-      $$pre$phi26Z2D = $37;
-     } else {
-      _abort();
-      // unreachable;
-     }
-    }
-    $40 = ((($20)) + 12|0);
-    HEAP32[$40>>2] = $22;
-    HEAP32[$$pre$phi26Z2D>>2] = $20;
-    $$1 = $11;$$1418 = $12;
-    break;
-   }
-   $41 = ((($11)) + 24|0);
-   $42 = HEAP32[$41>>2]|0;
-   $43 = ((($11)) + 12|0);
-   $44 = HEAP32[$43>>2]|0;
-   $45 = ($44|0)==($11|0);
-   do {
-    if ($45) {
-     $55 = ((($11)) + 16|0);
-     $56 = ((($55)) + 4|0);
-     $57 = HEAP32[$56>>2]|0;
-     $58 = ($57|0)==(0|0);
-     if ($58) {
-      $59 = HEAP32[$55>>2]|0;
-      $60 = ($59|0)==(0|0);
-      if ($60) {
-       $$3 = 0;
-       break;
-      } else {
-       $$1426 = $59;$$1429 = $55;
-      }
-     } else {
-      $$1426 = $57;$$1429 = $56;
-     }
-     while(1) {
-      $61 = ((($$1426)) + 20|0);
-      $62 = HEAP32[$61>>2]|0;
-      $63 = ($62|0)==(0|0);
-      if (!($63)) {
-       $$1426 = $62;$$1429 = $61;
-       continue;
-      }
-      $64 = ((($$1426)) + 16|0);
-      $65 = HEAP32[$64>>2]|0;
-      $66 = ($65|0)==(0|0);
-      if ($66) {
-       break;
-      } else {
-       $$1426 = $65;$$1429 = $64;
-      }
-     }
-     $67 = ($$1429>>>0)<($13>>>0);
-     if ($67) {
-      _abort();
-      // unreachable;
-     } else {
-      HEAP32[$$1429>>2] = 0;
-      $$3 = $$1426;
-      break;
-     }
-    } else {
-     $46 = ((($11)) + 8|0);
-     $47 = HEAP32[$46>>2]|0;
-     $48 = ($47>>>0)<($13>>>0);
-     if ($48) {
-      _abort();
-      // unreachable;
-     }
-     $49 = ((($47)) + 12|0);
-     $50 = HEAP32[$49>>2]|0;
-     $51 = ($50|0)==($11|0);
-     if (!($51)) {
-      _abort();
-      // unreachable;
-     }
-     $52 = ((($44)) + 8|0);
-     $53 = HEAP32[$52>>2]|0;
-     $54 = ($53|0)==($11|0);
-     if ($54) {
-      HEAP32[$49>>2] = $44;
-      HEAP32[$52>>2] = $47;
-      $$3 = $44;
-      break;
-     } else {
-      _abort();
-      // unreachable;
-     }
-    }
-   } while(0);
-   $68 = ($42|0)==(0|0);
-   if ($68) {
-    $$1 = $11;$$1418 = $12;
-   } else {
-    $69 = ((($11)) + 28|0);
-    $70 = HEAP32[$69>>2]|0;
-    $71 = (75572 + ($70<<2)|0);
-    $72 = HEAP32[$71>>2]|0;
-    $73 = ($11|0)==($72|0);
-    do {
-     if ($73) {
-      HEAP32[$71>>2] = $$3;
-      $cond = ($$3|0)==(0|0);
-      if ($cond) {
-       $74 = 1 << $70;
-       $75 = $74 ^ -1;
-       $76 = HEAP32[(75272)>>2]|0;
-       $77 = $76 & $75;
-       HEAP32[(75272)>>2] = $77;
-       $$1 = $11;$$1418 = $12;
-       break L1;
-      }
-     } else {
-      $78 = HEAP32[(75284)>>2]|0;
-      $79 = ($42>>>0)<($78>>>0);
-      if ($79) {
-       _abort();
-       // unreachable;
-      } else {
-       $80 = ((($42)) + 16|0);
-       $81 = HEAP32[$80>>2]|0;
-       $not$1 = ($81|0)!=($11|0);
-       $$sink2 = $not$1&1;
-       $82 = (((($42)) + 16|0) + ($$sink2<<2)|0);
-       HEAP32[$82>>2] = $$3;
-       $83 = ($$3|0)==(0|0);
-       if ($83) {
-        $$1 = $11;$$1418 = $12;
-        break L1;
-       } else {
-        break;
-       }
-      }
-     }
-    } while(0);
-    $84 = HEAP32[(75284)>>2]|0;
-    $85 = ($$3>>>0)<($84>>>0);
-    if ($85) {
-     _abort();
-     // unreachable;
-    }
-    $86 = ((($$3)) + 24|0);
-    HEAP32[$86>>2] = $42;
-    $87 = ((($11)) + 16|0);
-    $88 = HEAP32[$87>>2]|0;
-    $89 = ($88|0)==(0|0);
-    do {
-     if (!($89)) {
-      $90 = ($88>>>0)<($84>>>0);
-      if ($90) {
-       _abort();
-       // unreachable;
-      } else {
-       $91 = ((($$3)) + 16|0);
-       HEAP32[$91>>2] = $88;
-       $92 = ((($88)) + 24|0);
-       HEAP32[$92>>2] = $$3;
-       break;
-      }
-     }
-    } while(0);
-    $93 = ((($87)) + 4|0);
-    $94 = HEAP32[$93>>2]|0;
-    $95 = ($94|0)==(0|0);
-    if ($95) {
-     $$1 = $11;$$1418 = $12;
-    } else {
-     $96 = HEAP32[(75284)>>2]|0;
-     $97 = ($94>>>0)<($96>>>0);
-     if ($97) {
-      _abort();
-      // unreachable;
-     } else {
-      $98 = ((($$3)) + 20|0);
-      HEAP32[$98>>2] = $94;
-      $99 = ((($94)) + 24|0);
-      HEAP32[$99>>2] = $$3;
-      $$1 = $11;$$1418 = $12;
-      break;
-     }
-    }
-   }
-  } else {
-   $$1 = $0;$$1418 = $1;
-  }
- } while(0);
- $108 = HEAP32[(75284)>>2]|0;
- $109 = ($2>>>0)<($108>>>0);
- if ($109) {
-  _abort();
-  // unreachable;
- }
- $110 = ((($2)) + 4|0);
- $111 = HEAP32[$110>>2]|0;
- $112 = $111 & 2;
- $113 = ($112|0)==(0);
- if ($113) {
-  $114 = HEAP32[(75292)>>2]|0;
-  $115 = ($2|0)==($114|0);
-  $116 = HEAP32[(75288)>>2]|0;
-  if ($115) {
-   $117 = HEAP32[(75280)>>2]|0;
-   $118 = (($117) + ($$1418))|0;
-   HEAP32[(75280)>>2] = $118;
-   HEAP32[(75292)>>2] = $$1;
-   $119 = $118 | 1;
-   $120 = ((($$1)) + 4|0);
-   HEAP32[$120>>2] = $119;
-   $121 = ($$1|0)==($116|0);
-   if (!($121)) {
-    return;
-   }
-   HEAP32[(75288)>>2] = 0;
-   HEAP32[(75276)>>2] = 0;
-   return;
-  }
-  $122 = ($2|0)==($116|0);
-  if ($122) {
-   $123 = HEAP32[(75276)>>2]|0;
-   $124 = (($123) + ($$1418))|0;
-   HEAP32[(75276)>>2] = $124;
-   HEAP32[(75288)>>2] = $$1;
-   $125 = $124 | 1;
-   $126 = ((($$1)) + 4|0);
-   HEAP32[$126>>2] = $125;
-   $127 = (($$1) + ($124)|0);
-   HEAP32[$127>>2] = $124;
-   return;
-  }
-  $128 = $111 & -8;
-  $129 = (($128) + ($$1418))|0;
-  $130 = $111 >>> 3;
-  $131 = ($111>>>0)<(256);
-  L96: do {
-   if ($131) {
-    $132 = ((($2)) + 8|0);
-    $133 = HEAP32[$132>>2]|0;
-    $134 = ((($2)) + 12|0);
-    $135 = HEAP32[$134>>2]|0;
-    $136 = $130 << 1;
-    $137 = (75308 + ($136<<2)|0);
-    $138 = ($133|0)==($137|0);
-    if (!($138)) {
-     $139 = ($133>>>0)<($108>>>0);
-     if ($139) {
-      _abort();
-      // unreachable;
-     }
-     $140 = ((($133)) + 12|0);
-     $141 = HEAP32[$140>>2]|0;
-     $142 = ($141|0)==($2|0);
-     if (!($142)) {
-      _abort();
-      // unreachable;
-     }
-    }
-    $143 = ($135|0)==($133|0);
-    if ($143) {
-     $144 = 1 << $130;
-     $145 = $144 ^ -1;
-     $146 = HEAP32[18817]|0;
-     $147 = $146 & $145;
-     HEAP32[18817] = $147;
-     break;
-    }
-    $148 = ($135|0)==($137|0);
-    if ($148) {
-     $$pre23 = ((($135)) + 8|0);
-     $$pre$phi24Z2D = $$pre23;
-    } else {
-     $149 = ($135>>>0)<($108>>>0);
-     if ($149) {
-      _abort();
-      // unreachable;
-     }
-     $150 = ((($135)) + 8|0);
-     $151 = HEAP32[$150>>2]|0;
-     $152 = ($151|0)==($2|0);
-     if ($152) {
-      $$pre$phi24Z2D = $150;
-     } else {
-      _abort();
-      // unreachable;
-     }
-    }
-    $153 = ((($133)) + 12|0);
-    HEAP32[$153>>2] = $135;
-    HEAP32[$$pre$phi24Z2D>>2] = $133;
-   } else {
-    $154 = ((($2)) + 24|0);
-    $155 = HEAP32[$154>>2]|0;
-    $156 = ((($2)) + 12|0);
-    $157 = HEAP32[$156>>2]|0;
-    $158 = ($157|0)==($2|0);
-    do {
-     if ($158) {
-      $168 = ((($2)) + 16|0);
-      $169 = ((($168)) + 4|0);
-      $170 = HEAP32[$169>>2]|0;
-      $171 = ($170|0)==(0|0);
-      if ($171) {
-       $172 = HEAP32[$168>>2]|0;
-       $173 = ($172|0)==(0|0);
-       if ($173) {
-        $$3435 = 0;
-        break;
-       } else {
-        $$1433 = $172;$$1437 = $168;
-       }
-      } else {
-       $$1433 = $170;$$1437 = $169;
-      }
-      while(1) {
-       $174 = ((($$1433)) + 20|0);
-       $175 = HEAP32[$174>>2]|0;
-       $176 = ($175|0)==(0|0);
-       if (!($176)) {
-        $$1433 = $175;$$1437 = $174;
-        continue;
-       }
-       $177 = ((($$1433)) + 16|0);
-       $178 = HEAP32[$177>>2]|0;
-       $179 = ($178|0)==(0|0);
-       if ($179) {
-        break;
-       } else {
-        $$1433 = $178;$$1437 = $177;
-       }
-      }
-      $180 = ($$1437>>>0)<($108>>>0);
-      if ($180) {
-       _abort();
-       // unreachable;
-      } else {
-       HEAP32[$$1437>>2] = 0;
-       $$3435 = $$1433;
-       break;
-      }
-     } else {
-      $159 = ((($2)) + 8|0);
-      $160 = HEAP32[$159>>2]|0;
-      $161 = ($160>>>0)<($108>>>0);
-      if ($161) {
-       _abort();
-       // unreachable;
-      }
-      $162 = ((($160)) + 12|0);
-      $163 = HEAP32[$162>>2]|0;
-      $164 = ($163|0)==($2|0);
-      if (!($164)) {
-       _abort();
-       // unreachable;
-      }
-      $165 = ((($157)) + 8|0);
-      $166 = HEAP32[$165>>2]|0;
-      $167 = ($166|0)==($2|0);
-      if ($167) {
-       HEAP32[$162>>2] = $157;
-       HEAP32[$165>>2] = $160;
-       $$3435 = $157;
-       break;
-      } else {
-       _abort();
-       // unreachable;
-      }
-     }
-    } while(0);
-    $181 = ($155|0)==(0|0);
-    if (!($181)) {
-     $182 = ((($2)) + 28|0);
-     $183 = HEAP32[$182>>2]|0;
-     $184 = (75572 + ($183<<2)|0);
-     $185 = HEAP32[$184>>2]|0;
-     $186 = ($2|0)==($185|0);
-     do {
-      if ($186) {
-       HEAP32[$184>>2] = $$3435;
-       $cond17 = ($$3435|0)==(0|0);
-       if ($cond17) {
-        $187 = 1 << $183;
-        $188 = $187 ^ -1;
-        $189 = HEAP32[(75272)>>2]|0;
-        $190 = $189 & $188;
-        HEAP32[(75272)>>2] = $190;
-        break L96;
-       }
-      } else {
-       $191 = HEAP32[(75284)>>2]|0;
-       $192 = ($155>>>0)<($191>>>0);
-       if ($192) {
-        _abort();
-        // unreachable;
-       } else {
-        $193 = ((($155)) + 16|0);
-        $194 = HEAP32[$193>>2]|0;
-        $not$ = ($194|0)!=($2|0);
-        $$sink4 = $not$&1;
-        $195 = (((($155)) + 16|0) + ($$sink4<<2)|0);
-        HEAP32[$195>>2] = $$3435;
-        $196 = ($$3435|0)==(0|0);
-        if ($196) {
-         break L96;
-        } else {
-         break;
-        }
-       }
-      }
-     } while(0);
-     $197 = HEAP32[(75284)>>2]|0;
-     $198 = ($$3435>>>0)<($197>>>0);
-     if ($198) {
-      _abort();
-      // unreachable;
-     }
-     $199 = ((($$3435)) + 24|0);
-     HEAP32[$199>>2] = $155;
-     $200 = ((($2)) + 16|0);
-     $201 = HEAP32[$200>>2]|0;
-     $202 = ($201|0)==(0|0);
-     do {
-      if (!($202)) {
-       $203 = ($201>>>0)<($197>>>0);
-       if ($203) {
-        _abort();
-        // unreachable;
-       } else {
-        $204 = ((($$3435)) + 16|0);
-        HEAP32[$204>>2] = $201;
-        $205 = ((($201)) + 24|0);
-        HEAP32[$205>>2] = $$3435;
-        break;
-       }
-      }
-     } while(0);
-     $206 = ((($200)) + 4|0);
-     $207 = HEAP32[$206>>2]|0;
-     $208 = ($207|0)==(0|0);
-     if (!($208)) {
-      $209 = HEAP32[(75284)>>2]|0;
-      $210 = ($207>>>0)<($209>>>0);
-      if ($210) {
-       _abort();
-       // unreachable;
-      } else {
-       $211 = ((($$3435)) + 20|0);
-       HEAP32[$211>>2] = $207;
-       $212 = ((($207)) + 24|0);
-       HEAP32[$212>>2] = $$3435;
-       break;
-      }
-     }
-    }
-   }
-  } while(0);
-  $213 = $129 | 1;
-  $214 = ((($$1)) + 4|0);
-  HEAP32[$214>>2] = $213;
-  $215 = (($$1) + ($129)|0);
-  HEAP32[$215>>2] = $129;
-  $216 = HEAP32[(75288)>>2]|0;
-  $217 = ($$1|0)==($216|0);
-  if ($217) {
-   HEAP32[(75276)>>2] = $129;
-   return;
-  } else {
-   $$2 = $129;
-  }
- } else {
-  $218 = $111 & -2;
-  HEAP32[$110>>2] = $218;
-  $219 = $$1418 | 1;
-  $220 = ((($$1)) + 4|0);
-  HEAP32[$220>>2] = $219;
-  $221 = (($$1) + ($$1418)|0);
-  HEAP32[$221>>2] = $$1418;
-  $$2 = $$1418;
- }
- $222 = $$2 >>> 3;
- $223 = ($$2>>>0)<(256);
- if ($223) {
-  $224 = $222 << 1;
-  $225 = (75308 + ($224<<2)|0);
-  $226 = HEAP32[18817]|0;
-  $227 = 1 << $222;
-  $228 = $226 & $227;
-  $229 = ($228|0)==(0);
-  if ($229) {
-   $230 = $226 | $227;
-   HEAP32[18817] = $230;
-   $$pre = ((($225)) + 8|0);
-   $$0438 = $225;$$pre$phiZ2D = $$pre;
-  } else {
-   $231 = ((($225)) + 8|0);
-   $232 = HEAP32[$231>>2]|0;
-   $233 = HEAP32[(75284)>>2]|0;
-   $234 = ($232>>>0)<($233>>>0);
-   if ($234) {
-    _abort();
-    // unreachable;
-   } else {
-    $$0438 = $232;$$pre$phiZ2D = $231;
-   }
-  }
-  HEAP32[$$pre$phiZ2D>>2] = $$1;
-  $235 = ((($$0438)) + 12|0);
-  HEAP32[$235>>2] = $$1;
-  $236 = ((($$1)) + 8|0);
-  HEAP32[$236>>2] = $$0438;
-  $237 = ((($$1)) + 12|0);
-  HEAP32[$237>>2] = $225;
-  return;
- }
- $238 = $$2 >>> 8;
- $239 = ($238|0)==(0);
- if ($239) {
-  $$0431 = 0;
- } else {
-  $240 = ($$2>>>0)>(16777215);
-  if ($240) {
-   $$0431 = 31;
-  } else {
-   $241 = (($238) + 1048320)|0;
-   $242 = $241 >>> 16;
-   $243 = $242 & 8;
-   $244 = $238 << $243;
-   $245 = (($244) + 520192)|0;
-   $246 = $245 >>> 16;
-   $247 = $246 & 4;
-   $248 = $247 | $243;
-   $249 = $244 << $247;
-   $250 = (($249) + 245760)|0;
-   $251 = $250 >>> 16;
-   $252 = $251 & 2;
-   $253 = $248 | $252;
-   $254 = (14 - ($253))|0;
-   $255 = $249 << $252;
-   $256 = $255 >>> 15;
-   $257 = (($254) + ($256))|0;
-   $258 = $257 << 1;
-   $259 = (($257) + 7)|0;
-   $260 = $$2 >>> $259;
-   $261 = $260 & 1;
-   $262 = $261 | $258;
-   $$0431 = $262;
-  }
- }
- $263 = (75572 + ($$0431<<2)|0);
- $264 = ((($$1)) + 28|0);
- HEAP32[$264>>2] = $$0431;
- $265 = ((($$1)) + 16|0);
- $266 = ((($$1)) + 20|0);
- HEAP32[$266>>2] = 0;
- HEAP32[$265>>2] = 0;
- $267 = HEAP32[(75272)>>2]|0;
- $268 = 1 << $$0431;
- $269 = $267 & $268;
- $270 = ($269|0)==(0);
- if ($270) {
-  $271 = $267 | $268;
-  HEAP32[(75272)>>2] = $271;
-  HEAP32[$263>>2] = $$1;
-  $272 = ((($$1)) + 24|0);
-  HEAP32[$272>>2] = $263;
-  $273 = ((($$1)) + 12|0);
-  HEAP32[$273>>2] = $$1;
-  $274 = ((($$1)) + 8|0);
-  HEAP32[$274>>2] = $$1;
-  return;
- }
- $275 = HEAP32[$263>>2]|0;
- $276 = ($$0431|0)==(31);
- $277 = $$0431 >>> 1;
- $278 = (25 - ($277))|0;
- $279 = $276 ? 0 : $278;
- $280 = $$2 << $279;
- $$0419 = $280;$$0420 = $275;
- while(1) {
-  $281 = ((($$0420)) + 4|0);
-  $282 = HEAP32[$281>>2]|0;
-  $283 = $282 & -8;
-  $284 = ($283|0)==($$2|0);
-  if ($284) {
-   label = 121;
-   break;
-  }
-  $285 = $$0419 >>> 31;
-  $286 = (((($$0420)) + 16|0) + ($285<<2)|0);
-  $287 = $$0419 << 1;
-  $288 = HEAP32[$286>>2]|0;
-  $289 = ($288|0)==(0|0);
-  if ($289) {
-   label = 118;
-   break;
-  } else {
-   $$0419 = $287;$$0420 = $288;
-  }
- }
- if ((label|0) == 118) {
-  $290 = HEAP32[(75284)>>2]|0;
-  $291 = ($286>>>0)<($290>>>0);
-  if ($291) {
-   _abort();
-   // unreachable;
-  }
-  HEAP32[$286>>2] = $$1;
-  $292 = ((($$1)) + 24|0);
-  HEAP32[$292>>2] = $$0420;
-  $293 = ((($$1)) + 12|0);
-  HEAP32[$293>>2] = $$1;
-  $294 = ((($$1)) + 8|0);
-  HEAP32[$294>>2] = $$1;
-  return;
- }
- else if ((label|0) == 121) {
-  $295 = ((($$0420)) + 8|0);
-  $296 = HEAP32[$295>>2]|0;
-  $297 = HEAP32[(75284)>>2]|0;
-  $298 = ($296>>>0)>=($297>>>0);
-  $not$19 = ($$0420>>>0)>=($297>>>0);
-  $299 = $298 & $not$19;
-  if (!($299)) {
-   _abort();
-   // unreachable;
-  }
-  $300 = ((($296)) + 12|0);
-  HEAP32[$300>>2] = $$1;
-  HEAP32[$295>>2] = $$1;
-  $301 = ((($$1)) + 8|0);
-  HEAP32[$301>>2] = $296;
-  $302 = ((($$1)) + 12|0);
-  HEAP32[$302>>2] = $$0420;
-  $303 = ((($$1)) + 24|0);
-  HEAP32[$303>>2] = 0;
-  return;
- }
-}
-function runPostSets() {
-}
-function _i64Subtract(a, b, c, d) {
-    a = a|0; b = b|0; c = c|0; d = d|0;
-    var l = 0, h = 0;
-    l = (a - c)>>>0;
-    h = (b - d)>>>0;
-    h = (b - d - (((c>>>0) > (a>>>0))|0))>>>0; // Borrow one from high word to low word on underflow.
-    return ((tempRet0 = h,l|0)|0);
-}
-function _i64Add(a, b, c, d) {
-    /*
-      x = a + b*2^32
-      y = c + d*2^32
-      result = l + h*2^32
-    */
-    a = a|0; b = b|0; c = c|0; d = d|0;
-    var l = 0, h = 0;
-    l = (a + c)>>>0;
-    h = (b + d + (((l>>>0) < (a>>>0))|0))>>>0; // Add carry from low word to high word on overflow.
-    return ((tempRet0 = h,l|0)|0);
-}
-function _memset(ptr, value, num) {
-    ptr = ptr|0; value = value|0; num = num|0;
-    var end = 0, aligned_end = 0, block_aligned_end = 0, value4 = 0;
-    end = (ptr + num)|0;
-
-    value = value & 0xff;
-    if ((num|0) >= 67 /* 64 bytes for an unrolled loop + 3 bytes for unaligned head*/) {
-      while ((ptr&3) != 0) {
-        HEAP8[((ptr)>>0)]=value;
-        ptr = (ptr+1)|0;
-      }
-
-      aligned_end = (end & -4)|0;
-      block_aligned_end = (aligned_end - 64)|0;
-      value4 = value | (value << 8) | (value << 16) | (value << 24);
-
-      while((ptr|0) <= (block_aligned_end|0)) {
-        HEAP32[((ptr)>>2)]=value4;
-        HEAP32[(((ptr)+(4))>>2)]=value4;
-        HEAP32[(((ptr)+(8))>>2)]=value4;
-        HEAP32[(((ptr)+(12))>>2)]=value4;
-        HEAP32[(((ptr)+(16))>>2)]=value4;
-        HEAP32[(((ptr)+(20))>>2)]=value4;
-        HEAP32[(((ptr)+(24))>>2)]=value4;
-        HEAP32[(((ptr)+(28))>>2)]=value4;
-        HEAP32[(((ptr)+(32))>>2)]=value4;
-        HEAP32[(((ptr)+(36))>>2)]=value4;
-        HEAP32[(((ptr)+(40))>>2)]=value4;
-        HEAP32[(((ptr)+(44))>>2)]=value4;
-        HEAP32[(((ptr)+(48))>>2)]=value4;
-        HEAP32[(((ptr)+(52))>>2)]=value4;
-        HEAP32[(((ptr)+(56))>>2)]=value4;
-        HEAP32[(((ptr)+(60))>>2)]=value4;
-        ptr = (ptr + 64)|0;
-      }
-
-      while ((ptr|0) < (aligned_end|0) ) {
-        HEAP32[((ptr)>>2)]=value4;
-        ptr = (ptr+4)|0;
-      }
-    }
-    // The remaining bytes.
-    while ((ptr|0) < (end|0)) {
-      HEAP8[((ptr)>>0)]=value;
-      ptr = (ptr+1)|0;
-    }
-    return (end-num)|0;
-}
-function _bitshift64Lshr(low, high, bits) {
-    low = low|0; high = high|0; bits = bits|0;
-    var ander = 0;
-    if ((bits|0) < 32) {
-      ander = ((1 << bits) - 1)|0;
-      tempRet0 = high >>> bits;
-      return (low >>> bits) | ((high&ander) << (32 - bits));
-    }
-    tempRet0 = 0;
-    return (high >>> (bits - 32))|0;
-}
-function _saveSetjmp(env, label, table, size) {
-    // Not particularly fast: slow table lookup of setjmpId to label. But setjmp
-    // prevents relooping anyhow, so slowness is to be expected. And typical case
-    // is 1 setjmp per invocation, or less.
-    env = env|0;
-    label = label|0;
-    table = table|0;
-    size = size|0;
-    var i = 0;
-    setjmpId = (setjmpId+1)|0;
-    HEAP32[((env)>>2)]=setjmpId;
-    while ((i|0) < (size|0)) {
-      if (((HEAP32[(((table)+((i<<3)))>>2)])|0) == 0) {
-        HEAP32[(((table)+((i<<3)))>>2)]=setjmpId;
-        HEAP32[(((table)+((i<<3)+4))>>2)]=label;
-        // prepare next slot
-        HEAP32[(((table)+((i<<3)+8))>>2)]=0;
-        tempRet0 = size;
-        return table | 0;
-      }
-      i = i+1|0;
-    }
-    // grow the table
-    size = (size*2)|0;
-    table = _realloc(table|0, 8*(size+1|0)|0) | 0;
-    table = _saveSetjmp(env|0, label|0, table|0, size|0) | 0;
-    tempRet0 = size;
-    return table | 0;
-}
-function _testSetjmp(id, table, size) {
-    id = id|0;
-    table = table|0;
-    size = size|0;
-    var i = 0, curr = 0;
-    while ((i|0) < (size|0)) {
-      curr = ((HEAP32[(((table)+((i<<3)))>>2)])|0);
-      if ((curr|0) == 0) break;
-      if ((curr|0) == (id|0)) {
-        return ((HEAP32[(((table)+((i<<3)+4))>>2)])|0);
-      }
-      i = i+1|0;
-    }
-    return 0;
-}
-function _bitshift64Shl(low, high, bits) {
-    low = low|0; high = high|0; bits = bits|0;
-    var ander = 0;
-    if ((bits|0) < 32) {
-      ander = ((1 << bits) - 1)|0;
-      tempRet0 = (high << bits) | ((low&(ander << (32 - bits))) >>> (32 - bits));
-      return low << bits;
-    }
-    tempRet0 = low << (bits - 32);
-    return 0;
-}
-function _llvm_bswap_i32(x) {
-    x = x|0;
-    return (((x&0xff)<<24) | (((x>>8)&0xff)<<16) | (((x>>16)&0xff)<<8) | (x>>>24))|0;
-}
-function _llvm_cttz_i32(x) {
-    x = x|0;
-    var ret = 0;
-    ret = ((HEAP8[(((cttz_i8)+(x & 0xff))>>0)])|0);
-    if ((ret|0) < 8) return ret|0;
-    ret = ((HEAP8[(((cttz_i8)+((x >> 8)&0xff))>>0)])|0);
-    if ((ret|0) < 8) return (ret + 8)|0;
-    ret = ((HEAP8[(((cttz_i8)+((x >> 16)&0xff))>>0)])|0);
-    if ((ret|0) < 8) return (ret + 16)|0;
-    return (((HEAP8[(((cttz_i8)+(x >>> 24))>>0)])|0) + 24)|0;
-}
-function ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) {
-    $a$0 = $a$0 | 0;
-    $a$1 = $a$1 | 0;
-    $b$0 = $b$0 | 0;
-    $b$1 = $b$1 | 0;
-    $rem = $rem | 0;
-    var $n_sroa_0_0_extract_trunc = 0, $n_sroa_1_4_extract_shift$0 = 0, $n_sroa_1_4_extract_trunc = 0, $d_sroa_0_0_extract_trunc = 0, $d_sroa_1_4_extract_shift$0 = 0, $d_sroa_1_4_extract_trunc = 0, $4 = 0, $17 = 0, $37 = 0, $49 = 0, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $86 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 0, $117 = 0, $119 = 0, $125 = 0, $126 = 0, $130 = 0, $q_sroa_1_1_ph = 0, $q_sroa_0_1_ph = 0, $r_sroa_1_1_ph = 0, $r_sroa_0_1_ph = 0, $sr_1_ph = 0, $d_sroa_0_0_insert_insert99$0 = 0, $d_sroa_0_0_insert_insert99$1 = 0, $137$0 = 0, $137$1 = 0, $carry_0203 = 0, $sr_1202 = 0, $r_sroa_0_1201 = 0, $r_sroa_1_1200 = 0, $q_sroa_0_1199 = 0, $q_sroa_1_1198 = 0, $147 = 0, $149 = 0, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 0, $152 = 0, $154$0 = 0, $r_sroa_0_0_extract_trunc = 0, $r_sroa_1_4_extract_trunc = 0, $155 = 0, $carry_0_lcssa$0 = 0, $carry_0_lcssa$1 = 0, $r_sroa_0_1_lcssa = 0, $r_sroa_1_1_lcssa = 0, $q_sroa_0_1_lcssa = 0, $q_sroa_1_1_lcssa = 0, $q_sroa_0_0_insert_ext75$0 = 0, $q_sroa_0_0_insert_ext75$1 = 0, $q_sroa_0_0_insert_insert77$1 = 0, $_0$0 = 0, $_0$1 = 0;
-    $n_sroa_0_0_extract_trunc = $a$0;
-    $n_sroa_1_4_extract_shift$0 = $a$1;
-    $n_sroa_1_4_extract_trunc = $n_sroa_1_4_extract_shift$0;
-    $d_sroa_0_0_extract_trunc = $b$0;
-    $d_sroa_1_4_extract_shift$0 = $b$1;
-    $d_sroa_1_4_extract_trunc = $d_sroa_1_4_extract_shift$0;
-    if (($n_sroa_1_4_extract_trunc | 0) == 0) {
-      $4 = ($rem | 0) != 0;
-      if (($d_sroa_1_4_extract_trunc | 0) == 0) {
-        if ($4) {
-          HEAP32[$rem >> 2] = ($n_sroa_0_0_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
-          HEAP32[$rem + 4 >> 2] = 0;
-        }
-        $_0$1 = 0;
-        $_0$0 = ($n_sroa_0_0_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
-        return (tempRet0 = $_0$1, $_0$0) | 0;
-      } else {
-        if (!$4) {
-          $_0$1 = 0;
-          $_0$0 = 0;
-          return (tempRet0 = $_0$1, $_0$0) | 0;
-        }
-        HEAP32[$rem >> 2] = $a$0 & -1;
-        HEAP32[$rem + 4 >> 2] = $a$1 & 0;
-        $_0$1 = 0;
-        $_0$0 = 0;
-        return (tempRet0 = $_0$1, $_0$0) | 0;
-      }
-    }
-    $17 = ($d_sroa_1_4_extract_trunc | 0) == 0;
-    do {
-      if (($d_sroa_0_0_extract_trunc | 0) == 0) {
-        if ($17) {
-          if (($rem | 0) != 0) {
-            HEAP32[$rem >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_0_0_extract_trunc >>> 0);
-            HEAP32[$rem + 4 >> 2] = 0;
-          }
-          $_0$1 = 0;
-          $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_0_0_extract_trunc >>> 0) >>> 0;
-          return (tempRet0 = $_0$1, $_0$0) | 0;
-        }
-        if (($n_sroa_0_0_extract_trunc | 0) == 0) {
-          if (($rem | 0) != 0) {
-            HEAP32[$rem >> 2] = 0;
-            HEAP32[$rem + 4 >> 2] = ($n_sroa_1_4_extract_trunc >>> 0) % ($d_sroa_1_4_extract_trunc >>> 0);
-          }
-          $_0$1 = 0;
-          $_0$0 = ($n_sroa_1_4_extract_trunc >>> 0) / ($d_sroa_1_4_extract_trunc >>> 0) >>> 0;
-          return (tempRet0 = $_0$1, $_0$0) | 0;
-        }
-        $37 = $d_sroa_1_4_extract_trunc - 1 | 0;
-        if (($37 & $d_sroa_1_4_extract_trunc | 0) == 0) {
-          if (($rem | 0) != 0) {
-            HEAP32[$rem >> 2] = 0 | $a$0 & -1;
-            HEAP32[$rem + 4 >> 2] = $37 & $n_sroa_1_4_extract_trunc | $a$1 & 0;
-          }
-          $_0$1 = 0;
-          $_0$0 = $n_sroa_1_4_extract_trunc >>> ((_llvm_cttz_i32($d_sroa_1_4_extract_trunc | 0) | 0) >>> 0);
-          return (tempRet0 = $_0$1, $_0$0) | 0;
-        }
-        $49 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
-        $51 = $49 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
-        if ($51 >>> 0 <= 30) {
-          $57 = $51 + 1 | 0;
-          $58 = 31 - $51 | 0;
-          $sr_1_ph = $57;
-          $r_sroa_0_1_ph = $n_sroa_1_4_extract_trunc << $58 | $n_sroa_0_0_extract_trunc >>> ($57 >>> 0);
-          $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($57 >>> 0);
-          $q_sroa_0_1_ph = 0;
-          $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $58;
-          break;
-        }
-        if (($rem | 0) == 0) {
-          $_0$1 = 0;
-          $_0$0 = 0;
-          return (tempRet0 = $_0$1, $_0$0) | 0;
-        }
-        HEAP32[$rem >> 2] = 0 | $a$0 & -1;
-        HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
-        $_0$1 = 0;
-        $_0$0 = 0;
-        return (tempRet0 = $_0$1, $_0$0) | 0;
-      } else {
-        if (!$17) {
-          $117 = Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0;
-          $119 = $117 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
-          if ($119 >>> 0 <= 31) {
-            $125 = $119 + 1 | 0;
-            $126 = 31 - $119 | 0;
-            $130 = $119 - 31 >> 31;
-            $sr_1_ph = $125;
-            $r_sroa_0_1_ph = $n_sroa_0_0_extract_trunc >>> ($125 >>> 0) & $130 | $n_sroa_1_4_extract_trunc << $126;
-            $r_sroa_1_1_ph = $n_sroa_1_4_extract_trunc >>> ($125 >>> 0) & $130;
-            $q_sroa_0_1_ph = 0;
-            $q_sroa_1_1_ph = $n_sroa_0_0_extract_trunc << $126;
-            break;
-          }
-          if (($rem | 0) == 0) {
-            $_0$1 = 0;
-            $_0$0 = 0;
-            return (tempRet0 = $_0$1, $_0$0) | 0;
-          }
-          HEAP32[$rem >> 2] = 0 | $a$0 & -1;
-          HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
-          $_0$1 = 0;
-          $_0$0 = 0;
-          return (tempRet0 = $_0$1, $_0$0) | 0;
-        }
-        $66 = $d_sroa_0_0_extract_trunc - 1 | 0;
-        if (($66 & $d_sroa_0_0_extract_trunc | 0) != 0) {
-          $86 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 | 0;
-          $88 = $86 - (Math_clz32($n_sroa_1_4_extract_trunc | 0) | 0) | 0;
-          $89 = 64 - $88 | 0;
-          $91 = 32 - $88 | 0;
-          $92 = $91 >> 31;
-          $95 = $88 - 32 | 0;
-          $105 = $95 >> 31;
-          $sr_1_ph = $88;
-          $r_sroa_0_1_ph = $91 - 1 >> 31 & $n_sroa_1_4_extract_trunc >>> ($95 >>> 0) | ($n_sroa_1_4_extract_trunc << $91 | $n_sroa_0_0_extract_trunc >>> ($88 >>> 0)) & $105;
-          $r_sroa_1_1_ph = $105 & $n_sroa_1_4_extract_trunc >>> ($88 >>> 0);
-          $q_sroa_0_1_ph = $n_sroa_0_0_extract_trunc << $89 & $92;
-          $q_sroa_1_1_ph = ($n_sroa_1_4_extract_trunc << $89 | $n_sroa_0_0_extract_trunc >>> ($95 >>> 0)) & $92 | $n_sroa_0_0_extract_trunc << $91 & $88 - 33 >> 31;
-          break;
-        }
-        if (($rem | 0) != 0) {
-          HEAP32[$rem >> 2] = $66 & $n_sroa_0_0_extract_trunc;
-          HEAP32[$rem + 4 >> 2] = 0;
-        }
-        if (($d_sroa_0_0_extract_trunc | 0) == 1) {
-          $_0$1 = $n_sroa_1_4_extract_shift$0 | $a$1 & 0;
-          $_0$0 = 0 | $a$0 & -1;
-          return (tempRet0 = $_0$1, $_0$0) | 0;
-        } else {
-          $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0;
-          $_0$1 = 0 | $n_sroa_1_4_extract_trunc >>> ($78 >>> 0);
-          $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0;
-          return (tempRet0 = $_0$1, $_0$0) | 0;
-        }
-      }
-    } while (0);
-    if (($sr_1_ph | 0) == 0) {
-      $q_sroa_1_1_lcssa = $q_sroa_1_1_ph;
-      $q_sroa_0_1_lcssa = $q_sroa_0_1_ph;
-      $r_sroa_1_1_lcssa = $r_sroa_1_1_ph;
-      $r_sroa_0_1_lcssa = $r_sroa_0_1_ph;
-      $carry_0_lcssa$1 = 0;
-      $carry_0_lcssa$0 = 0;
-    } else {
-      $d_sroa_0_0_insert_insert99$0 = 0 | $b$0 & -1;
-      $d_sroa_0_0_insert_insert99$1 = $d_sroa_1_4_extract_shift$0 | $b$1 & 0;
-      $137$0 = _i64Add($d_sroa_0_0_insert_insert99$0 | 0, $d_sroa_0_0_insert_insert99$1 | 0, -1, -1) | 0;
-      $137$1 = tempRet0;
-      $q_sroa_1_1198 = $q_sroa_1_1_ph;
-      $q_sroa_0_1199 = $q_sroa_0_1_ph;
-      $r_sroa_1_1200 = $r_sroa_1_1_ph;
-      $r_sroa_0_1201 = $r_sroa_0_1_ph;
-      $sr_1202 = $sr_1_ph;
-      $carry_0203 = 0;
-      while (1) {
-        $147 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1;
-        $149 = $carry_0203 | $q_sroa_0_1199 << 1;
-        $r_sroa_0_0_insert_insert42$0 = 0 | ($r_sroa_0_1201 << 1 | $q_sroa_1_1198 >>> 31);
-        $r_sroa_0_0_insert_insert42$1 = $r_sroa_0_1201 >>> 31 | $r_sroa_1_1200 << 1 | 0;
-        _i64Subtract($137$0 | 0, $137$1 | 0, $r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0) | 0;
-        $150$1 = tempRet0;
-        $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1;
-        $152 = $151$0 & 1;
-        $154$0 = _i64Subtract($r_sroa_0_0_insert_insert42$0 | 0, $r_sroa_0_0_insert_insert42$1 | 0, $151$0 & $d_sroa_0_0_insert_insert99$0 | 0, ((($150$1 | 0) < 0 ? -1 : 0) >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1) & $d_sroa_0_0_insert_insert99$1 | 0) | 0;
-        $r_sroa_0_0_extract_trunc = $154$0;
-        $r_sroa_1_4_extract_trunc = tempRet0;
-        $155 = $sr_1202 - 1 | 0;
-        if (($155 | 0) == 0) {
-          break;
-        } else {
-          $q_sroa_1_1198 = $147;
-          $q_sroa_0_1199 = $149;
-          $r_sroa_1_1200 = $r_sroa_1_4_extract_trunc;
-          $r_sroa_0_1201 = $r_sroa_0_0_extract_trunc;
-          $sr_1202 = $155;
-          $carry_0203 = $152;
-        }
-      }
-      $q_sroa_1_1_lcssa = $147;
-      $q_sroa_0_1_lcssa = $149;
-      $r_sroa_1_1_lcssa = $r_sroa_1_4_extract_trunc;
-      $r_sroa_0_1_lcssa = $r_sroa_0_0_extract_trunc;
-      $carry_0_lcssa$1 = 0;
-      $carry_0_lcssa$0 = $152;
-    }
-    $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa;
-    $q_sroa_0_0_insert_ext75$1 = 0;
-    $q_sroa_0_0_insert_insert77$1 = $q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$1;
-    if (($rem | 0) != 0) {
-      HEAP32[$rem >> 2] = 0 | $r_sroa_0_1_lcssa;
-      HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa | 0;
-    }
-    $_0$1 = (0 | $q_sroa_0_0_insert_ext75$0) >>> 31 | $q_sroa_0_0_insert_insert77$1 << 1 | ($q_sroa_0_0_insert_ext75$1 << 1 | $q_sroa_0_0_insert_ext75$0 >>> 31) & 0 | $carry_0_lcssa$1;
-    $_0$0 = ($q_sroa_0_0_insert_ext75$0 << 1 | 0 >>> 31) & -2 | $carry_0_lcssa$0;
-    return (tempRet0 = $_0$1, $_0$0) | 0;
-}
-function ___udivdi3($a$0, $a$1, $b$0, $b$1) {
-    $a$0 = $a$0 | 0;
-    $a$1 = $a$1 | 0;
-    $b$0 = $b$0 | 0;
-    $b$1 = $b$1 | 0;
-    var $1$0 = 0;
-    $1$0 = ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0;
-    return $1$0 | 0;
-}
-function ___muldsi3($a, $b) {
-    $a = $a | 0;
-    $b = $b | 0;
-    var $1 = 0, $2 = 0, $3 = 0, $6 = 0, $8 = 0, $11 = 0, $12 = 0;
-    $1 = $a & 65535;
-    $2 = $b & 65535;
-    $3 = Math_imul($2, $1) | 0;
-    $6 = $a >>> 16;
-    $8 = ($3 >>> 16) + (Math_imul($2, $6) | 0) | 0;
-    $11 = $b >>> 16;
-    $12 = Math_imul($11, $1) | 0;
-    return (tempRet0 = (($8 >>> 16) + (Math_imul($11, $6) | 0) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0, 0 | ($8 + $12 << 16 | $3 & 65535)) | 0;
-}
-function ___muldi3($a$0, $a$1, $b$0, $b$1) {
-    $a$0 = $a$0 | 0;
-    $a$1 = $a$1 | 0;
-    $b$0 = $b$0 | 0;
-    $b$1 = $b$1 | 0;
-    var $x_sroa_0_0_extract_trunc = 0, $y_sroa_0_0_extract_trunc = 0, $1$0 = 0, $1$1 = 0, $2 = 0;
-    $x_sroa_0_0_extract_trunc = $a$0;
-    $y_sroa_0_0_extract_trunc = $b$0;
-    $1$0 = ___muldsi3($x_sroa_0_0_extract_trunc, $y_sroa_0_0_extract_trunc) | 0;
-    $1$1 = tempRet0;
-    $2 = Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0;
-    return (tempRet0 = ((Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $2 | 0) + $1$1 | $1$1 & 0, 0 | $1$0 & -1) | 0;
-}
-function _sbrk(increment) {
-    increment = increment|0;
-    var oldDynamicTop = 0;
-    var oldDynamicTopOnChange = 0;
-    var newDynamicTop = 0;
-    var totalMemory = 0;
-    increment = ((increment + 15) & -16)|0;
-    oldDynamicTop = HEAP32[DYNAMICTOP_PTR>>2]|0;
-    newDynamicTop = oldDynamicTop + increment | 0;
-
-    if (((increment|0) > 0 & (newDynamicTop|0) < (oldDynamicTop|0)) // Detect and fail if we would wrap around signed 32-bit int.
-      | (newDynamicTop|0) < 0) { // Also underflow, sbrk() should be able to be used to subtract.
-      abortOnCannotGrowMemory()|0;
-      ___setErrNo(12);
-      return -1;
-    }
-
-    HEAP32[DYNAMICTOP_PTR>>2] = newDynamicTop;
-    totalMemory = getTotalMemory()|0;
-    if ((newDynamicTop|0) > (totalMemory|0)) {
-      if ((enlargeMemory()|0) == 0) {
-        ___setErrNo(12);
-        HEAP32[DYNAMICTOP_PTR>>2] = oldDynamicTop;
-        return -1;
-      }
-    }
-    return oldDynamicTop|0;
-}
-function _memcpy(dest, src, num) {
-    dest = dest|0; src = src|0; num = num|0;
-    var ret = 0;
-    var aligned_dest_end = 0;
-    var block_aligned_dest_end = 0;
-    var dest_end = 0;
-    // Test against a benchmarked cutoff limit for when HEAPU8.set() becomes faster to use.
-    if ((num|0) >=
-      8192
-    ) {
-      return _emscripten_memcpy_big(dest|0, src|0, num|0)|0;
-    }
-
-    ret = dest|0;
-    dest_end = (dest + num)|0;
-    if ((dest&3) == (src&3)) {
-      // The initial unaligned < 4-byte front.
-      while (dest & 3) {
-        if ((num|0) == 0) return ret|0;
-        HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
-        dest = (dest+1)|0;
-        src = (src+1)|0;
-        num = (num-1)|0;
-      }
-      aligned_dest_end = (dest_end & -4)|0;
-      block_aligned_dest_end = (aligned_dest_end - 64)|0;
-      while ((dest|0) <= (block_aligned_dest_end|0) ) {
-        HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
-        HEAP32[(((dest)+(4))>>2)]=((HEAP32[(((src)+(4))>>2)])|0);
-        HEAP32[(((dest)+(8))>>2)]=((HEAP32[(((src)+(8))>>2)])|0);
-        HEAP32[(((dest)+(12))>>2)]=((HEAP32[(((src)+(12))>>2)])|0);
-        HEAP32[(((dest)+(16))>>2)]=((HEAP32[(((src)+(16))>>2)])|0);
-        HEAP32[(((dest)+(20))>>2)]=((HEAP32[(((src)+(20))>>2)])|0);
-        HEAP32[(((dest)+(24))>>2)]=((HEAP32[(((src)+(24))>>2)])|0);
-        HEAP32[(((dest)+(28))>>2)]=((HEAP32[(((src)+(28))>>2)])|0);
-        HEAP32[(((dest)+(32))>>2)]=((HEAP32[(((src)+(32))>>2)])|0);
-        HEAP32[(((dest)+(36))>>2)]=((HEAP32[(((src)+(36))>>2)])|0);
-        HEAP32[(((dest)+(40))>>2)]=((HEAP32[(((src)+(40))>>2)])|0);
-        HEAP32[(((dest)+(44))>>2)]=((HEAP32[(((src)+(44))>>2)])|0);
-        HEAP32[(((dest)+(48))>>2)]=((HEAP32[(((src)+(48))>>2)])|0);
-        HEAP32[(((dest)+(52))>>2)]=((HEAP32[(((src)+(52))>>2)])|0);
-        HEAP32[(((dest)+(56))>>2)]=((HEAP32[(((src)+(56))>>2)])|0);
-        HEAP32[(((dest)+(60))>>2)]=((HEAP32[(((src)+(60))>>2)])|0);
-        dest = (dest+64)|0;
-        src = (src+64)|0;
-      }
-      while ((dest|0) < (aligned_dest_end|0) ) {
-        HEAP32[((dest)>>2)]=((HEAP32[((src)>>2)])|0);
-        dest = (dest+4)|0;
-        src = (src+4)|0;
-      }
-    } else {
-      // In the unaligned copy case, unroll a bit as well.
-      aligned_dest_end = (dest_end - 4)|0;
-      while ((dest|0) < (aligned_dest_end|0) ) {
-        HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
-        HEAP8[(((dest)+(1))>>0)]=((HEAP8[(((src)+(1))>>0)])|0);
-        HEAP8[(((dest)+(2))>>0)]=((HEAP8[(((src)+(2))>>0)])|0);
-        HEAP8[(((dest)+(3))>>0)]=((HEAP8[(((src)+(3))>>0)])|0);
-        dest = (dest+4)|0;
-        src = (src+4)|0;
-      }
-    }
-    // The remaining unaligned < 4 byte tail.
-    while ((dest|0) < (dest_end|0)) {
-      HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
-      dest = (dest+1)|0;
-      src = (src+1)|0;
-    }
-    return ret|0;
-}
-function _memmove(dest, src, num) {
-    dest = dest|0; src = src|0; num = num|0;
-    var ret = 0;
-    if (((src|0) < (dest|0)) & ((dest|0) < ((src + num)|0))) {
-      // Unlikely case: Copy backwards in a safe manner
-      ret = dest;
-      src = (src + num)|0;
-      dest = (dest + num)|0;
-      while ((num|0) > 0) {
-        dest = (dest - 1)|0;
-        src = (src - 1)|0;
-        num = (num - 1)|0;
-        HEAP8[((dest)>>0)]=((HEAP8[((src)>>0)])|0);
-      }
-      dest = ret;
-    } else {
-      _memcpy(dest, src, num) | 0;
-    }
-    return dest | 0;
-}
-function ___uremdi3($a$0, $a$1, $b$0, $b$1) {
-    $a$0 = $a$0 | 0;
-    $a$1 = $a$1 | 0;
-    $b$0 = $b$0 | 0;
-    $b$1 = $b$1 | 0;
-    var $rem = 0, __stackBase__ = 0;
-    __stackBase__ = STACKTOP;
-    STACKTOP = STACKTOP + 16 | 0;
-    $rem = __stackBase__ | 0;
-    ___udivmoddi4($a$0, $a$1, $b$0, $b$1, $rem) | 0;
-    STACKTOP = __stackBase__;
-    return (tempRet0 = HEAP32[$rem + 4 >> 2] | 0, HEAP32[$rem >> 2] | 0) | 0;
-}
-
-  
-function dynCall_iiii(index,a1,a2,a3) {
-  index = index|0;
-  a1=a1|0; a2=a2|0; a3=a3|0;
-  return FUNCTION_TABLE_iiii[index&511](a1|0,a2|0,a3|0)|0;
-}
-
-
-function dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7) {
-  index = index|0;
-  a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0; a7=a7|0;
-  FUNCTION_TABLE_viiiiiii[index&255](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0,a7|0);
-}
-
-
-function dynCall_viiiii(index,a1,a2,a3,a4,a5) {
-  index = index|0;
-  a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0;
-  FUNCTION_TABLE_viiiii[index&255](a1|0,a2|0,a3|0,a4|0,a5|0);
-}
-
-
-function dynCall_vi(index,a1) {
-  index = index|0;
-  a1=a1|0;
-  FUNCTION_TABLE_vi[index&511](a1|0);
-}
-
-
-function dynCall_vii(index,a1,a2) {
-  index = index|0;
-  a1=a1|0; a2=a2|0;
-  FUNCTION_TABLE_vii[index&511](a1|0,a2|0);
-}
-
-
-function dynCall_ii(index,a1) {
-  index = index|0;
-  a1=a1|0;
-  return FUNCTION_TABLE_ii[index&255](a1|0)|0;
-}
-
-
-function dynCall_viii(index,a1,a2,a3) {
-  index = index|0;
-  a1=a1|0; a2=a2|0; a3=a3|0;
-  FUNCTION_TABLE_viii[index&511](a1|0,a2|0,a3|0);
-}
-
-
-function dynCall_iiiii(index,a1,a2,a3,a4) {
-  index = index|0;
-  a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
-  return FUNCTION_TABLE_iiiii[index&255](a1|0,a2|0,a3|0,a4|0)|0;
-}
-
-
-function dynCall_viiiiii(index,a1,a2,a3,a4,a5,a6) {
-  index = index|0;
-  a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0; a5=a5|0; a6=a6|0;
-  FUNCTION_TABLE_viiiiii[index&255](a1|0,a2|0,a3|0,a4|0,a5|0,a6|0);
-}
-
-
-function dynCall_iii(index,a1,a2) {
-  index = index|0;
-  a1=a1|0; a2=a2|0;
-  return FUNCTION_TABLE_iii[index&255](a1|0,a2|0)|0;
-}
-
-
-function dynCall_viiii(index,a1,a2,a3,a4) {
-  index = index|0;
-  a1=a1|0; a2=a2|0; a3=a3|0; a4=a4|0;
-  FUNCTION_TABLE_viiii[index&255](a1|0,a2|0,a3|0,a4|0);
-}
-
-function b0(p0,p1,p2) {
- p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_iiii(0);return 0;
-}
-function b1(p0,p1,p2,p3,p4,p5,p6) {
- p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0;p6 = p6|0; nullFunc_viiiiiii(1);
-}
-function b2(p0,p1,p2,p3,p4) {
- p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0; nullFunc_viiiii(2);
-}
-function b3(p0) {
- p0 = p0|0; nullFunc_vi(3);
-}
-function b4(p0,p1) {
- p0 = p0|0;p1 = p1|0; nullFunc_vii(4);
-}
-function _emscripten_longjmp__wrapper(p0,p1) {
- p0 = p0|0;p1 = p1|0; _emscripten_longjmp(p0|0,p1|0);
-}
-function b5(p0) {
- p0 = p0|0; nullFunc_ii(5);return 0;
-}
-function b6(p0,p1,p2) {
- p0 = p0|0;p1 = p1|0;p2 = p2|0; nullFunc_viii(6);
-}
-function b7(p0,p1,p2,p3) {
- p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_iiiii(7);return 0;
-}
-function b8(p0,p1,p2,p3,p4,p5) {
- p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0;p4 = p4|0;p5 = p5|0; nullFunc_viiiiii(8);
-}
-function b9(p0,p1) {
- p0 = p0|0;p1 = p1|0; nullFunc_iii(9);return 0;
-}
-function b10(p0,p1,p2,p3) {
- p0 = p0|0;p1 = p1|0;p2 = p2|0;p3 = p3|0; nullFunc_viiii(10);
-}
-
-// EMSCRIPTEN_END_FUNCS
-var FUNCTION_TABLE_iiii = [b0,b0,___stdio_write,___stdio_seek,___stdio_read,___stdout_write,_sn_write,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,_mrb_method_search_vm,_mrb_intern_static,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,_mrb_realloc,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,_mrb_int_add_overflow_434,b0,_mrb_int_sub_overflow_435,b0,_mrb_obj_eq,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,_mrb_vm_define_module,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,_scope_new,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0,b0
-,b0,b0,b0];
-var FUNCTION_TABLE_viiiiiii = [b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
-,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
-,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
-,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
-,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,_mrb_funcall_with_block,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
-,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
-,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
-,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1
-,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1,b1];
-var FUNCTION_TABLE_viiiii = [b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
-,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
-,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
-,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
-,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
-,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
-,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,_mrb_range_new,b2,b2,b2,b2,b2,b2,b2,b2
-,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2
-,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2,b2];
-var FUNCTION_TABLE_vi = [b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_cipop,b3,_stack_init,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,_mrb_nil_value_419,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,_mrb_pool_close,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3
-,b3,b3,b3];
-var FUNCTION_TABLE_vii = [b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_mrb_obj_value_420,b4,b4,_mrb_fixnum_value_421,b4,b4,b4,b4,b4,b4,_mrb_symbol_value_425,b4,b4,_mrb_gc_arena_restore,b4,_mrb_gc_protect
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_mrb_write_barrier,b4,b4,_ecall,b4,b4,b4,b4,b4,b4,b4,b4,_argnum_error,b4,b4,_emscripten_longjmp__wrapper,b4,_localjump_error,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,_parser_init_cxt,b4,b4,_parser_update_cxt,b4,_yyerror,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,_mrb_irep_decref,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4,b4
-,b4,b4,b4];
-var FUNCTION_TABLE_ii = [b5,___stdio_close,b5,b5,b5,b5,b5,_partial_hook,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
-,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
-,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
-,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
-,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_cipush,b5,b5,b5,_mrb_gc_arena_save,b5,b5,b5
-,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
-,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,_yyparse,_new_nil,b5,b5,b5,b5
-,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5
-,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5];
-var FUNCTION_TABLE_viii = [b6,b6,b6,b6,b6,b6,b6,b6,_gc_start,_gc_enable,_gc_disable,_gc_interval_ratio_get,_gc_interval_ratio_set,_gc_step_ratio_get,_gc_step_ratio_set,_gc_generational_mode_set,_gc_generational_mode_get,_mrb_hash_aget,_mrb_hash_aset,_mrb_hash_clear,_mrb_hash_default,_mrb_hash_set_default,_mrb_hash_default_proc,_mrb_hash_set_default_proc,_mrb_hash_delete,_mrb_hash_empty_p,_mrb_hash_has_key,_mrb_hash_has_value,_mrb_hash_init
-,_mrb_hash_keys,_mrb_hash_size_m,_mrb_hash_shift,_mrb_hash_dup,_mrb_hash_values,_mrb_hash_to_hash,_num_pow,_num_div,_num_cmp,_int_to_i,_fix_plus,_fix_minus,_fix_mul,_fix_mod,_fix_equal,_fix_rev,_fix_and,_fix_or,_fix_xor,_fix_lshift,_fix_rshift,_fix_eql,_flo_hash,_fix_to_f,_fix_to_s,_fix_divmod,_flo_plus,_flo_minus,_flo_mul,_flo_mod
-,_flo_eq,_flo_ceil,_flo_finite_p,_flo_floor,_flo_infinite_p,_flo_round,_flo_to_f,_flo_truncate,_flo_divmod,_flo_eql,_flo_to_s,_flo_nan_p,_false_and,_false_xor,_false_or,_mrb_true,_nil_to_s,_nil_inspect,_true_and,_true_xor,_true_to_s,_true_or,_false_to_s,b6,_inspect_main,_mrb_str_bytesize,_mrb_str_cmp_m,_mrb_str_equal_m,_mrb_str_plus_m,_mrb_str_times
-,_mrb_str_aref_m,_mrb_str_capitalize,_mrb_str_capitalize_bang,_mrb_str_chomp,_mrb_str_chomp_bang,_mrb_str_chop,_mrb_str_chop_bang,_mrb_str_downcase,_mrb_str_downcase_bang,_mrb_str_empty_p,_mrb_str_eql,_mrb_str_hash_m,_mrb_str_include,_mrb_str_index,_mrb_str_init,_mrb_str_replace,_mrb_str_intern,_mrb_str_size,_mrb_str_reverse,_mrb_str_reverse_bang,_mrb_str_rindex,_mrb_str_split_m,_mrb_str_to_f,_mrb_str_to_i,_mrb_str_to_s,_mrb_str_upcase,_mrb_str_upcase_bang,_mrb_str_inspect,_mrb_str_bytes,_mrb_str_freeze
-,_sym_equal,_mrb_sym_to_s,_sym_to_sym,_sym_inspect,_sym_cmp,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_stack_extend,b6,_stack_copy,b6,b6,b6,b6
-,_mrb_gv_get,_mrb_gv_set,_mrb_vm_special_get,_mrb_vm_special_set,_mrb_vm_iv_get,_mrb_vm_iv_set,_mrb_vm_cv_get,_mrb_vm_cv_set,_mrb_vm_const_get,_mrb_vm_const_set,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,_value_move,b6,b6,_mrb_ary_new_capa,b6,b6,_mrb_cptr_value,b6,b6
-,b6,b6,b6,b6,b6,b6,b6,_mrb_ary_splat,_mrb_ary_concat,_mrb_ary_push,b6,b6,_mrb_str_dup,_mrb_str_concat,_mrb_hash_new_capa,b6,b6,b6,b6,b6,_mrb_singleton_class,b6,b6,b6,b6,b6,b6,_mrb_parser_dump,b6,_mrb_ary_s_create
-,_mrb_ary_plus,_mrb_ary_times,_mrb_ary_push_m,_mrb_ary_aget,_mrb_ary_aset,_mrb_ary_clear,_mrb_ary_concat_m,_mrb_ary_delete_at,_mrb_ary_empty_p,_mrb_ary_first,_mrb_ary_index_m,_mrb_ary_replace_m,_mrb_ary_join_m,_mrb_ary_last,_mrb_ary_size,_mrb_ary_pop,_mrb_ary_reverse,_mrb_ary_reverse_bang,_mrb_ary_rindex_m,_mrb_ary_shift,_mrb_ary_unshift_m,_mrb_ary_eq,_mrb_ary_cmp,_get_backtrace_i,_mrb_bob_init,_mrb_bob_not,_mrb_bob_missing,_mrb_class_new_class,_mrb_class_superclass,_mrb_instance_new
-,_mrb_class_initialize,_mrb_mod_cvar_defined,_mrb_mod_cvar_get,_mrb_mod_cvar_set,_mrb_mod_extend_object,_mrb_mod_prepend,_mrb_mod_prepend_features,_mrb_mod_include,_mrb_mod_include_p,_mrb_mod_append_features,_mrb_mod_module_eval,_mrb_mod_included_modules,_mrb_mod_initialize,_mrb_mod_instance_methods,_mrb_mod_method_defined,_mrb_mod_module_function,_mrb_mod_dummy_visibility,_mrb_mod_remove_cvar,_mrb_mod_remove_method,_mrb_mod_attr_reader,_mrb_mod_attr_writer,_mrb_mod_to_s,_mrb_mod_alias,_mrb_mod_ancestors,_mrb_mod_undef,_mrb_mod_const_defined,_mrb_mod_const_get,_mrb_mod_const_set,_mrb_mod_constants,_mrb_mod_remove_const
-,_mrb_mod_const_missing,_mod_define_method,_mrb_mod_class_variables,_mrb_mod_eqq,_mrb_mod_s_constants,_attr_reader,_attr_writer,_exc_exception,_exc_initialize,_exc_to_s,_exc_message,_exc_inspect,_mrb_exc_backtrace,_mrb_any_to_s,_mrb_f_block_given_p_m,_mrb_f_global_variables,_mrb_local_variables,_mrb_f_raise,_mrb_obj_equal_m,_mrb_obj_not_equal_m,_mrb_equal_m,_mrb_obj_id_m,_mrb_f_send,_mrb_obj_class_m,_mrb_obj_clone,_mrb_obj_dup,_mrb_obj_extend_m,_mrb_obj_hash,_mrb_obj_init_copy,_mrb_obj_inspect
-,_mrb_obj_instance_eval,_obj_is_instance_of,_mrb_obj_ivar_defined,_mrb_obj_ivar_get,_mrb_obj_ivar_set,_mrb_obj_instance_variables,_mrb_obj_is_kind_of_m,_mrb_obj_methods_m,_mrb_false,_mrb_obj_private_methods,_mrb_obj_protected_methods,_mrb_obj_public_methods,_mrb_obj_remove_instance_variable,_obj_respond_to,_mrb_obj_singleton_methods_m,_mod_define_singleton_method,_mrb_obj_ceqq,_mrb_proc_initialize,_mrb_proc_init_copy,_mrb_proc_arity,_proc_lambda,_mrb_range_beg,_mrb_range_end,_mrb_range_eq,_mrb_range_include,_mrb_range_excl,_mrb_range_initialize,_range_to_s,_range_inspect,_range_eql
-,_range_initialize_copy,b6,_codegen,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
-,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
-,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
-,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
-,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
-,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6
-,b6,b6,b6];
-var FUNCTION_TABLE_iiiii = [b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
-,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
-,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,_mrb_default_allocf,b7,b7,b7,b7,b7,b7
-,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
-,b7,b7,b7,b7,b7,_iv_mark_i,_inspect_i,_iv_i,_cv_i,_const_i,_gv_i,_csym_i,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
-,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
-,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,_mrb_vm_define_class,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
-,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7
-,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7,b7];
-var FUNCTION_TABLE_viiiiii = [b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
-,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
-,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
-,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
-,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
-,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,_mrb_convert_type,b8,b8,b8,b8
-,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
-,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8
-,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8,b8];
-var FUNCTION_TABLE_iii = [b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
-,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
-,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
-,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
-,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,_mrb_class_get,b9,b9,_mrb_class_423,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
-,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,_uvenv,b9,b9,b9,_mrb_closure_new,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
-,_top_env,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,_mrb_proc_new,b9,b9,b9,b9,b9,_printf,b9,b9,b9,b9,b9,b9,b9
-,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9
-,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9,b9];
-var FUNCTION_TABLE_viiii = [b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
-,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
-,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
-,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
-,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,_mrb_raisef,b10,b10,b10,b10,b10,b10,b10,b10,b10,_mrb_run,b10
-,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,_mrb_const_get,_mrb_const_set,b10,b10,b10,b10,b10,b10,_mrb_ary_new_from_values,_mrb_method_missing,_mrb_ary_unshift,b10,_mrb_str_new_static,_mrb_exc_new_str,b10,b10,b10,b10,_mrb_obj_iv_ifnone,b10
-,b10,b10,b10,_mrb_str_plus,b10,_mrb_fixnum_mul,b10,b10,b10,b10,_mrb_ary_ref,_mrb_ary_set,b10,b10,b10,_mrb_hash_set,b10,b10,b10,_mrb_define_method_raw,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
-,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10
-,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10,b10];
-
-  return { _main: _main, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _fflush: _fflush, _memset: _memset, _sbrk: _sbrk, _memcpy: _memcpy, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, ___uremdi3: ___uremdi3, _i64Subtract: _i64Subtract, ___udivmoddi4: ___udivmoddi4, _realloc: _realloc, _i64Add: _i64Add, _emscripten_get_global_libc: _emscripten_get_global_libc, ___udivdi3: ___udivdi3, ___errno_location: ___errno_location, ___muldsi3: ___muldsi3, _testSetjmp: _testSetjmp, _saveSetjmp: _saveSetjmp, _free: _free, _memmove: _memmove, _malloc: _malloc, runPostSets: runPostSets, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setTempRet0: setTempRet0, getTempRet0: getTempRet0, setThrew: setThrew, stackAlloc: stackAlloc, stackSave: stackSave, stackRestore: stackRestore, establishStackSpace: establishStackSpace, setThrew: setThrew, setTempRet0: setTempRet0, getTempRet0: getTempRet0, dynCall_iiii: dynCall_iiii, dynCall_viiiiiii: dynCall_viiiiiii, dynCall_viiiii: dynCall_viiiii, dynCall_vi: dynCall_vi, dynCall_vii: dynCall_vii, dynCall_ii: dynCall_ii, dynCall_viii: dynCall_viii, dynCall_iiiii: dynCall_iiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_iii: dynCall_iii, dynCall_viiii: dynCall_viiii };
-})
-// EMSCRIPTEN_END_ASM
-(Module.asmGlobalArg, Module.asmLibraryArg, buffer);
-
-var real__main = asm["_main"]; asm["_main"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__main.apply(null, arguments);
-};
-
-var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real_stackSave.apply(null, arguments);
-};
-
-var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real_getTempRet0.apply(null, arguments);
-};
-
-var real__llvm_cttz_i32 = asm["_llvm_cttz_i32"]; asm["_llvm_cttz_i32"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__llvm_cttz_i32.apply(null, arguments);
-};
-
-var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real_setThrew.apply(null, arguments);
-};
-
-var real__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__bitshift64Lshr.apply(null, arguments);
-};
-
-var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__bitshift64Shl.apply(null, arguments);
-};
-
-var real__fflush = asm["_fflush"]; asm["_fflush"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__fflush.apply(null, arguments);
-};
-
-var real__sbrk = asm["_sbrk"]; asm["_sbrk"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__sbrk.apply(null, arguments);
-};
-
-var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__llvm_bswap_i32.apply(null, arguments);
-};
-
-var real____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real____muldi3.apply(null, arguments);
-};
-
-var real____uremdi3 = asm["___uremdi3"]; asm["___uremdi3"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real____uremdi3.apply(null, arguments);
-};
-
-var real_stackAlloc = asm["stackAlloc"]; asm["stackAlloc"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real_stackAlloc.apply(null, arguments);
-};
-
-var real__i64Subtract = asm["_i64Subtract"]; asm["_i64Subtract"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__i64Subtract.apply(null, arguments);
-};
-
-var real____udivmoddi4 = asm["___udivmoddi4"]; asm["___udivmoddi4"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real____udivmoddi4.apply(null, arguments);
-};
-
-var real_setTempRet0 = asm["setTempRet0"]; asm["setTempRet0"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real_setTempRet0.apply(null, arguments);
-};
-
-var real__realloc = asm["_realloc"]; asm["_realloc"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__realloc.apply(null, arguments);
-};
-
-var real__i64Add = asm["_i64Add"]; asm["_i64Add"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__i64Add.apply(null, arguments);
-};
-
-var real__emscripten_get_global_libc = asm["_emscripten_get_global_libc"]; asm["_emscripten_get_global_libc"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__emscripten_get_global_libc.apply(null, arguments);
-};
-
-var real____udivdi3 = asm["___udivdi3"]; asm["___udivdi3"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real____udivdi3.apply(null, arguments);
-};
-
-var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real____errno_location.apply(null, arguments);
-};
-
-var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real____muldsi3.apply(null, arguments);
-};
-
-var real__testSetjmp = asm["_testSetjmp"]; asm["_testSetjmp"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__testSetjmp.apply(null, arguments);
-};
-
-var real__saveSetjmp = asm["_saveSetjmp"]; asm["_saveSetjmp"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__saveSetjmp.apply(null, arguments);
-};
-
-var real__free = asm["_free"]; asm["_free"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__free.apply(null, arguments);
-};
-
-var real_establishStackSpace = asm["establishStackSpace"]; asm["establishStackSpace"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real_establishStackSpace.apply(null, arguments);
-};
-
-var real__memmove = asm["_memmove"]; asm["_memmove"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__memmove.apply(null, arguments);
-};
-
-var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real_stackRestore.apply(null, arguments);
-};
-
-var real__malloc = asm["_malloc"]; asm["_malloc"] = function() {
-assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)');
-assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)');
-return real__malloc.apply(null, arguments);
-};
-var _main = Module["_main"] = asm["_main"];
-var stackSave = Module["stackSave"] = asm["stackSave"];
-var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"];
-var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"];
-var setThrew = Module["setThrew"] = asm["setThrew"];
-var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];
-var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];
-var _fflush = Module["_fflush"] = asm["_fflush"];
-var _memset = Module["_memset"] = asm["_memset"];
-var _sbrk = Module["_sbrk"] = asm["_sbrk"];
-var _memcpy = Module["_memcpy"] = asm["_memcpy"];
-var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];
-var ___muldi3 = Module["___muldi3"] = asm["___muldi3"];
-var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"];
-var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"];
-var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];
-var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"];
-var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"];
-var _realloc = Module["_realloc"] = asm["_realloc"];
-var _i64Add = Module["_i64Add"] = asm["_i64Add"];
-var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"];
-var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"];
-var ___errno_location = Module["___errno_location"] = asm["___errno_location"];
-var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"];
-var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"];
-var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"];
-var _free = Module["_free"] = asm["_free"];
-var runPostSets = Module["runPostSets"] = asm["runPostSets"];
-var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"];
-var _memmove = Module["_memmove"] = asm["_memmove"];
-var stackRestore = Module["stackRestore"] = asm["stackRestore"];
-var _malloc = Module["_malloc"] = asm["_malloc"];
-var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];
-var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"];
-var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];
-var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];
-var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];
-var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];
-var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];
-var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"];
-var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"];
-var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];
-var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"];
-;
-
-Runtime.stackAlloc = Module['stackAlloc'];
-Runtime.stackSave = Module['stackSave'];
-Runtime.stackRestore = Module['stackRestore'];
-Runtime.establishStackSpace = Module['establishStackSpace'];
-
-Runtime.setTempRet0 = Module['setTempRet0'];
-Runtime.getTempRet0 = Module['getTempRet0'];
+    stackRestore(sp);
+    if (e !== e+0 && e !== 'longjmp') throw e;
+    _setThrew(1, 0);
+  }
+}
+
 
 
@@ -111221,59 +5634,195 @@
 // === Auto-generated postamble setup entry stuff ===
 
-Module['asm'] = asm;
-
-
-
-
-
+
+if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "ccall")) Module["ccall"] = function() { abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "cwrap")) Module["cwrap"] = function() { abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+Module["getMemory"] = getMemory;
+if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+Module["addRunDependency"] = addRunDependency;
+Module["removeRunDependency"] = removeRunDependency;
+Module["FS_createFolder"] = FS.createFolder;
+Module["FS_createPath"] = FS.createPath;
+Module["FS_createDataFile"] = FS.createDataFile;
+Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
+Module["FS_createLazyFile"] = FS.createLazyFile;
+Module["FS_createLink"] = FS.createLink;
+Module["FS_createDevice"] = FS.createDevice;
+Module["FS_unlink"] = FS.unlink;
+if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "addFunction")) Module["addFunction"] = function() { abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "removeFunction")) Module["removeFunction"] = function() { abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stringToNewUTF8")) Module["stringToNewUTF8"] = function() { abort("'stringToNewUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "abortOnCannotGrowMemory")) Module["abortOnCannotGrowMemory"] = function() { abort("'abortOnCannotGrowMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "emscripten_realloc_buffer")) Module["emscripten_realloc_buffer"] = function() { abort("'emscripten_realloc_buffer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "ERRNO_CODES")) Module["ERRNO_CODES"] = function() { abort("'ERRNO_CODES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "ERRNO_MESSAGES")) Module["ERRNO_MESSAGES"] = function() { abort("'ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "setErrNo")) Module["setErrNo"] = function() { abort("'setErrNo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "DNS")) Module["DNS"] = function() { abort("'DNS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "GAI_ERRNO_MESSAGES")) Module["GAI_ERRNO_MESSAGES"] = function() { abort("'GAI_ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "Protocols")) Module["Protocols"] = function() { abort("'Protocols' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "Sockets")) Module["Sockets"] = function() { abort("'Sockets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "UNWIND_CACHE")) Module["UNWIND_CACHE"] = function() { abort("'UNWIND_CACHE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "readAsmConstArgs")) Module["readAsmConstArgs"] = function() { abort("'readAsmConstArgs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "jstoi_q")) Module["jstoi_q"] = function() { abort("'jstoi_q' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "jstoi_s")) Module["jstoi_s"] = function() { abort("'jstoi_s' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "listenOnce")) Module["listenOnce"] = function() { abort("'listenOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "autoResumeAudioContext")) Module["autoResumeAudioContext"] = function() { abort("'autoResumeAudioContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "abortStackOverflow")) Module["abortStackOverflow"] = function() { abort("'abortStackOverflow' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "reallyNegative")) Module["reallyNegative"] = function() { abort("'reallyNegative' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "formatString")) Module["formatString"] = function() { abort("'formatString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "PATH")) Module["PATH"] = function() { abort("'PATH' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "PATH_FS")) Module["PATH_FS"] = function() { abort("'PATH_FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "SYSCALLS")) Module["SYSCALLS"] = function() { abort("'SYSCALLS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "syscallMmap2")) Module["syscallMmap2"] = function() { abort("'syscallMmap2' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "syscallMunmap")) Module["syscallMunmap"] = function() { abort("'syscallMunmap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "JSEvents")) Module["JSEvents"] = function() { abort("'JSEvents' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "specialHTMLTargets")) Module["specialHTMLTargets"] = function() { abort("'specialHTMLTargets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "demangle")) Module["demangle"] = function() { abort("'demangle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "demangleAll")) Module["demangleAll"] = function() { abort("'demangleAll' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "jsStackTrace")) Module["jsStackTrace"] = function() { abort("'jsStackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "getEnvStrings")) Module["getEnvStrings"] = function() { abort("'getEnvStrings' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "checkWasiClock")) Module["checkWasiClock"] = function() { abort("'checkWasiClock' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64")) Module["writeI53ToI64"] = function() { abort("'writeI53ToI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64Clamped")) Module["writeI53ToI64Clamped"] = function() { abort("'writeI53ToI64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToI64Signaling")) Module["writeI53ToI64Signaling"] = function() { abort("'writeI53ToI64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToU64Clamped")) Module["writeI53ToU64Clamped"] = function() { abort("'writeI53ToU64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "writeI53ToU64Signaling")) Module["writeI53ToU64Signaling"] = function() { abort("'writeI53ToU64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "readI53FromI64")) Module["readI53FromI64"] = function() { abort("'readI53FromI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "readI53FromU64")) Module["readI53FromU64"] = function() { abort("'readI53FromU64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "convertI32PairToI53")) Module["convertI32PairToI53"] = function() { abort("'convertI32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "convertU32PairToI53")) Module["convertU32PairToI53"] = function() { abort("'convertU32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "Browser")) Module["Browser"] = function() { abort("'Browser' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "MEMFS")) Module["MEMFS"] = function() { abort("'MEMFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "TTY")) Module["TTY"] = function() { abort("'TTY' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "PIPEFS")) Module["PIPEFS"] = function() { abort("'PIPEFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "SOCKFS")) Module["SOCKFS"] = function() { abort("'SOCKFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGet")) Module["emscriptenWebGLGet"] = function() { abort("'emscriptenWebGLGet' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetTexPixelData")) Module["emscriptenWebGLGetTexPixelData"] = function() { abort("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetUniform")) Module["emscriptenWebGLGetUniform"] = function() { abort("'emscriptenWebGLGetUniform' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "emscriptenWebGLGetVertexAttrib")) Module["emscriptenWebGLGetVertexAttrib"] = function() { abort("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "writeGLArray")) Module["writeGLArray"] = function() { abort("'writeGLArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "AL")) Module["AL"] = function() { abort("'AL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "SDL_unicode")) Module["SDL_unicode"] = function() { abort("'SDL_unicode' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "SDL_ttfContext")) Module["SDL_ttfContext"] = function() { abort("'SDL_ttfContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "SDL_audio")) Module["SDL_audio"] = function() { abort("'SDL_audio' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "SDL")) Module["SDL"] = function() { abort("'SDL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "SDL_gfx")) Module["SDL_gfx"] = function() { abort("'SDL_gfx' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "GLUT")) Module["GLUT"] = function() { abort("'GLUT' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "EGL")) Module["EGL"] = function() { abort("'EGL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "GLFW_Window")) Module["GLFW_Window"] = function() { abort("'GLFW_Window' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "GLFW")) Module["GLFW"] = function() { abort("'GLFW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "GLEW")) Module["GLEW"] = function() { abort("'GLEW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "IDBStore")) Module["IDBStore"] = function() { abort("'IDBStore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "runAndAbortIfError")) Module["runAndAbortIfError"] = function() { abort("'runAndAbortIfError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8OnStack")) Module["allocateUTF8OnStack"] = function() { abort("'allocateUTF8OnStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };
+Module["writeStackCookie"] = writeStackCookie;
+Module["checkStackCookie"] = checkStackCookie;if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { configurable: true, get: function() { abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
+if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { configurable: true, get: function() { abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
+if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { configurable: true, get: function() { abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
+if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { configurable: true, get: function() { abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } });
+
+
+
+var calledRun;
+
+/**
+ * @constructor
+ * @this {ExitStatus}
+ */
 function ExitStatus(status) {
   this.name = "ExitStatus";
   this.message = "Program terminated with exit(" + status + ")";
   this.status = status;
-};
-ExitStatus.prototype = new Error();
-ExitStatus.prototype.constructor = ExitStatus;
-
-var initialStackTop;
-var preloadStartTime = null;
+}
+
 var calledMain = false;
+
 
 dependenciesFulfilled = function runCaller() {
   // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false)
-  if (!Module['calledRun']) run();
-  if (!Module['calledRun']) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
-}
-
-Module['callMain'] = Module.callMain = function callMain(args) {
-  assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on __ATMAIN__)');
+  if (!calledRun) run();
+  if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled
+};
+
+function callMain(args) {
+  assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])');
   assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called');
 
+  var entryFunction = Module['_main'];
+
+
   args = args || [];
 
-  ensureInitRuntime();
-
   var argc = args.length+1;
-  function pad() {
-    for (var i = 0; i < 4-1; i++) {
-      argv.push(0);
-    }
-  }
-  var argv = [allocate(intArrayFromString(Module['thisProgram']), 'i8', ALLOC_NORMAL) ];
-  pad();
-  for (var i = 0; i < argc-1; i = i + 1) {
-    argv.push(allocate(intArrayFromString(args[i]), 'i8', ALLOC_NORMAL));
-    pad();
-  }
-  argv.push(0);
-  argv = allocate(argv, 'i32', ALLOC_NORMAL);
-
+  var argv = stackAlloc((argc + 1) * 4);
+  HEAP32[argv >> 2] = allocateUTF8OnStack(thisProgram);
+  for (var i = 1; i < argc; i++) {
+    HEAP32[(argv >> 2) + i] = allocateUTF8OnStack(args[i - 1]);
+  }
+  HEAP32[(argv >> 2) + argc] = 0;
 
   try {
 
-    var ret = Module['_main'](argc, argv, 0);
-
-
+    Module['___set_stack_limit'](STACK_MAX);
+
+    var ret = entryFunction(argc, argv);
+
+
+    // In PROXY_TO_PTHREAD builds, we should never exit the runtime below, as execution is asynchronously handed
+    // off to a pthread.
     // if we're not running an evented main loop, it's time to exit
-    exit(ret, /* implicit = */ true);
+      exit(ret, /* implicit = */ true);
   }
   catch(e) {
@@ -111282,7 +5831,7 @@
       // has been stopped completely
       return;
-    } else if (e == 'SimulateInfiniteLoop') {
+    } else if (e == 'unwind') {
       // running an evented main loop, don't immediately exit
-      Module['noExitRuntime'] = true;
+      noExitRuntime = true;
       return;
     } else {
@@ -111291,6 +5840,6 @@
         toLog = [e, e.stack];
       }
-      Module.printErr('exception thrown: ' + toLog);
-      Module['quit'](1, e);
+      err('exception thrown: ' + toLog);
+      quit_(1, e);
     }
   } finally {
@@ -111302,11 +5851,9 @@
 
 
+/** @type {function(Array=)} */
 function run(args) {
-  args = args || Module['arguments'];
-
-  if (preloadStartTime === null) preloadStartTime = Date.now();
+  args = args || arguments_;
 
   if (runDependencies > 0) {
-    Module.printErr('run() called, but dependencies remain, so not running');
     return;
   }
@@ -111317,23 +5864,21 @@
 
   if (runDependencies > 0) return; // a preRun added a dependency, run will be called later
-  if (Module['calledRun']) return; // run may have just been called through dependencies being fulfilled just in this very frame
 
   function doRun() {
-    if (Module['calledRun']) return; // run may have just been called while the async setStatus time below was happening
+    // run may have just been called through dependencies being fulfilled just in this very frame,
+    // or while the async setStatus time below was happening
+    if (calledRun) return;
+    calledRun = true;
     Module['calledRun'] = true;
 
     if (ABORT) return;
 
-    ensureInitRuntime();
+    initRuntime();
 
     preMain();
 
-    if (ENVIRONMENT_IS_WEB && preloadStartTime !== null) {
-      Module.printErr('pre-main prep time: ' + (Date.now() - preloadStartTime) + ' ms');
-    }
-
     if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized']();
 
-    if (Module['_main'] && shouldRunNow) Module['callMain'](args);
+    if (shouldRunNow) callMain(args);
 
     postRun();
@@ -111348,24 +5893,74 @@
       doRun();
     }, 1);
-  } else {
+  } else
+  {
     doRun();
   }
   checkStackCookie();
 }
-Module['run'] = Module.run = run;
-
+Module['run'] = run;
+
+function checkUnflushedContent() {
+  // Compiler settings do not allow exiting the runtime, so flushing
+  // the streams is not possible. but in ASSERTIONS mode we check
+  // if there was something to flush, and if so tell the user they
+  // should request that the runtime be exitable.
+  // Normally we would not even include flush() at all, but in ASSERTIONS
+  // builds we do so just for this check, and here we see if there is any
+  // content to flush, that is, we check if there would have been
+  // something a non-ASSERTIONS build would have not seen.
+  // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0
+  // mode (which has its own special function for this; otherwise, all
+  // the code is inside libc)
+  var print = out;
+  var printErr = err;
+  var has = false;
+  out = err = function(x) {
+    has = true;
+  }
+  try { // it doesn't matter if it fails
+    var flush = Module['_fflush'];
+    if (flush) flush(0);
+    // also flush in the JS FS layer
+    ['stdout', 'stderr'].forEach(function(name) {
+      var info = FS.analyzePath('/dev/' + name);
+      if (!info) return;
+      var stream = info.object;
+      var rdev = stream.rdev;
+      var tty = TTY.ttys[rdev];
+      if (tty && tty.output && tty.output.length) {
+        has = true;
+      }
+    });
+  } catch(e) {}
+  out = print;
+  err = printErr;
+  if (has) {
+    warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.');
+  }
+}
+
+/** @param {boolean|number=} implicit */
 function exit(status, implicit) {
-  if (implicit && Module['noExitRuntime']) {
-    Module.printErr('exit(' + status + ') implicitly called by end of main(), but noExitRuntime, so not exiting the runtime (you can use emscripten_force_exit, if you want to force a true shutdown)');
+  checkUnflushedContent();
+
+  // if this is just main exit-ing implicitly, and the status is 0, then we
+  // don't need to do anything here and can just leave. if the status is
+  // non-zero, though, then we need to report it.
+  // (we may have warned about this earlier, if a situation justifies doing so)
+  if (implicit && noExitRuntime && status === 0) {
     return;
   }
 
-  if (Module['noExitRuntime']) {
-    Module.printErr('exit(' + status + ') called, but noExitRuntime, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)');
+  if (noExitRuntime) {
+    // if exit() was called, we may warn the user if the runtime isn't actually being shut down
+    if (!implicit) {
+      var msg = 'program exited (with status: ' + status + '), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)';
+      err(msg);
+    }
   } else {
 
     ABORT = true;
     EXITSTATUS = status;
-    STACKTOP = initialStackTop;
 
     exitRuntime();
@@ -111374,38 +5969,6 @@
   }
 
-  if (ENVIRONMENT_IS_NODE) {
-    process['exit'](status);
-  }
-  Module['quit'](status, new ExitStatus(status));
-}
-Module['exit'] = Module.exit = exit;
-
-var abortDecorators = [];
-
-function abort(what) {
-  if (what !== undefined) {
-    Module.print(what);
-    Module.printErr(what);
-    what = JSON.stringify(what)
-  } else {
-    what = '';
-  }
-
-  ABORT = true;
-  EXITSTATUS = 1;
-
-  var extra = '';
-
-  var output = 'abort(' + what + ') at ' + stackTrace() + extra;
-  if (abortDecorators) {
-    abortDecorators.forEach(function(decorator) {
-      output = decorator(output, what);
-    });
-  }
-  throw output;
-}
-Module['abort'] = Module.abort = abort;
-
-// {{PRE_RUN_ADDITIONS}}
+  quit_(status, new ExitStatus(status));
+}
 
 if (Module['preInit']) {
@@ -111418,12 +5981,12 @@
 // shouldRunNow refers to calling main(), not run().
 var shouldRunNow = true;
-if (Module['noInitialRun']) {
-  shouldRunNow = false;
-}
-
+
+if (Module['noInitialRun']) shouldRunNow = false;
+
+
+  noExitRuntime = true;
 
 run();
 
-// {{POST_RUN_ADDITIONS}}
 
 
